Henri Verbeet
e17a98f870
vkd3d-shader: Remove some newlines from vkd3d-shader error messages.
2025-05-27 17:12:13 +02:00
Nikolay Sivov
c4c7f10d99
vkd3d-shader/fx: Fix the total buffer size calculation in write_fx_4_buffer().
...
The total size should take variable alignment/padding into account.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-05-24 21:32:22 +02:00
Nikolay Sivov
2e40154801
vkd3d-shader/fx: Use the correct field indices when writing structure default values.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-05-24 21:27:01 +02:00
Nikolay Sivov
a06ecb6867
vkd3d-shader/fx: Use the correct value range for bool initializers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-05-24 21:24:59 +02:00
Nikolay Sivov
11d4fcff46
vkd3d-shader/fx: Handle nameless structure types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-05-24 21:19:42 +02:00
Shaun Ren
a4e43402e5
vkd3d-shader/hlsl: Support void pass-through hull shader control point functions.
2025-05-24 21:13:00 +02:00
Shaun Ren
e7b2ca28ab
vkd3d-shader/hlsl: Fix the register string for patch arrays in debug_register().
2025-05-24 21:03:56 +02:00
Elizabeth Figura
f5e0c47811
vkd3d-shader/ir: Use add_signature_element() to add clip planes.
...
In particular, ensure that the semantic name is not NULL. This is necessary to
avoid a crash when a later pass using vsir_signature_find_element_by_name(),
e.g. vsir_program_insert_vertex_fog(), iterates over the signature including the
new element.
2025-05-24 21:02:17 +02:00
Giovanni Mascellani
bd6dbd096f
vkd3d-shader/dxil: Reimplement aggregate indexing using specialized value types.
...
As opposed to just touching the vsir register description, which
should be removed soon.
2025-05-24 20:44:45 +02:00
Giovanni Mascellani
6a85df013b
vkd3d-shader/dxil: Pass a reference to the SM6 parser to sm6_register_from_value().
2025-05-24 20:44:45 +02:00
Giovanni Mascellani
b0940729ff
vkd3d-shader/dxil: Pass a reference to the SM6 parser to src_param_init_from_value().
2025-05-24 20:44:45 +02:00
Giovanni Mascellani
6b9df6b7a5
vkd3d-shader/dxil: Pass a reference to the SM6 parser to src_params_init_from_operands().
2025-05-24 20:44:45 +02:00
Henri Verbeet
fe747b065f
vkd3d-shader: Also output vkd3d_shader_vnote() messages using WARN.
2025-05-24 20:41:39 +02:00
Henri Verbeet
ef3e10a14e
vkd3d-shader: Also output vkd3d_shader_vwarning() messages using WARN.
2025-05-24 20:41:39 +02:00
Henri Verbeet
9156de0593
vkd3d-shader: Also output vkd3d_shader_verror() messages using WARN.
2025-05-24 20:41:39 +02:00
Shaun Ren
a58b1f7011
vkd3d-shader/hlsl: Implement output semantics for geometry shaders.
2025-05-24 20:38:36 +02:00
Shaun Ren
18ec4caded
vkd3d-shader/tpf: Read the DCL_OUTPUT_SGV instruction.
...
Introduce VSIR op VKD3DSIH_DCL_OUTPUT_SGV.
2025-05-24 20:38:36 +02:00
Henri Verbeet
a93d258a86
Release 1.16.
2025-05-20 11:35:48 +02:00
Elizabeth Figura
c1adf54a44
vkd3d-shader/hlsl: Forbid referring to typedefs with "struct".
2025-05-14 15:09:48 +02:00
Elizabeth Figura
5ad2e7ee6d
vkd3d-shader/hlsl: Fix an incorrect error message for referring to non-struct types with "struct".
...
We cannot be redefining struct types in this rule, only referring to already
defined types. Struct type definition is handled by named_struct_spec, which
complains if the type was defined at all, regardless of class.
2025-05-14 15:08:13 +02:00
Elizabeth Figura
bfa655a01f
vkd3d-shader/ir: Use the .w component of the existing swizzle when lowering texldb.
2025-05-14 15:07:46 +02:00
Elizabeth Figura
e16176672a
vkd3d-shader/hlsl: Validate "numthreads" attribute values.
2025-05-14 14:56:42 +02:00
Elizabeth Figura
a06b9f6646
vkd3d-shader/hlsl: Do not emit HLSL_OP1_ABS for unsigned types.
2025-05-14 14:55:59 +02:00
Elizabeth Figura
cdc74a9377
vkd3d-shader/hlsl: Emit an error when min16uint is used in d3dbc target profiles.
...
Fixes: 18ca7affad
2025-05-14 14:12:19 +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