Henrik Rydgård
26884150d7
Remove the 0th descriptor set, move everything else back to 0
2022-12-16 13:05:40 +01:00
Unknown W. Brackets
eae85836c9
GPU: Add a small error-compensation to depth clip.
...
This was causing a depth that should've calculated as zero to be clipped,
because the multiply and division resulted in a value that was off by
about 2 / pow(2, 24) in the negative direction.
2022-11-12 20:01:46 -08:00
Henrik Rydgård
4e8f97d64d
Output shader descriptions directly in the source code
2022-11-08 00:21:08 +01:00
Henrik Rydgård
7967da0f6f
Vulkan: Fix descriptor set binding in geometry shader generator. Should fix #16315
2022-11-01 13:43:48 +01:00
Henrik Rydgård
ecf2797173
Minor refactor of ShaderWriter flags. Extracted from the stereo PR
2022-10-23 21:57:01 +02:00
Henrik Rydgård
3af86ec6f7
Make it possible to specify extensions for Vulkan in the ShaderWriter
2022-10-22 17:46:57 +02:00
Henrik Rydgård
9b8a5d1db3
Rename GPU_SUPPORTS_ to GPU_USE_
2022-10-17 08:47:03 +02:00
Henrik Rydgård
daca0b2109
Rename gstate_c.Supports to gstate_c.Use
2022-10-17 08:46:37 +02:00
Unknown W. Brackets
bc3d3cf9fb
GPU: Optimize clip distances needed.
...
We only need to write one clip distance to clip clamped depth, since we
don't clamp when it needs clipping on both sides.
2022-10-05 21:17:17 -07:00
Unknown W. Brackets
14bf9d1923
Vulkan: Correct clamped Z clip when clipping neg Z.
...
In the geometry shader, if used, we need to output the clip distance from
the clamped Z clip or it gets lost.
2022-10-05 20:48:38 -07:00
Unknown W. Brackets
8663541403
Vulkan: Avoid max_vertices=12 if unnecessary.
2022-10-05 20:11:10 -07:00
Unknown W. Brackets
3e5c09d432
Vulkan: Clip clamped depth in geometry shader.
...
This corrects deformed geometry on Mali devices which don't support
user-space clipping but do support depth clamp.
2022-10-05 19:41:59 -07:00
Unknown W. Brackets
5d88e50201
Vulkan: Generate indices in clipping.
2022-10-04 23:04:25 -07:00
Unknown W. Brackets
8025def8d2
Vulkan: Clip to neg z in the geometry shader.
...
This is only used when clip distance is unsupported, such as on Mali.
2022-10-04 22:10:24 -07:00
Unknown W. Brackets
4df7a8f357
Vulkan: Cleanup unused geometry shader vars.
...
Without clipping, these aren't used (but could be in the future with
manual clipping.)
2022-10-02 07:43:35 -07:00
Unknown W. Brackets
36eb0d9ad5
Vulkan: Use geo clip distance only where supported.
...
It might be supported without cull or GS. Otherwise we may need to clip
the triangles manually.
2022-10-02 07:42:22 -07:00
Unknown W. Brackets
bfaa304461
Vulkan: Correct geometry shader culling.
2022-10-02 07:42:17 -07:00
Henrik Rydgård
ac248338be
Vulkan: Cull in geoshader, hack to on for now.
2022-10-02 07:42:17 -07:00
Henrik Rydgård
cdee10fe86
Vulkan: Basic geoshader code generation.
2022-10-02 07:42:17 -07:00