Henri Verbeet
0778fb93df
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_comparison_instruction().
2025-06-16 16:01:14 +02:00
Henri Verbeet
616fea0c2b
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_deriv_instruction().
2025-06-16 16:01:14 +02:00
Henri Verbeet
8eeefc2906
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_sample().
2025-06-11 20:28:38 +02:00
Henri Verbeet
d92ef93611
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_atomic_instruction().
2025-06-11 20:28:38 +02:00
Henri Verbeet
6aeb168d63
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_handle_instruction().
2025-06-11 20:28:38 +02:00
Henri Verbeet
dfb3494600
vkd3d-shader/msl: Use vsir_opcode_get_name() in msl_unhandled().
2025-06-11 20:28:38 +02:00
Henri Verbeet
a5ff884605
vkd3d-shader/ir: Use vsir_opcode_get_name() in the validator.
2025-06-11 20:28:38 +02:00
Henri Verbeet
9c2643b9f7
vkd3d-shader/msl: Implement VKD3DSIH_LD2DMS.
2025-06-11 20:27:54 +02:00
Henri Verbeet
5899d8f54b
vkd3d-shader/msl: Implement VKD3DSIH_XOR.
2025-06-11 20:27:54 +02:00
Henri Verbeet
36a999e09f
vkd3d-shader/msl: Implement VKD3DSIH_ULT.
2025-06-11 20:27:54 +02:00
Henri Verbeet
6a159a5565
vkd3d-shader/msl: Implement VKD3DSIH_INEG.
2025-06-11 20:27:54 +02:00
Nikolay Sivov
1913f5e6f9
vkd3d-shader/fx: Parse array selector expressions for fx_2_0.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-11 20:09:05 +02:00
Nikolay Sivov
90032acbcf
vkd3d-shader/fx: Rename the constant argument helper to be version-neutral.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-11 20:08:59 +02:00
Nikolay Sivov
d403705de9
vkd3d-shader/fx: Add a helper to print literals.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-11 20:07:38 +02:00
Nikolay Sivov
b098af3ef8
vkd3d-shader/fx: Use more generic names for the literal constant array.
...
It's going to be reused for 64-bit floats too.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-11 20:07:25 +02:00
Nikolay Sivov
f525399545
vkd3d-shader/fx: Read instruction arguments in full before printing them.
...
The binary format stores destination argument after sources. Each
argument takes either 3 tokens or 5 tokens, when indexed. For simplicity
read them all first, and print destination first.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-11 20:04:27 +02:00
Nikolay Sivov
d6a4084321
vkd3d-shader/fx: Use a version-neutral name for the opcode table.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-11 18:25:42 +02:00
Nikolay Sivov
47b9316a86
vkd3d-shader/fx: Give fxlvm-specific constants a version-neutral name.
...
Those are reusable for fx_2_0 preshaders.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-11 18:21:30 +02:00
Giovanni Mascellani
94cbb333f8
vkd3d-shader/dxil: Emit 16-bit ICB values as minimum precision registers.
2025-06-11 18:20:23 +02:00
Giovanni Mascellani
0b5a96d963
vkd3d-shader/dxil: Emit 16-bit SSA values as minimum precision registers.
2025-06-11 18:20:23 +02:00
Giovanni Mascellani
73940cde73
vkd3d-shader/dxil: Emit 16-bit IDXTEMP values as minimum precision registers.
2025-06-11 18:20:23 +02:00
Giovanni Mascellani
5e86d5c21b
vkd3d-shader/dxil: Emit 16-bit arrays as minimum precision types.
...
The type is not explicitly annotated as minimum precision, because
no backend currently cares about that bit anyway. We're still
relying on the fact that in SM 6.0 16-bit types are always
understood as minimum precision.
2025-06-11 18:20:20 +02:00
Giovanni Mascellani
1d780e1a6b
vkd3d-shader/dxil: Emit 16-bit CONSTANT values as minimum precision registers.
2025-06-11 18:10:12 +02:00
Henri Verbeet
7dfa9e8f81
vkd3d-shader/msl: Implement VKD3DSIH_DISCARD.
2025-06-10 17:45:06 +02:00
Henri Verbeet
f538085e41
vkd3d-shader/msl: Implement switches.
2025-06-10 17:45:06 +02:00