Commit Graph
493 Commits
Author SHA1 Message Date
Henrik Rydgard 03279e1212 Port over the Exynos cacheline size fix from Dolphin. Thanks to lewurm of the mono project for the discovery and original fix.
See https://github.com/dolphin-emu/dolphin/pull/4204 and https://github.com/mono/mono/pull/3549
2016-09-10 09:25:06 +02:00
Henrik Rydgard b264657d56 Implement W^X-compatible path. Works on Windows and Android, hopefully iOS (untested).
Disabled block linking in this mode, can re-enable with some more work later.

To enable W^X on other platforms than iOS, simply change PlatformIsWXExclusive.
2016-08-28 14:52:08 +02:00
Unknown W. Brackets f101e2710c Avoid a c++11 rule violation.
No default args on lambdas, unfortunately...?
2016-08-06 20:01:50 -07:00
Henrik Rydgård eac18489e6 Merge pull request #8867 from unknownbrackets/mpeg
Improve mpeg parsing / corruption issues
2016-08-06 18:14:17 +02:00
Unknown W. Brackets 7127de302e Avoid some unused variable warnings. 2016-08-05 10:48:18 -07:00
Unknown W. Brackets c9a9fc5e44 Allow block transfers to resize framebuffers.
Helps the ending video in Valkyrie Profile.  See #6008.
2016-07-24 15:58:06 -07:00
Unknown W. Brackets 8c6cdd0274 Correct CLUT load size.
Should be measured in 32 bytes not 16 bytes.

See #8850.
2016-07-09 10:13:43 -07:00
Unknown W. Brackets 5ab2676704 Buildfix. 2016-06-25 09:59:20 -07:00
Unknown W. Brackets 4c94cd764d Scale directly into the buffer if possible.
This will be possible in the majority of cases, and avoid an extra copy.
A small cost compared to scaling, but even so.
2016-06-25 08:40:45 -07:00
Unknown W. Brackets 3db69b87d7 Move ScaleAlways to common code. 2016-06-19 11:31:43 -07:00
Unknown W. Brackets 5962093ef5 Centralize the majority of texture decode. 2016-06-19 08:05:54 -07:00
Unknown W. Brackets 339f065a5c Centralize texture deindexing more. 2016-06-19 07:14:31 -07:00
Unknown W. Brackets 6151f8ef9f Allow taking screenshots with a clamped size.
Sometimes 10x is a little on the big side.
2016-06-12 07:09:01 -07:00
Unknown W. Brackets fc77e2f8fc Flag replaced/scaled textures so we don't reuse.
Otherwise, we may try to use the replaceImages path, and end up with a
small updated texture in the top left of a large replaced texture.
2016-06-06 19:35:58 -07:00
Unknown W. Brackets c12f835364 Download single-use renders right away.
Should prevent issues with the memory being reused soon after, hopefully.
See also #8781 and #7695.
2016-06-04 19:36:30 -07:00
Unknown W. Brackets fed0089c81 Rewrite 5551 test mask to 0xFF in more cases.
If nothing else, this may improve cacheability or something, since states
will be more regular.

