Henri Verbeet
f95fc28851
vkd3d-shader/hlsl: Return a vsir program from hlsl_compile_shader().
...
This largely brings the HLSL frontend in line with the other frontends.
2025-08-07 20:40:01 +02:00
Henri Verbeet
85603dc9c6
vkd3d-shader/hlsl: Initialise the vsir program in hlsl_compile_shader().
...
Mostly in preparation for returning a vsir program from
hlsl_compile_shader() in the next commit.
2025-08-07 20:37:41 +02:00
Henri Verbeet
e7be5aa9fd
vkd3d-shader/hlsl: Pass a vkd3d_shader_source_list pointer to hlsl_ctx_init().
...
Instead of storing the list inside struct hlsl_ctx. The source file
names in the list are used by the location information that the HLSL
frontend produces, and end up being referenced by the vsir program. If
we want the vsir program to be able to outlive the hlsl_ctx, its
location information can't reference data owned by the hlsl_ctx.
2025-08-07 20:33:24 +02:00
Henri Verbeet
7c37fc6a8b
vkd3d-shader: Introduce struct vkd3d_shader_source_list.
2025-08-07 20:33:24 +02:00
Henri Verbeet
e4bb77ecef
vkd3d-shader: Cleanup the vsir program on vsir_program_transform_early() failure in vsir_parse().
2025-08-07 20:33:24 +02:00
Elizabeth Figura
f9bb84e5ef
vkd3d-shader/d3dbc: Lower TEXCRD.
2025-08-07 19:30:29 +02:00
Elizabeth Figura
731b94f6f9
vkd3d-shader/d3dbc: Lower 1.4 TEXLD.
2025-08-07 19:05:25 +02:00
Elizabeth Figura
9c605c942c
vkd3d-shader/d3dbc: Normalize ps 1.x output.
2025-08-07 18:55:40 +02:00
Elizabeth Figura
a4f69d4ae6
vkd3d-shader/d3dbc: Move TEXLD lowering to d3dbc_parse().
2025-08-07 18:52:46 +02:00
Elizabeth Figura
2201c32e6d
vkd3d-shader: Add descriptors from SAMPLE instructions if necessary.
...
This has no effect now, but will once we start lowering sm1 texturing
instructions before vsir_program_scan() is called.
2025-08-07 16:15:47 +02:00
Francisco Casas
f6d0c689ee
vkd3d-shader/ir: Use iterators in vsir_program_materialise_phi_ssas_to_temps().
2025-08-06 18:24:19 +02:00
Francisco Casas
aab02b1bca
vkd3d-shader/ir: Use iterators in vsir_program_flatten_hull_shader_phases().
2025-08-06 18:23:33 +02:00
Francisco Casas
6c840b80d6
vkd3d-shader/ir: Use iterators in cf_flattener_iterate_instruction_array().
2025-08-06 18:19:55 +02:00
Francisco Casas
e428528a7c
vkd3d-shader/ir: Use iterators in vsir_program_remove_dead_code().
2025-08-06 18:19:55 +02:00
Francisco Casas
f818d052cd
vkd3d-shader/ir: Remove the io_normaliser.instructions field.
...
It's effectively unused, and struct vkd3d_shader_instruction_array is
not meant to be copied by value. If io_normaliser.instructions were to
be modified it might leave program->instructions in an inconsistent
state.
2025-08-06 12:54:54 +02:00
Francisco Casas
b3badec039
vkd3d-shader/ir: Use iterators in vsir_program_normalise_io_registers().
2025-08-06 12:53:52 +02:00
Francisco Casas
304caa885f
vkd3d-shader/ir: Use iterators in vsir_program_normalise_flat_constants().
2025-08-06 12:53:52 +02:00
Francisco Casas
37ca1b55c9
vkd3d-shader/ir: Use iterators in instruction_array_normalise_hull_shader_control_point_io().
2025-08-06 12:53:52 +02:00
Francisco Casas
97e3877aa4
vkd3d-shader/ir: Use iterators in vsir_program_remap_output_signature().
2025-08-06 12:53:52 +02:00
Francisco Casas
6dc9ff1bd8
vkd3d-shader/ir: Use iterators in vsir_program_ensure_diffuse().
...
The change in vsir_program_iterator_next() is necessary to allow us to
introduce instructions before the iterator using:
vsir_program_iterator_prev(&it);
vsir_program_iterator_inset_after(&it, n);
vsir_program_iterator_next(&it);
This since (it.idx == SIZE_MAX) is equivalent to the iterator being
before the beginning of the list.
2025-08-06 12:53:37 +02:00
Henri Verbeet
ce20f9d4b2
tests/shader_runner_d3d12: Check whether the d3d12 device supports geometry shaders.
2025-08-06 12:04:16 +02:00
Henri Verbeet
47a183c75b
tests/d3d12: Check whether the d3d12 device supports geometry shaders.
2025-08-06 12:04:16 +02:00
Shaun Ren
4bb880f9ed
vkd3d-shader/hlsl: Support interlocked operations on non-indexed groupshared variables.
2025-08-05 16:33:08 +02:00
Shaun Ren
8d0d8d106b
vkd3d-shader/hlsl: Support stores to raw groupshared variables.
2025-08-05 16:32:34 +02:00
Shaun Ren
c8d2d40b91
vkd3d-shader/hlsl: Support loads from groupshared variables.
2025-08-05 16:18:26 +02:00