Commit Graph

993 Commits

Author SHA1 Message Date
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
5f443593e3 vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_int64(). 2025-09-04 14:03:34 +02:00
Henri Verbeet
441088e4df vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_int(). 2025-09-04 14:03:34 +02:00
Henri Verbeet
b9b883877d vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_int_to_bool(). 2025-09-04 14:03:34 +02:00
Henri Verbeet
2a71e96a58 vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_descriptor_index(). 2025-09-04 14:03:34 +02:00
Henri Verbeet
0d8acc97a3 vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_register_addressing(). 2025-09-04 14:03:34 +02:00
Henri Verbeet
d6bed4be37 vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_buffer_parameter(). 2025-09-02 11:36:37 +02:00
Henri Verbeet
b68096f52d vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_spec_constant(). 2025-09-02 11:36:37 +02:00
Henri Verbeet
c81b5398c2 vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_type_id_for_reg(). 2025-09-02 11:36:37 +02:00
Henri Verbeet
23c042f8ee vkd3d-shader/spirv: Rename vkd3d_spirv_get_type_id_for_data_type() to spirv_get_type_id(). 2025-09-02 11:36:37 +02:00
Henri Verbeet
3c006b2ae9 vkd3d-shader/spirv: Rename vkd3d_spirv_get_type_id() to spirv_get_type_id_for_component_type(). 2025-09-02 11:36:37 +02:00
Henri Verbeet
979d7e4b85 vkd3d-shader/ir: Remove VSIR_OP_DCL_OUTPUT_TOPOLOGY instructions. 2025-09-01 15:15:32 +02:00
Henri Verbeet
392da43dd3 vkd3d-shader/ir: Remove VSIR_OP_DCL_INPUT_PRIMITIVE instructions. 2025-09-01 15:15:32 +02:00
Henri Verbeet
f732fb7889 Release 1.17. 2025-08-21 12:52:13 +02:00
Henri Verbeet
8334386d99 vkd3d-shader/spirv: Avoid emitting duplicate built-in inputs in spirv_compiler_emit_input().
This works around an issue introduced by commit
66cb2815f0. SV_PRIMITIVE_ID inputs in
geometry shaders use VKD3DSPR_PRIMID registers, and we create the
corresponding SPIR-V inputs using spirv_compiler_emit_io_register().
Unfortunately we also have an input signature element for the same
input, and simply creating another PrimitiveId input would run into
VUID-StandaloneSpirv-OpEntryPoint-09658.

Before the commit mentioned above, we'd use DCL_INPUT instructions to
emit input declarations, and these would help to distinguish whether
VKD3DSPR_INPUT or VKD3DSPR_PRIMID registers were used for primitive ID
inputs. Note that we can't simply ignore input signature element with
SIGNATURE_TARGET_LOCATION_UNUSED; the DXIL parser emits SV_SAMPLE_INDEX
inputs with that target location, but does require them to use a
VKD3DSPR_INPUT register.
2025-08-13 15:54:12 +02:00
Giovanni Mascellani
52b9ef0426 vkd3d-shader/spirv: Support precise flags on SAMPLE_INFO instructions. 2025-07-29 12:31:36 +02:00
Giovanni Mascellani
53754f0583 vkd3d-shader/spirv: Support precise flags on RESINFO instructions. 2025-07-29 12:31:23 +02:00
Henri Verbeet
9b0087a111 vkd3d-shader/spirv: Emit OpLine instructions. 2025-07-28 16:11:29 +02:00
Henri Verbeet
f02405350e vkd3d-shader/ir: Consistently use VSIR_DATA_U32 for resinfo_uint destination operands.
Much like we do for sample_info_uint.
2025-07-23 17:23:40 +02:00