4686 Commits

Author SHA1 Message Date
Henri Verbeet
e69f3da089 vkd3d-shader/hlsl: Set the "has_point_size" flag for vertex shaders outputting point sizes. 2025-09-11 16:09:46 +02:00
Henri Verbeet
84d3a8d167 vkd3d-shader/hlsl: Use VKD3DSPR_COMBINED_SAMPLER destination operands in sm1_generate_vsir_sampler_dcls().
That's what the d3d-asm target expects in shader_print_dcl_usage(), and
what vkd3d_shader_scan() requires to create correct descriptor
information.
2025-09-11 16:09:46 +02:00
Henri Verbeet
4569a9d5ba vkd3d-shader/hlsl: Set the "flat constant" count in sm1_generate_vsir().
Aside from being required in order to produce valid vsir, this is used
by vsir_program_scan() to generate descriptor information.
2025-09-11 16:09:46 +02:00
Henri Verbeet
2b5dc156c7 vkd3d-shader/hlsl: vsir constant buffer sizes are specified in bytes. 2025-09-11 16:09:46 +02:00
Henri Verbeet
7c0b70db85 vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_resource_declaration(). 2025-09-11 16:08:58 +02:00
Henri Verbeet
06dadcfb42 vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_cbv_declaration(). 2025-09-11 16:08:58 +02:00
Henri Verbeet
3a6ebfa826 vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_push_constant_buffers(). 2025-09-11 16:08:58 +02:00
Henri Verbeet
91e69f41cf vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dcl_indexable_temp(). 2025-09-11 16:08:58 +02:00
Henri Verbeet
f9d473b4fe vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_shader_epilogue_function(). 2025-09-11 16:08:58 +02:00
Henri Verbeet
de2095fda4 vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_throw_invalid_dst_type_error_with_flags(). 2025-09-10 11:59:04 +02:00
Henri Verbeet
b326097473 vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_shift_operation(). 2025-09-10 11:59:04 +02:00
Henri Verbeet
e7f3547c24 vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_cast_operation(). 2025-09-10 11:59:04 +02:00
Henri Verbeet
81f229146c vkd3d-shader/ir: Handle all component types in vsir_data_type_from_component_type(). 2025-09-10 11:42:21 +02:00
Henri Verbeet
db704d2980 vkd3d-shader/spirv: Handle i64 component types. 2025-09-10 11:42:21 +02:00
Henri Verbeet
d26f75f12c vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_load_invocation_id(). 2025-09-09 15:02:08 +02:00
Henri Verbeet
361404a1d1 vkd3d-shader/spirv: Use spirv_get_type_id() in frag_coord_fixup(). 2025-09-09 15:02:08 +02:00
Henri Verbeet
34dbf38e83 vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_draw_parameter_fixup(). 2025-09-09 15:02:08 +02:00
Henri Verbeet
f13c2932de vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_double(). 2025-09-09 15:02:08 +02:00
Henri Verbeet
d98bbb2a9d vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_float(). 2025-09-09 15:02:08 +02:00
Henri Verbeet
e569245e1f vkd3d-shader/hlsl: Implement constant folding of 'round' expressions. 2025-09-09 14:59:11 +02:00
Henri Verbeet
23ee29a953 vkd3d-shader/hlsl: Implement constant folding of 'reinterpret' expressions.
As encountered in tests/hlsl/frexp.shader_test.
2025-09-09 14:59:11 +02:00
Henri Verbeet
e330ad2ac7 vkd3d-shader/hlsl: Implement constant folding of 'cos' expressions.
As encountered in tests/hlsl/trigonometry.shader_test.
2025-09-09 14:59:01 +02:00
Henri Verbeet
08e7806b7f vkd3d-shader/hlsl: Implement constant folding of 'sin' expressions.
As encountered in tests/hlsl/trigonometry.shader_test.
2025-09-09 14:51:15 +02:00
Henri Verbeet
d7a05d823c vkd3d-shader/hlsl: Implement constant folding of 'mad' expressions.
As encountered in tests/hlsl/trigonometry.shader_test.
2025-09-09 14:51:15 +02:00
Francisco Casas
7f4a186e6a vkd3d-shader/ir: Use iterators in struct vsir_cfg.
And therefore on the functions that use it, namely
vsir_program_structurize() and
vsir_program_materialize_undominated_ssas_to_temps() and their callees.
2025-09-09 14:51:15 +02:00