Commit Graph
38 Commits
Author SHA1 Message Date
Henrik Rydgård 0e3a84b4a8 Move most GPU things to Common.
It works after the move, on Windows and Android at least.

Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård a1e5f1b052 When going the other way, there can be multiple textures that need updating. 2020-09-01 22:54:36 +02:00
Henrik Rydgård b43698a13d Remove most instances of base/logging.h from Common, Core, GPU, more 2020-08-15 19:08:44 +02:00
Henrik Rydgård 882cc6295e Rename FramebufferVulkan.cpp/h to FramebufferManagerVulkan.cpp/h 2020-08-03 23:22:11 +02:00
Unknown W. Brackets f8ce9b08ba Vulkan: Limit stencil workaround to Adreno 5xx. 2018-12-23 14:11:57 -08:00
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. BracketsandHenrik Rydgård 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 https://github.com/hrydgard/ppsspp/commit/fb7a63bd11ba785209babfe9631956110d46c9bf
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. BracketsandHenrik Rydgard 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