Francisco Casas
880cb1083f
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_coord().
2025-08-07 20:43:28 +02:00
Francisco Casas
a91b880afa
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_size_clamp().
2025-08-07 20:43:28 +02:00
Francisco Casas
0ed34c22c9
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_size().
2025-08-07 20:43:28 +02:00
Francisco Casas
14643b02f6
vkd3d-shader/ir: Use iterators in vsir_program_insert_clip_planes().
2025-08-07 20:43:28 +02:00
Francisco Casas
bd52ed8918
vkd3d-shader/ir: Use iterators in vsir_program_insert_alpha_test().
2025-08-07 20:43:28 +02:00
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
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
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
Giovanni Mascellani
bec000b88e
vkd3d-shader: Enable converting DXIL to MSL.
...
Only trivial shaders work so far.
2025-08-04 14:34:01 +02:00
Henri Verbeet
bd3d0f3495
vkd3d-shader/ir: Use vsir_program_append() in vsir_program_ensure_ret().
...
I think this is slightly nicer. It also happens to avoid a
-Warray-bounds warning on some versions of gcc that suggests the "ins"
pointer returned by vsir_program_iterator_next() may be NULL.
2025-07-31 15:01:29 +02:00
Elizabeth Figura
75cb4336ec
vkd3d-shader/ir: Record the previous temp count before allocating any SSA values.
...
Due to the unintentional placement of this line, we were inadvertently
allocating every SSA value to a unique temp register, overflowing limits.
2025-07-30 15:36:38 +02:00
Henri Verbeet
67fd9bb76b
vkd3d-shader/ir: Free program parameters on failure in vsir_program_init() if needed.
2025-07-30 15:35:54 +02:00
Giovanni Mascellani
247fbd869a
vkd3d-shader/ir: Use iterators in vsir_program_ensure_ret().
2025-07-29 13:12:58 +02:00