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. Brackets and Henrik 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. Brackets and Henrik 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