Giovanni Mascellani
247fbd869a
vkd3d-shader/ir: Use iterators in vsir_program_ensure_ret().
2025-07-29 13:12:58 +02:00
Giovanni Mascellani
812f6faa11
vkd3d-shader/ir: Use iterators in vsir_program_normalize_addr().
2025-07-29 12:53:00 +02:00
Giovanni Mascellani
22f84317c0
vkd3d-shader/ir: Check that GSINSTID registers have dimension VEC4.
...
I had set it to SCALAR in an earlier commit, but I hadn't noticed
it failed validation.
Also fix the HLSL compiler to emit them accordingly.
Fixes: dfc18781cc
2025-07-29 12:51:06 +02:00
Francisco Casas
19bc3ec104
vkd3d-shader/ir: Validate flags in RESINFO operations.
2025-07-28 16:26:16 +02:00
Francisco Casas
3a0a96b851
vkd3d-shader/ir: Validate flags in SAMPLE_INFO operations.
2025-07-28 16:26:16 +02:00
Henri Verbeet
4300e6c8b5
vkd3d-shader/ir: Allow source operands of shift operations to have different data types.
2025-07-28 16:10:15 +02:00
Henri Verbeet
7295a8d0b5
vkd3d-shader/ir: Explicitly initialise the "resource_data_type" field in vsir_instruction_init().
...
This depended on VKD3D_DATA_FLOAT/VSIR_DATA_F32 being the first
enumeration value, but that's no longer the case.
shader_dump_instruction() compares this against VSIR_DATA_F32 to
determine whether to call shader_dump_resource_data_type().
2025-07-23 17:23:01 +02:00
Henri Verbeet
795211141f
vkd3d-shader/ir: Rename VKD3D_DATA_BOOL to VSIR_DATA_BOOL.
2025-07-23 17:19:28 +02:00
Henri Verbeet
aebe64ecac
vkd3d-shader/ir: Rename VKD3D_DATA_UNUSED to VSIR_DATA_UNUSED.
2025-07-23 17:19:28 +02:00
Giovanni Mascellani
bb51b976df
vkd3d-shader/ir: Use size_t in the parameter allocator.
...
The idea is to, by default, use size_t for any quantity that is
a memory size or an array index.
2025-07-23 17:16:38 +02:00
Nikolay Sivov
969b6f5946
vkd3d-shader/ir: Handle TEXLDL instructions in vsir_program_lower_instructions().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58063
2025-07-23 17:02:05 +02:00
Giovanni Mascellani
68cd72c7fc
vkd3d-shader/ir: Validate ROUND_NI instructions.
2025-07-22 17:11:51 +02:00
Giovanni Mascellani
b3db78e3c1
vkd3d-shader/ir: Validate ROUND_NE instructions.
2025-07-22 17:11:51 +02:00
Giovanni Mascellani
f3f8056800
vkd3d-shader/ir: Validate RCP instructions.
2025-07-22 17:11:51 +02:00
Giovanni Mascellani
59738c7a4a
vkd3d-shader/ir: Validate ORD instructions.
2025-07-22 17:11:51 +02:00
Giovanni Mascellani
6266f89827
vkd3d-shader/ir: Validate OR operations.
2025-07-22 17:11:51 +02:00
Giovanni Mascellani
1c7c66912b
vkd3d-shader/ir: Validate NOT operations.
2025-07-22 17:11:51 +02:00
Giovanni Mascellani
4789295e91
vkd3d-shader/ir: Validate NEU operations.
2025-07-22 17:11:51 +02:00
Giovanni Mascellani
3234c428b3
vkd3d-shader/ir: Validate NEO operations.
2025-07-22 17:11:50 +02:00
Henri Verbeet
1487764e23
vkd3d-shader/ir: Rename VKD3D_DATA_UINT64 to VSIR_DATA_U64.
2025-07-22 14:57:26 +02:00
Henri Verbeet
742cce9a08
vkd3d-shader/ir: Rename VKD3D_DATA_UINT to VSIR_DATA_U32.
2025-07-22 14:57:26 +02:00
Henri Verbeet
163b87444f
vkd3d-shader/ir: Rename VKD3D_DATA_UINT16 to VSIR_DATA_U16.
2025-07-22 14:57:26 +02:00
Henri Verbeet
a04e4e4010
vkd3d-shader/ir: Rename VKD3D_DATA_INT to VSIR_DATA_I32.
2025-07-22 14:57:26 +02:00
Giovanni Mascellani
13c9826c30
vkd3d-shader/ir: Check that OUTSTENCILREF registers have dimension SCALAR.
2025-07-22 14:55:18 +02:00
Giovanni Mascellani
7b36453b9d
vkd3d-shader/ir: Check that PRIMID registers have dimension SCALAR.
2025-07-22 14:55:18 +02:00