Commit Graph

4389 Commits

Author SHA1 Message Date
Giovanni Mascellani
9867d48c3a vkd3d-shader/ir: Use the iterator in vsir_program_lower_ifc(). 2025-07-17 14:04:28 +02:00
Giovanni Mascellani
2d848b5bc0 vkd3d-shader/ir: Introduce an abstraction to iterate through vsir instructions. 2025-07-17 14:04:00 +02:00
Giovanni Mascellani
ba545669cd vkd3d-shader/ir: Validate ISHR operations. 2025-07-16 18:07:26 +02:00
Giovanni Mascellani
126ff8e4f5 vkd3d-shader/ir: Validate ISHL operations. 2025-07-16 18:07:26 +02:00
Giovanni Mascellani
94d999bd8a vkd3d-shader/ir: Validate IREM operations. 2025-07-16 18:07:26 +02:00
Giovanni Mascellani
636e9a91bb vkd3d-shader/ir: Validate INEG operations. 2025-07-16 18:07:26 +02:00
Giovanni Mascellani
7d92142fe0 vkd3d-shader/ir: Validate INE operations. 2025-07-16 18:07:26 +02:00
Giovanni Mascellani
d288d3c088 vkd3d-shader/ir: Validate IMIN operations. 2025-07-16 18:07:26 +02:00
Giovanni Mascellani
2a62b7035c vkd3d-shader/ir: Validate IMAX operations. 2025-07-16 18:07:26 +02:00
Giovanni Mascellani
5fc8baabfb vkd3d-shader/ir: Validate IMAD operations. 2025-07-16 18:07:26 +02:00
Giovanni Mascellani
56247130c1 vkd3d-shader/ir: Validate UAV flags in vsir programs. 2025-07-16 17:44:13 +02:00
Giovanni Mascellani
32bf71ba96 vkd3d-shader/ir: Validate descriptor flags in vsir programs. 2025-07-16 17:34:35 +02:00
Nikolay Sivov
3163e589bc vkd3d-shader/fx: Explicitly handle bool state values when parsing.
For bools 0/1 values are treated as named values, outside of this
range it's zero/non-zero.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-07-14 18:38:21 +02:00
Nikolay Sivov
46c75137c7 vkd3d-shader/fx: Use the correct value range for bools in fx_4_0 state values.
The earlier fix a06ecb6867 is missing this.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-07-14 18:38:21 +02:00
Nikolay Sivov
fc77bddb9c vkd3d-shader/fx: Improve register naming in the disassembly output.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-07-14 18:29:10 +02:00
Giovanni Mascellani
15561c1e56 vkd3d-shader/ir: Do not make a local copy of the instructions array in vsir_program_flatten_hull_shader_phases(). 2025-07-14 18:25:24 +02:00
Giovanni Mascellani
44ca7b7b1b vkd3d-shader/ir: Handle SSA registers when flattening hull shader phases.
Currently when a phase is duplicated more than once SSA registers
are not refreshed, therefore they are invalidly assigned more than
once.
2025-07-14 18:19:23 +02:00
Giovanni Mascellani
ad1aa739c2 vkd3d-shader/ir: Collect the hull shader phase flattener code together. 2025-07-14 18:19:23 +02:00
Henri Verbeet
673c26a040 vkd3d-shader/msl: Implement VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL. 2025-07-14 18:13:43 +02:00
Henri Verbeet
1a20395e6f vkd3d-shader/msl: Implement VSIR_OP_STORE_UAV_TYPED. 2025-07-14 18:13:43 +02:00
Henri Verbeet
90b6412daa vkd3d-shader/msl: Implement VSIR_OP_UMAX and VSIR_OP_UMIN. 2025-07-14 18:13:43 +02:00
Giovanni Mascellani
ed464a4f4c vkd3d-shader/ir: Validate ILT instructions. 2025-07-14 18:12:22 +02:00
Giovanni Mascellani
715d23ebbb vkd3d-shader/ir: Validate IGE instructions. 2025-07-14 18:12:22 +02:00
Giovanni Mascellani
9f455667eb vkd3d-shader/ir: Validate IEQ instructions. 2025-07-14 18:12:22 +02:00
Giovanni Mascellani
c29e8188ff vkd3d-shader/ir: Validate IADD instructions. 2025-07-14 18:12:22 +02:00