Commit Graph

8328 Commits

Author SHA1 Message Date
Conor McCarthy
3f1de27283 tests/hlsl: Add a test for branching in a hull shader control point function. 2025-10-03 00:23:02 +02:00
Giovanni Mascellani
3c117e2331 vkd3d-shader/ir: Execute PHI SSA to TEMP materialization in each function. 2025-10-03 00:22:05 +02:00
Conor McCarthy
2d508a2fa6 vkd3d-shader: Set the program block count to the maximum for any function.
The block count is intended to be used for allocation of block info.
2025-10-03 00:22:03 +02:00
Conor McCarthy
a5a8a4cc99 tests/hlsl: Add a test for branching in a hull shader patch constant function. 2025-10-03 00:19:03 +02:00
Henri Verbeet
0f9a2bdf34 vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_image. 2025-10-03 00:14:03 +02:00
Henri Verbeet
0f504be1e8 vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_symbol_resource_data. 2025-10-03 00:14:03 +02:00
Henri Verbeet
9623ca4a6f vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_register_info. 2025-10-03 00:14:03 +02:00
Henri Verbeet
a38b86fb3a vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_symbol_register_data. 2025-10-03 00:14:03 +02:00
Henri Verbeet
b4301a6562 vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_spirv_builtin. 2025-10-03 00:14:03 +02:00
Francisco Casas
da4d5ef339 vkd3d-shader/dxil: Get rid of sm6_parser_require_space().
It's not obvious what this last remaining use of
sm6_parser_require_space() is preallocating space for, and that's as
good of a reason as any to get rid of it.
2025-10-03 00:10:06 +02:00
Francisco Casas
03a58d74b9 vkd3d-shader/dxil: Don't preallocate instructions in sm6_function_emit_blocks(). 2025-10-02 23:53:32 +02:00
Francisco Casas
626ad24ffe vkd3d-shader/dxil: Don't preallocate instructions in sm6_parser_globals_init(). 2025-10-02 23:53:27 +02:00
Francisco Casas
f30141f086 vkd3d-shader/dxil: Propagate parser errors in sm6_parser_init(). 2025-10-02 23:52:19 +02:00
Francisco Casas
d774cde932 vkd3d-shader/dxil: Propagate the vkd3d_result of sm6_parser_declare_global(). 2025-10-02 23:49:28 +02:00
Francisco Casas
1512c6c809 vkd3d-shader/dxil: Set the parser status to VKD3D_ERROR_NOT_IMPLEMENTED on missing functionality. 2025-10-02 23:47:50 +02:00
Francisco Casas
aa943c51ea vkd3d-shader/dxil: Handle sm6_parser_add_instruction() returning NULL.
Only calls to sm6_parser_add_instruction() where we are using the
returned vkd3d_shader_instruction are checked for, since these return
values might cause NULL dereferences if unchecked.

Other calls to sm6_parser_add_instruction() can be left alone since the
error is still recorded via sm6->p.status.
2025-10-02 23:40:56 +02:00
Francisco Casas
bdba25d028 vkd3d-shader: Store a vkd3d_result in struct vkd3d_shader_parser. 2025-10-02 23:40:51 +02:00
Giovanni Mascellani
f9c71d5775 vkd3d-shader/ir: Execute PHI SSA to TEMP materialization in a single pass. 2025-09-30 17:18:49 +02:00
Giovanni Mascellani
fc84f80c96 vkd3d-shader/ir: Explicitly initialize instruction arrays.
Do not assume that zero initialization is enough, for uniformity
of interface and also to support other data structures.
2025-09-30 17:18:49 +02:00
Giovanni Mascellani
f49aa3d272 vkd3d-shader/ir: Do not carry "ins" across loop instances in vsir_program_materialize_undominated_ssas_to_temps().
I think this makes the code slightly more readable.
2025-09-30 17:18:05 +02:00
Henri Verbeet
6174d1af5d vkd3d-shader/msl: Implement VSIR_OP_FREM. 2025-09-30 17:16:32 +02:00
Henri Verbeet
521efaeb7b vkd3d-shader/msl: Implement VSIR_OP_ATAN. 2025-09-30 17:16:32 +02:00
Henri Verbeet
d9d2a00ef3 vkd3d-shader/msl: Implement VSIR_OP_ASIN. 2025-09-30 17:16:32 +02:00
Henri Verbeet
b2aac30430 vkd3d-shader/msl: Implement VSIR_OP_ACOS. 2025-09-30 17:16:32 +02:00
Henri Verbeet
ab54fc7b29 vkd3d-shader/msl: Implement VSIR_OP_HTAN. 2025-09-30 17:16:32 +02:00