109 Commits

Author SHA1 Message Date
Henri Verbeet
94ca46916a vkd3d-shader/ir: Store the SSA register count in struct vsir_program. 2024-01-22 22:18:52 +01:00
Henri Verbeet
23dcd4f22b vkd3d-shader/ir: Store the shader version in struct vsir_program. 2024-01-22 22:18:50 +01:00
Henri Verbeet
fc9043be3c vkd3d-shader/ir: Introduce struct vsir_program. 2024-01-22 22:18:48 +01:00
Conor McCarthy
55c7cd5c22 vkd3d-shader/dxil: Handle semantic kind ISFRONTFACE. 2024-01-22 22:18:33 +01:00
Conor McCarthy
9f409b67d7 vkd3d-shader/dxil: Handle semantic kind VERTEXID. 2024-01-22 22:18:32 +01:00
Conor McCarthy
bfdc8b31a3 vkd3d-shader/dxil: Implement DX intrinsic BufferLoad for typed buffers. 2024-01-22 22:18:21 +01:00
Conor McCarthy
85052ba93e vkd3d-shader/dxil: Load typed UAV descriptors. 2024-01-22 22:18:19 +01:00
Conor McCarthy
89d1ef83f4 vkd3d-shader/dxil: Load typed SRV descriptors. 2024-01-22 22:18:18 +01:00
Conor McCarthy
80d7ea2924 vkd3d-shader/dxil: Pass the code block and instruction in a struct to intrinsic handlers.
Simplifies handling of intrinsics which need to emit more than one
instruction.
2024-01-22 22:18:16 +01:00
Conor McCarthy
efe800f7f0 vkd3d-shader/dxil: Handle the DXIL SWITCH instruction. 2024-01-18 23:15:14 +01:00
Conor McCarthy
ba1ee27b4b vkd3d-shader/dxil: Handle the DXIL PHI instruction. 2024-01-18 23:15:12 +01:00
Conor McCarthy
8a5804eb43 vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant. 2024-01-18 23:15:10 +01:00
Conor McCarthy
c9493884ef vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant. 2024-01-18 23:15:03 +01:00
Conor McCarthy
9e964fa0c7 vkd3d-shader/dxil: Introduce a code block terminator struct. 2024-01-18 23:15:01 +01:00
Conor McCarthy
559d9d4ee0 vkd3d-shader/ir: Include an initial label instruction in the first control flow block. 2024-01-17 22:28:41 +01:00
Conor McCarthy
b4b2b0d3ac vkd3d-shader/spirv: Declare indexable temps as Private unless function scope is specified. 2024-01-17 22:28:39 +01:00
Giovanni Mascellani
7503429555 vkd3d-shader/ir: Check that TEMP registers have consistent dimensions. 2024-01-15 19:56:59 +01:00
Conor McCarthy
ac9b14599f vkd3d-shader/dxil: Avoid null dereference on failure to find function pointer type.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55684
2024-01-11 23:05:17 +01:00
Giovanni Mascellani
e29ae1550c vkd3d-shader/dxil: Create constant buffer registers with dimension vec4. 2024-01-04 22:23:21 +01:00
Giovanni Mascellani
3bafee344d vkd3d-shader/dxil: Use vkd3d_shader_parser_error() for error reporting when available. 2024-01-03 22:38:26 +01:00
Giovanni Mascellani
a02cd1cf64 vkd3d-shader/dxil: Do not use the parser before it is initialized. 2024-01-03 22:38:24 +01:00
Conor McCarthy
111818eabb vkd3d-shader/dxil: Pre-allocate instruction space for globals in sm6_parser_globals_init().
For simplicity, declaration handlers assume instruction allocation will
not fail.
2024-01-03 22:38:21 +01:00
Conor McCarthy
8aa6e2228e vkd3d-shader/dxil: Count global variables in dxil_block_compute_module_decl_count(). 2024-01-03 22:38:19 +01:00
Henri Verbeet
ed4f3f3272 vkd3d-shader/ir: Rename the "immconst_double" field of struct vkd3d_shader_register to "immconst_f64". 2024-01-03 22:37:49 +01:00
Henri Verbeet
7f94fda05c vkd3d-shader/ir: Rename the "immconst_uint64" field of struct vkd3d_shader_register to "immconst_u64". 2024-01-03 22:37:43 +01:00