Commit Graph
233 Commits
Author SHA1 Message Date
Henrik Rydgård 70ec327b40 Vulkan: Slim down and rename the Mali hack. 2019-09-09 00:43:31 +02:00
Henrik Rydgård f76adfd760 Vulkan ARM mali Z hack: Modify the matrix instead of the shader. 2019-09-09 00:09:57 +02:00
Henrik Rydgård 0462c01228 Workaround ARM Mali depth hardware bug. Fixes #11937
When triangles coincide with the Z=1 plane in specific ways, triggered
by Burnout Legends' sky for example, the depth buffer gets corrupted.

This is worked around here by slightly rescaling Z. This type of
workaround is recommended by ARM driver engineers.

Ugly but what can you do when the hardware is bugged. I've done quick
tests on a number of games with no issues.
2019-09-08 23:44:26 +02:00
Unknown W. Brackets 7412e13767 SoftGPU: Implement dithering.
Note: it applies even in 8888, so it can be used as a slight brightness
adjustment.
2019-05-26 09:52:34 -07:00
Unknown W. Brackets 0f880696be SoftGPU: Respect stencil write mask on test fail. 2018-12-16 13:13:54 -08:00
Unknown W. Brackets 9a4cd5bd9d GPU: Skip specular on powered diffuse.
Matches hardware tests and improves lighting for Virtua Tennis, see #4140.
2018-11-22 07:59:56 -08:00
Henrik RydgårdandGitHub 22c066515e Merge pull request #11425 from xebra/refactor_spline_bezier
[Refactoring] Improve spline/bezier.
2018-11-04 17:04:29 +01:00
Henrik Rydgård fa40bcff8d Disable triangle range culling on D3D9 on Intel. Should fix #11477 2018-10-21 09:36:15 +02:00
Henrik Rydgård 842290b6dd Workaround for bad int behaviour on Adreno / GLES. (no problems in
Vulkan).

