6391 Commits

Author SHA1 Message Date
Giovanni Mascellani
7b1bc5ca74 vkd3d-shader/ir: Validate component types in shader signatures. 2024-10-10 19:58:00 +02:00
Giovanni Mascellani
5034e1eeb5 vkd3d-shader/ir: Validate system value semantics in shader signatures. 2024-10-10 19:58:00 +02:00
Giovanni Mascellani
6e14d7ab90 vkd3d-shader/ir: Validate usage masks in shader signatures. 2024-10-10 19:58:00 +02:00
Giovanni Mascellani
71dccc0132 vkd3d-shader/ir: Do not emit an instruction number before starting validating instructions. 2024-10-10 19:58:00 +02:00
Giovanni Mascellani
3285d1ad8c tests: Only destroy the device if the context has one in vulkan_test_context_destroy().
If vulkan_test_context_init_device() was never called, or failed to
create a device, the context won't have a device.
2024-10-10 19:53:18 +02:00
Feifan He
ccc48291b3 vkd3d-shader/msl: Implement support for VKD3DSPR_OUTPUT registers. 2024-10-10 19:45:34 +02:00
Feifan He
48a2207511 vkd3d-shader/msl: Implement support for VKD3DSPR_INPUT registers. 2024-10-10 19:43:12 +02:00
Feifan He
75e0cde045 vkd3d-shader/msl: Implement support for VKD3DSPR_CONSTBUFFER registers. 2024-10-10 19:41:31 +02:00
Feifan He
2d7832e738 vkd3d-shader/msl: Generate shader descriptor structure declarations. 2024-10-10 19:40:34 +02:00
Giovanni Mascellani
9cb4207c92 vkd3d-shader/spirv: Write spirv_compiler_emit_variable() in terms of spirv_compiler_emit_array_variable().
Essentially for code clarity, so that it's more obvious that a
non-array variable is indeed an array variable with no indices.
2024-10-09 13:15:25 +02:00
Henri Verbeet
aba45d0386 vkd3d-shader/glsl: Implement VKD3DSIH_CONTINUE. 2024-10-09 13:14:31 +02:00
Henri Verbeet
bc4aacd21e vkd3d-shader/glsl: Implement VKD3DSIH_ULT. 2024-10-09 13:14:31 +02:00
Henri Verbeet
27eb3c07ad vkd3d-shader/glsl: Implement switches. 2024-10-09 13:14:31 +02:00
Henri Verbeet
93f1af721f vkd3d-shader/glsl: Implement loops. 2024-10-09 13:14:31 +02:00
Henri Verbeet
790f35533b vkd3d-shader/glsl: vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_INT inputs. 2024-10-09 13:14:31 +02:00
Giovanni Mascellani
bb0e4506a6 vkd3d-shader/ir: Validate masks in shader signatures. 2024-10-09 13:13:00 +02:00
Giovanni Mascellani
c3b31b96e1 vkd3d-shader/ir: Validate register counts in patch constant signatures. 2024-10-09 13:13:00 +02:00
Giovanni Mascellani
a29270fa64 vkd3d-shader/ir: Validate register counts in output signatures. 2024-10-09 13:13:00 +02:00
Giovanni Mascellani
118f494de3 vkd3d-shader/ir: Validate register counts in input signatures. 2024-10-09 13:13:00 +02:00
Giovanni Mascellani
7202e6e2f3 vkd3d-shader/ir: Allow a patch constant signature only for Hull and Domain Shaders. 2024-10-09 13:13:00 +02:00
Giovanni Mascellani
16efb7c0c6 vkd3d-shader: Ignore the patch constant signature when it doesn't make sense. 2024-10-09 13:13:00 +02:00
Giovanni Mascellani
cd74461d6d vkd3d-shader/ir: Set the signature sort indices in shader_signature_merge().
Since the sort index is just a convenience field it is more
appropriate to only set it where it is required, instead of
requiring all frontends and passes to retain sensible values for
it.
2024-10-08 22:05:38 +02:00
Giovanni Mascellani
c332adaa68 vkd3d-shader/d3d-asm: Dump signatures when tracing a VSIR program. 2024-10-08 22:04:59 +02:00
Giovanni Mascellani
c7d09bba97 vkd3d-shader/d3d-asm: Rename dump_signatures() to dump_dxbc_signatures(). 2024-10-08 22:04:59 +02:00
Giovanni Mascellani
b21ae8d9c2 vkd3d-shader/d3d-asm: Rename dump_signature() to dump_dxbc_signature().
To stress the fact that only the fields that appear in the DXBC
signature sections are considered.
2024-10-08 22:04:59 +02:00