May somehow help PowerVR in #7740?
2016-05-28 09:11:53 -07:00
Unknown W. Brackets a1fbcc3d93 Avoid directly calling osm from Core/GPU code.
This allows UI to handle the message however it wants to, and reduces
cross linkage issues.
2016-05-27 22:05:30 -07:00
Unknown W. Brackets 4113fd940c Add ugly invalidation workaround for SGS7s.
Otherwise they just crash, and crash often.  Special thanks to Jaaan for
numerous trials to try to find the best way to solve the crashes.
2016-05-23 21:35:28 -07:00
Unknown W. Brackets 68717411b1 Track when we see a clear indicate a size of a vfb. 2016-05-19 21:17:09 -07:00
Unknown W. Brackets 915ff42a9a Detect clears even when outside scissor.
Verified that scissor affects clears as well.  This allows a clear to be
detected in Katamari Damacy.
2016-05-19 20:37:29 -07:00
Unknown W. Brackets 1a26699607 Refactor texture loading to move things around. 2016-05-01 11:17:55 -07:00
Unknown W. Brackets 2e1986d0c8 Fix a few reorder warnings. 2016-05-01 09:50:03 -07:00
Unknown W. Brackets f5b93bc6f0 Remove global num videos hack. 2016-05-01 08:53:48 -07:00
Unknown W. Brackets 99d29356d7 Track video addresses in texture cache. 2016-05-01 08:39:18 -07:00
Unknown W. Brackets f039259a1a Use a same-everywhere quick hash for now. 2016-05-01 00:30:43 -07:00
Unknown W. Brackets 9039dd606f Move TextureReplacer to Core.
Probably makes more sense here after all.
2016-05-01 00:30:40 -07:00
Unknown W. Brackets 5dbc2b9267 Initial support for saving textures to PNGs. 2016-04-30 15:03:39 -07:00
Unknown W. Brackets cf53948cf6 Implement some initial hashing so it's not broken. 2016-04-30 14:19:23 -07:00
Unknown W. Brackets c4e98433b8 Add config to save or load replaced textures. 2016-04-30 14:05:03 -07:00
Unknown W. Brackets bf39e61458 Setup initial structure for texture replacements. 2016-04-30 13:44:31 -07:00
Henrik Rydgård 259c696a35 Merge pull request #8690 from unknownbrackets/spline
Minor spline and bezier accuracy improvements
2016-04-24 09:33:35 +02:00
Unknown W. Brackets ebce8d2753 Don't convert to float with prescale off.
Since we assume we need to normalize, it seems.
2016-04-16 19:00:34 -07:00
Unknown W. Brackets ff802a983a vertexjit: Implement x86 tc morph decoding. 2016-04-16 18:38:08 -07:00
Unknown W. Brackets 614665068a Implement morphing for texcoords.
Tests show that this can be used.
2016-04-16 18:38:06 -07:00
Unknown W. Brackets a0397bce4c Hopefully fix prescale in remasters.
Don't actually have a remaster to test, though.
2016-04-13 23:15:41 -07:00
Unknown W. Brackets 9224eb375f Correct bezier handling for 0 division.
This should still be drawn and treated as 1.
2016-04-10 17:53:50 -07:00
Unknown W. Brackets 0cd44e838b Allow spline subdivisions below 2. 2016-04-10 17:33:34 -07:00
Unknown W. Brackets b1f0d4869c Advance pointers after drawing splines.
Tests show this is just like beziers.
2016-04-10 17:12:48 -07:00
Unknown W. Brackets 868bbb8ebe Advance vertex/index pointers on bezier submit.
Just like other primitives.
2016-04-10 12:59:06 -07:00
Unknown W. Brackets 808c807448 Allow tessellation with less than a 4 factor.
Per tests on real hardware, this is allowed.  It works fine without the
clamping and matches the result on hardware.
2016-04-10 12:10:15 -07:00
Unknown W. Brackets 277b76e2ae Treat GE_PATCHPRIM_UNKNOWN as points.
Confirmed by tests on hardware - although it's doubtful any games use
this type.
2016-04-10 11:58:15 -07:00
Unknown W. Brackets 02995ff083 Tiny cleanup to indexgen. 2016-04-10 02:30:33 -07:00
Unknown W. Brackets 1e0051a792 Add support for 32-bit indices.
Not clear how often these are used by games.  Let's find out.
2016-04-10 02:24:58 -07:00
Henrik Rydgard d85dce0c21 Add limited support for newly discovered 32-bit index buffer format (by unknownbrackets)
See https://github.com/hrydgard/pspautotests/pull/184

Will truncate indices past 65536.
2016-04-10 11:03:07 +02:00
Unknown W. Brackets c0660c5ee7 Simplify some repeated code patterns a bit.
Doesn't save many lines of actual code, though...
2016-04-09 22:25:10 -07:00
Unknown W. Brackets 555c76d439 Use bernstein for texcoord interpolation too.
This also closely matches hardware.
2016-04-09 22:14:15 -07:00
Unknown W. Brackets 2314a0f0ee Update note per hardware testing. 2016-04-09 21:46:50 -07:00
Unknown W. Brackets 2bafba3909 Interpolate bezier patch colors using bernstein.
This closely matches hardware (some color values seem to be off by one.)

See #7525.
2016-04-09 21:41:49 -07:00
Unknown W. Brackets 59d9524308 Switch bernsteins to use sse-friendly Vec3f. 2016-04-09 21:10:52 -07:00
Henrik Rydgard 731af0d0b4 Add some infrastructure for 2D drawing, to be used by the Vulkan framebuffer manager 2016-03-31 00:49:10 +02:00