Commit graph

33 commits

Author SHA1 Message Date
Henrik Rydgård
d82ec339ee Remove the DisableShaderCache setting, rename the other 2018-12-15 10:44:05 +01:00
Henrik Rydgård
25b2ba013b VK: Add INI options to disable some vendor checks, and to disable the shader cache. 2018-12-11 00:36:15 +01:00
Unknown W. Brackets
9a7ee41191 Vulkan: Avoid OpKill workaround with no stencil.
It seems like depth gets messed up either way on discard, but behaves
sorta better without the write to depth.
2018-12-01 14:10:47 -08:00
Henrik Rydgård
5975f471e2 Vulkan: Only apply the depth workaround on Qualcomm devices (adreno)
We've seen issues, and the validation layer still doesn't like them very much...
2018-09-18 23:46:45 +02:00
Unknown W. Brackets
022670d882 GPU: Apply fog before color test.
Hardware tests confirm the fog result is what's color tested.
2018-09-09 23:59:48 -07:00
Unknown W. Brackets
8eb011c22d GPU: Clamp after color doubling.
This is needed for blending to be correct - it blends a clamped value.
2018-09-09 20:27:39 -07:00
Unknown W. Brackets
703181607e GPU: Apply color test after doubling. 2018-09-09 20:09:48 -07:00
Unknown W. Brackets
5ad948df73 Vulkan: Avoid discard when we can blend.
Where possible, replace alpha and color testing with a zero alpha value.

This allows early fragment tests more often, which may help #11227.  It
may also generally help performance on PowerVR devices.
2018-07-27 20:04:36 -07:00
Unknown W. Brackets
06340bfa9c Vulkan: Workaround Adreno discard bug. (#11197)
This also explicitly enables early fragment tests when possible.  Using
conversative depth still works on Adreno and should allow some depth
optimizations.
2018-06-20 09:05:27 +02:00
Henrik Rydgård
061f92c177 Minor code simplification 2018-05-14 21:19:48 +02:00
Henrik Rydgård
011e57c0e7 Always specify GLSL version 450 when compiling Vulkan shaders.
Bit of a risky change so late in the game but it's wrong, it needs fixing.
See for example the comments to fb7a63bd11
2018-05-13 20:42:17 +02:00
Henrik Rydgård
b64841e8cc Minor optimization 2018-05-07 00:05:35 +02:00
Henrik Rydgård
ed52d9f9fb Shader depal (VUlkan): Apply a half-texel offset when bilinear filtering, fixing #11008
Also skip three texture samples if all indices are equal.
2018-05-06 22:30:20 +02:00
Henrik Rydgård
f17890623c Shader depal: fix bilinear filter coord 2018-04-13 20:57:36 +02:00
Henrik Rydgård
69bd427ca2 Shader depal: Implement bilinear filtering. 2018-04-13 14:19:05 +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
1888d828ec Vulkan: Workaround for bug in Adreno shader compiler affecting color tests.
This comparison should pretty much work as well as the old one, I
believe, if not faster.

Should help #10695
2018-03-19 17:33:08 +01:00
Unknown W. Brackets
496b2bff35 Vulkan: Fix fragment depth rounding.
Was slightly off in the accurate depth path.
2017-12-26 16:19:11 -08:00
Henrik Rydgård
4a0c2ad683 Minor uniform cleanup 2017-12-08 11:54:49 +01:00
Unknown W. Brackets
4731a2918c GPU: Use more typesafe shader IDs.
Since they really are fairly distinct, let's make sure we can't mix them
accidentally.
2017-12-02 09:07:27 -08:00
Henrik Rydgard
24cc3dbc70 Always pass vec3 texcoord between vertex and fragment shader, to allow for some simplification. 2017-01-30 16:03:57 +01:00
Unknown W. Brackets
b1e57a29a4 Handle core profile better in shader generators. 2016-08-08 17:56:10 -07:00
Henrik Rydgard
827481d41d Combined two uniforms to get the base UBO down to 512b, in order to not waste space (nVidia needs 256-byte alignment) 2016-03-20 20:53:46 +01:00
Unknown W. Brackets
baa7132a89 Vulkan: Simplify color testing. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
76d8a87b2f Vulkan: Attempt at fixing dual source blending. Should work but doesn't. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
4c281f16ac Fix mixup with fragment shader ubo variables 2016-03-20 19:30:11 +01:00
Henrik Rydgard
9e34d7d625 Remove remains of FragmentTestCache from Vulkan backend 2016-03-20 19:30:11 +01:00
Henrik Rydgard
ddb36a35a0 Some descriptor binding fixes 2016-03-20 19:30:11 +01:00
Henrik Rydgard
906b259a85 First PSP shaders actually compile 2016-03-20 19:30:11 +01:00
Henrik Rydgard
49f1e702c9 Okay, reached the shader generators 2016-03-20 19:30:11 +01:00
Henrik Rydgard
5216a24590 Back to work on the PSP renderer 2016-03-20 19:30:11 +01:00
Henrik Rydgard
129c706cfc Just some work on the shader generators 2016-03-20 19:26:12 +01:00
Henrik Rydgard
c64064024d Initial vulkan code.
This was squashed from nine commits but using old versions of Vulkan.
2016-03-20 19:18:35 +01:00