Giovanni Mascellani
f932af7f18
tests/d3d12: Check that B5G6R5_UNORM and B5G5R5A1_UNORM are supported before testing them.
...
They are not always available on NVIDIA GPUs.
2025-04-21 14:36:39 +02:00
Giovanni Mascellani
4324817c68
tests/d3d12: Set the descriptor heap when clearing UAVs.
2025-04-21 14:32:58 +02:00
Giovanni Mascellani
c764f71cf5
vkd3d-shader/ir: Validate that DEPTHOUTLE registers aren't used as sources.
2025-04-16 16:46:38 +02:00
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
Giovanni Mascellani
a189a4cfb7
tests/hlsl: Do not test the implicit passthrough control point phase for SM6.
2025-04-16 16:43:45 +02:00
Giovanni Mascellani
dbd1938ce4
tests/hlsl: Fix the precision for a 16-bit arithmetic test.
2025-04-16 16:42:20 +02:00
Giovanni Mascellani
3186d66596
tests/hlsl: Do not test dst() on integer arguments with SM6.
...
That seems to hit a DXC bug we're not interested into.
2025-04-16 16:36:58 +02:00
Giovanni Mascellani
9db9f3bdaf
tests/hlsl: Do not test 16-bit out-of-bound varyings.
2025-04-16 16:35:23 +02:00
Giovanni Mascellani
26656808e6
tests/hlsl: Remove a test in which a function reads an "out" argument.
...
The code doesn't make sense in the first place, even if it's
accepted by the compiler, so it makes sense that the behaviour
is undefined. And indeed the behaviour is different on AMD (4 is
returned), NVIDIA (QNaN is returned) and WARP (device is removed).
2025-04-16 16:30:19 +02:00
Giovanni Mascellani
df1aecb7bd
tests/hlsl: Do not test 16-bit out-of-bound UAV writes.
2025-04-16 16:28:42 +02:00
Giovanni Mascellani
0ac661f571
tests/hlsl: Do not test 16-bit out-of-bound SRV buffer reads.
...
They do not behave consistently between AMD, NVIDIA and WARP, so
there is little point enforcing a specific behaviour.
2025-04-16 16:25:26 +02:00
Giovanni Mascellani
64bd2af015
tests/shader_runner_d3d9: Request the adapter specified on the command line.
2025-04-16 16:24:39 +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