Henri Verbeet
cef3e07e3d
vkd3d-shader/spirv: Emit an OpSource instruction with the source name.
2025-06-18 15:50:18 +02:00
Henri Verbeet
eb988e95e1
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_alu_instruction().
2025-06-16 16:01:14 +02:00
Henri Verbeet
f46c8ea03c
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_ext_glsl_instruction().
2025-06-16 16:01:14 +02:00
Henri Verbeet
81279b763b
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_bitfield_instruction().
2025-06-16 16:01:14 +02:00
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
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
7929ba9747
vkd3d-shader: Move vkd3d_siv_from_sysval_indexed() to hlsl_codegen.c.
2025-06-02 20:10:46 +02:00
Henri Verbeet
e17a98f870
vkd3d-shader: Remove some newlines from vkd3d-shader error messages.
2025-05-27 17:12:13 +02:00
Henri Verbeet
a93d258a86
Release 1.16.
2025-05-20 11:35:48 +02:00
Elizabeth Figura
8f6616993b
vkd3d-shader/spirv: Do not declare inputs with an empty used_mask.
...
This is motivated by SampleId, whose presence or absence determines whether a
fragment shader runs at sample frequency or not.
In HLSL, if SV_SampleIndex is declared but not used, this results in a signature
entry, but no dcl instruction (and a zero used mask in the signature entry).
Whether the shader will actually run at sample frequency is inconsistent. NVidia
does, AMD does not, and WARP does for d3d12 but not for d3d11.
Previously vkd3d-shader relied on the dcl instruction, thereby aligning with
AMD. This was changed by 66cb2815f0
. This commit
restores the previous behaviour.
2025-05-14 14:09:28 +02:00
Elizabeth Figura
65e1ef047f
vkd3d-shader/spirv: Return void from spirv_compiler_emit_input().
2025-05-14 14:09:28 +02:00
Henri Verbeet
88bbc106c7
vkd3d-shader/spirv: We can parse up to SPIR-V 1.6.
...
The main reason to care at this point is that we actually emit SPIR-V 1.3
ourselves in some cases.
2025-04-23 18:12:39 +02:00
Giovanni Mascellani
24e61cf74e
vkd3d-shader: Represent resource data types as vkd3d_data_type in struct vkd3d_shader_descriptor_info1.
2025-04-14 21:55:26 +02:00
Giovanni Mascellani
10d8760134
vkd3d-shader/ir: Validate register id and index for RESOURCE registers.
2025-04-02 19:06:43 +02:00
Giovanni Mascellani
2377db33db
vkd3d-shader: Represent descriptor information in the vsir program.
2025-03-18 15:38:01 +01:00
Giovanni Mascellani
4308fa3f68
vkd3d-shader/spirv: Do not steal the instruction array from the vsir program.
...
There is no need, and it only complicates tracking ownership.
2025-03-18 15:37:57 +01:00
Giovanni Mascellani
fc520e7b4c
vkd3d-shader/spirv: Do not store duplicate references to the signatures.
...
They are already available through the program.
2025-03-18 15:34:16 +01:00
Giovanni Mascellani
5ce03258b5
vkd3d-shader/spirv: Immediately store a reference to the program in the SPIR-V generator.
...
So it doesn't have to be passed around uselessly.
2025-03-18 15:34:04 +01:00
Giovanni Mascellani
549659dab6
vkd3d-shader/spirv: Run the vsir passes before creating the SPIR-V generator.
...
This makes it more similar to the MSL and GLSL generators. It also looks
like a cleaner design, the backend is supposed to get access to the vsir
program after it has gone through the pipeline.
2025-03-18 15:33:27 +01:00
Nikolay Sivov
fb5d53bf57
vkd3d-shader/fx: Add a helper to escape printed strings.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-03-17 14:46:18 +01:00