Giovanni Mascellani
ee7895465c
vkd3d-shader/ir: Validate that DEPTHOUTGE registers aren't used as sources.
2025-04-16 16:46:28 +02:00
Giovanni Mascellani
834017c198
vkd3d-shader/ir: Validate that DEPTHOUT registers aren't used as sources.
2025-04-16 16:46:05 +02:00
Francisco Casas
9378d51b18
vkd3d-shader/hlsl: Remove the unnecessary "instr" field from the parser %union.
2025-04-16 16:22:42 +02:00
Francisco Casas
77941b131e
vkd3d-shader/hlsl: Add switch_case destructors to the parser.
2025-04-16 16:21:51 +02:00
Francisco Casas
ff5f9cbcb6
vkd3d-shader/hlsl: Add parse_variable_def destructors to the parser.
2025-04-16 16:21:45 +02:00
Francisco Casas
f3ba7a84f4
vkd3d-shader/hlsl: Avoid leaking blocks on YYABORT.
...
Currently program errors might result on instructions that use
ctx->error_instr as src. In case we hit YYABORT while parsing another
part of the HLSL source, we have to make sure that the block that
contains the instruction is properly cleaned up, or we might hit the
vkd3d:590273:err:hlsl_free_instr Failed assertion: list_empty(&node->uses)
assertion when hlsl_ctx_cleanup() is called after the YYABORT.
Consider the following shader:
float4 main() : sv_target
{
// Statement A
int p = foo; // initializer argument is ERROR.
// Statement B
undeclared_fun(); // triggers YYABORT.
}
Statement A will src the ctx->error_instr because of the undeclared
identifier and Statement B will trigger an YYABORT because of the
undeclared function.
2025-04-16 16:01:35 +02:00
Francisco Casas
128688a573
vkd3d-shader/hlsl: Avoid leaking declaration_statement blocks.
2025-04-16 16:00:18 +02:00
Francisco Casas
58706474ec
vkd3d-shader/hlsl: Make struct_declaration_without_vars return void.
2025-04-16 15:58:40 +02:00
Giovanni Mascellani
922cb47a4b
vkd3d-shader/ir: Validate descriptor counts in vsir programs.
2025-04-16 15:56:59 +02:00
Giovanni Mascellani
be94a37e23
vkd3d-shader/ir: Validate descriptor resource data types in vsir programs.
2025-04-16 15:52:46 +02:00
Giovanni Mascellani
01f47e00f2
vkd3d-shader/ir: Validate descriptor resource types in vsir programs.
2025-04-16 15:49:32 +02:00
Giovanni Mascellani
0da80c1f25
vkd3d-shader/ir: Validate descriptor types in vsir programs.
2025-04-16 15:46:20 +02:00
Giovanni Mascellani
869e6ef583
vkd3d-shader: Describe the resource data types of samplers as NONE.
...
It used to be UINT before, but it doesn't make any sense.
2025-04-16 15:42:31 +02:00
Giovanni Mascellani
f02ea94c42
vkd3d-shader/d3d-asm: Trace register names for I/O declarations.
2025-04-14 21:57:27 +02:00
Giovanni Mascellani
0417f4f162
vkd3d-shader/d3d-asm: Include the program descriptors when tracing vsir code.
2025-04-14 21:57:15 +02:00
Giovanni Mascellani
bac6949365
vkd3d-shader/d3d-asm: Expose the raw value if unknown in shader_dump_data_type().
2025-04-14 21:55:26 +02:00
Giovanni Mascellani
fd16bba29d
vkd3d-shader/d3d-asm: Expose the raw value if unknown in shader_dump_resource_type().
2025-04-14 21:55:26 +02:00
Henri Verbeet
f4e10ea9d5
vkd3d-shader/d3d-asm: Include the I/O signatures when tracing vsir code.
2025-04-14 21:55:26 +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
Francisco Casas
7b21059ee5
vkd3d-shader/hlsl: Support the .Length property for Textures.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57686
2025-04-14 15:47:16 +02:00
Elizabeth Figura
0c18736370
vkd3d-shader/ir: Validate SSA write masks.
2025-04-14 15:32:15 +02:00
Elizabeth Figura
d91d552a5e
vkd3d-shader/ir: Introduce a vsir_dst_param_init_null() helper.
2025-04-14 15:32:12 +02:00
Elizabeth Figura
1a1f1f1369
vkd3d-shader/hlsl: Set the right interpolation mode in the vsir signature.
2025-04-14 15:29:19 +02:00
Elizabeth Figura
7331c70e9e
vkd3d-shader/hlsl: Set the sysval for more sm1 semantics.
...
To match the sysval we set when reading them.
2025-04-14 15:29:19 +02:00
Feifan He
ba7a9a0b29
vkd3d-shader/msl: Implement VKD3DSIH_LD.
...
Co-authored-by: Giovanni Mascellani <gmascellani@codeweavers.com >
2025-04-14 15:27:02 +02:00