Conor McCarthy
7d3a520060
vkd3d-shader/dxil: Initialise or validate forward-referenced values in a helper function.
...
A future patch needs to call this function from another location.
2025-11-20 17:21:16 +01:00
Conor McCarthy
8a6c5cb401
vkd3d-shader/dxil: Emit an error if a return instruction has operands.
2025-11-20 17:21:16 +01:00
Conor McCarthy
32d0613bcb
vkd3d-shader/dxil: Emit return instructions during parsing.
2025-11-20 17:21:15 +01:00
Conor McCarthy
c9f660ec55
vkd3d-shader/dxil: Emit switch instructions during parsing.
2025-11-20 17:21:15 +01:00
Conor McCarthy
8fdc156adb
vkd3d-shader/dxil: Emit branch instructions during parsing.
2025-11-20 17:21:15 +01:00
Henri Verbeet
cfe9cd3794
Release 1.18.
vkd3d-1.18
2025-11-20 11:36:06 +01:00
Francisco Casas
5fe8a0c70f
vkd3d-shader/hlsl: Retrieve error_instr instead of NULL in hlsl_block_add_resource_load().
...
Fixes: 06a503975f
2025-11-20 11:31:00 +01:00
Francisco Casas
06a503975f
vkd3d-shader/hlsl: Avoid member access on NULL resource load (ubsan).
...
In some scenarios this resource load is NULL, and we are still doing
&load->node on it.
vkd3d/libs/vkd3d-shader/hlsl.c:2195:12: runtime error: member access
within null pointer of type 'struct hlsl_ir_resource_load'
This happens in tests/hlsl/sampler-state.shader_test, in the following
test:
[pixel shader fail]
Texture2D tex;
float4 main(): sv_target
{
return tex.Sample(sampler_state {}, float2(0, 0));
}
2025-11-18 17:42:11 +01:00
Giovanni Mascellani
654c96fc94
tests/d3d12: Mark a texture aliasing test as todo on Intel.
2025-11-17 15:21:08 +01:00
Giovanni Mascellani
ffbf0320ba
tests/hlsl: Mark a denormalization mode test as todo on Intel.
...
It behaves the same as llvmpipe.
2025-11-17 15:20:47 +01:00
Henri Verbeet
124bdae77c
vkd3d-shader: Explicitly support all chained compilation structures with vkd3d_shader_scan().
...
Most of these will have no effect on the returned information, but it is
always valid to include them.
2025-11-17 15:19:07 +01:00
Henri Verbeet
c8c52933d3
vkd3d-shader: Document vkd3d_shader_scan_thread_group_size_info as a supported chained compilation structure.
2025-11-17 15:19:07 +01:00
Anna (navi) Figueiredo Gomes
dd3524444d
vkd3d-shader/hlsl: Properly free default values when discarding them.
2025-11-17 15:17:45 +01:00
Anna (navi) Figueiredo Gomes
990be02cca
vkd3d-shader/hlsl: Add a default value fail test with all allowed instructions.
...
Co-Authored-By: Francisco Casas <fcasas@codeweavers.com >
2025-11-17 15:15:47 +01:00
Giovanni Mascellani
7f377879fc
vkd3d-shader/spirv: Clamp push constant CBV sizes to those of the push constant ranges backing them.
...
Otherwise invalid SPIR-V may be generated, because the CBV field in
"push_cb_struct" may end up overlapping with a subsequent one.
2025-11-12 15:24:30 +01:00
Giovanni Mascellani
2903831f79
tests/hlsl: Test using an SRV in combination with a CBV larger than the declared uniforms.
...
This appears to be valid on native (no validation message is
raised) but is not properly handled by vkd3d.
2025-11-12 15:19:33 +01:00
Henri Verbeet
4039168bca
vkd3d-shader/hlsl: Consider scalars to be equivalent to 1-component vectors in hlsl_add_conditional().
2025-11-12 15:12:30 +01:00
Henri Verbeet
5d385fbce0
vkd3d-shader/d3d-asm: Avoid shader_print_data_type() in shader_dump_resource_data_type().
2025-11-12 15:11:10 +01:00
Giovanni Mascellani
065430547c
vkd3d-shader/dxil: Parse the gather offset as an int2.
...
Instead of an int3.
Gather operations expect an offset with only two components.
Currently the following field (which is the gather channel) is
parsed as a third component, which leads to wrong and invalid
results.
This fixes a crash on a shader from WRC Generations.
2025-11-12 15:08:42 +01:00
Henri Verbeet
cb3367c66d
vkd3d-common: Get rid of "vkd3d_dbg_env_name".
2025-11-12 15:06:42 +01:00
Giovanni Mascellani
7022bb57fc
tests/shader_runner_metal: Implement explicit descriptor mapping.
2025-11-12 15:02:58 +01:00
Giovanni Mascellani
653de0c076
tests/shader_runner: Generate a default descriptor mapping when none is provided.
2025-11-12 15:02:18 +01:00
Giovanni Mascellani
a30c07f510
tests/shader_runner_d3d12: Always create a descriptor heap.
...
So it's also available when resources are not used, which
simplifies later commits.
2025-11-12 14:58:15 +01:00
Giovanni Mascellani
fb985f496d
tests/shader_runner_d3d12: Appropriately set the root descriptor table for dispatching.
2025-11-12 14:57:24 +01:00
Elizabeth Figura
1569bb3fb8
vkd3d-shader/hlsl: Only prepend a $ for parameters with the uniform keyword.
2025-11-10 16:20:08 +01:00