See #11480, should help #11479.
2018-10-20 13:22:14 +02:00
xebra 8ad38dfaae [spline/bezier]oops 2018-10-07 23:54:25 +09:00
xebra d4a667397c [spline/bezier]Improve shader uniforms a bit. 2018-10-07 23:54:10 +09:00
xebra 3c0fb44f2e [spline/bezier]Improve hwtess to use cached weights. 2018-10-07 23:54:05 +09:00
Unknown W. Brackets 77f0499f7f GPU: Rename clipping flag to depth clamp.
It seems to just to depth clamp.  When depth clamp happens, it affects
clipping a little, but only for vertices that needed clamping.
2018-08-05 17:11:51 -07:00
Henrik Rydgård 698bd75209 Fix regression caused by the new depal code for Vulkan. Fixes #10993 2018-05-04 22:24:11 +02:00
Henrik Rydgård 29c41c6a35 Implement shader depal for Vulkan. See #10908. Bilinear filter not yet implemented. 2018-04-13 14:19:01 +02:00
Henrik Rydgård 36fd2711d6 Revert "Remove further remains of hardware skinning."
This reverts commit 40db61a680.
2018-04-10 12:22:41 +02:00
Henrik Rydgård 7de3edb46c Revert "Remove gstate_c.deferredVertTypeDirty"
This reverts commit fcdb816235.
2018-04-10 12:22:41 +02:00
Henrik Rydgård 8ff5704fbf Fix indentation mistake, minor cleanup. 2018-03-05 00:03:47 +01:00
Henrik Rydgård fcdb816235 Remove gstate_c.deferredVertTypeDirty 2018-03-05 00:03:47 +01:00
Henrik Rydgård 40db61a680 Remove further remains of hardware skinning. Fixes #10661 2018-03-05 00:03:47 +01:00
Unknown W. Brackets b94ca6e75e Vulkan: Use depth clamping, where available.
This fixes, for example, Shadow of Destiny, even without the hack.
2017-12-26 16:54:39 -08:00
Henrik Rydgård 5c1dad9909 Remove more obsolete ifdefs 2017-12-19 17:59:00 +01:00
Henrik Rydgård b75c8b72c6 Fix another little inconsistency (two uniforms were merged for bad reasons) 2017-12-07 21:39:09 +01:00
Henrik Rydgård 7b2ad5fe72 Add some debug asserts, useful for debugging shader mismatches locally (though haven't found any..) 2017-12-01 00:28:07 +01:00
Henrik Rydgård b52b8b1329 Unbreak save states, fix other minor issues from review 2017-11-25 12:13:02 +01:00
Henrik Rydgård 28b60a724f Process immediate draw commands. Not yet sending to graphics backends. 2017-11-24 17:54:56 +01:00
Unknown W. Brackets 9fbcc01afa TexCache: Remove simple 0/1 alpha check.
No practical optimizations have come of this, so it's a waste of time.
Slows down Vulkan too.
2017-11-12 16:17:46 -08:00
Henrik Rydgård 6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02:00
Henrik Rydgard 078e1151f9 Dirty-flag the fragment shader ID. 2017-08-14 11:36:07 +02:00
Henrik Rydgard 4e55654522 Add some missing VIEWPORTSCISSOR dirtying. 2017-08-14 11:35:11 +02:00
Unknown W. Brackets 34fe95192f GPU: Cleanup some gstate accesses. 2017-05-26 19:03:04 -07:00
Unknown W. Brackets 1a56466865 SoftGPU: Match GLES lighting better, use floats.
Using floats simplifies things and also makes it faster.
2017-05-13 12:54:18 -07:00
Unknown W. Brackets ae4c28aa4d D3D9: Support AUTO mip bias and approximate CONST. 2017-04-22 18:38:08 -07:00
Henrik Rydgård 5a8e9c4f71 Port some accessors over from #9255 to be able to catch these changes and dirty state later. 2017-04-03 17:04:58 +02:00
Unknown W. Brackets d4ff7cc928 Spline: Simplify uniforms/dirty to one check.
This makes backends more consistent in which values they use, and reduces
the (relatively uncommon compared to other drawcalls) dirty checks for
splines.
2017-03-19 20:05:56 -07:00
Henrik Rydgard f24b1495ba Assorted texture format cleanup, prep for supporting D3D11 on Win7 2017-02-22 16:23:04 +01:00
Henrik Rydgard 6a09d45aee D3D11: Add proper checks for B4G4R4A4 format support. Not yet using the checks. 2017-02-18 01:41:08 +01:00
xebra 82bb6cbaad Fix #9275 2017-02-03 16:37:10 +09:00
xebra 1c1139870c Modify gpu features flags checker to allow multi flags. 2017-02-01 22:36:27 +09:00
xebra 4fbc92d3f0 Revert gpu features flags to 32-bit. 2017-02-01 00:14:38 +09:00
xebra 159aa1415d [spline/bezier]Add some gpu features flags for Instanced Tessellation. 2017-01-31 23:37:06 +09:00
xebra ce27f7b0b5 Expand gpu features flags to 64-bit. 2017-01-31 23:37:06 +09:00
Henrik Rydgard 9c55e1e0de Only enable RAM Clears for the SOCOM games that require it.
Should remove the performance impact of #8994 which is bigger than
expected, it seems (cache pollution?)
2017-01-28 10:11:43 +01:00
Henrik Rydgard e4cb44c243 Merge the texture flags into the dirty flags 2017-01-24 18:12:20 +01:00
Henrik Rydgard c289a2c7bf Split TextureChanged into two bools, so we can later convert to dirtyflags 2017-01-24 18:12:20 +01:00
Henrik Rydgard 7d60ec73be Move framebufChanged into the dirty flag field 2017-01-24 18:12:20 +01:00
Henrik Rydgard b423998c36 Move uniform dirty-flag to gstate_c, opening up for other uses. 2017-01-24 18:12:20 +01:00
Henrik Rydgard bd4436c6eb Centralize EstimatePerVertexCost and Execute_BlockTransferStart 2017-01-23 17:22:17 +01:00
xebraandHenrik Rydgård b78e184c51 [spline/bezier]Add some variables in gpu state cache for hardware tessellation. 2017-01-23 14:12:02 +01:00
Unknown W. BracketsandHenrik Rydgard 82f3df1e06 Vulkan: Initial support for aniso filtering. 2016-03-20 19:31:02 +01:00