From db149cd8cf7e6f39b241e5114e4e4ef0d4e8e59b Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Thu, 17 Jul 2025 16:03:55 +0200 Subject: [PATCH] vkd3d-shader/ir: Rename VKD3D_DATA_DOUBLE to VSIR_DATA_F64. --- libs/vkd3d-shader/d3d_asm.c | 4 ++-- libs/vkd3d-shader/dxil.c | 10 +++++----- libs/vkd3d-shader/hlsl_codegen.c | 4 ++-- libs/vkd3d-shader/ir.c | 14 +++++++------- libs/vkd3d-shader/spirv.c | 12 ++++++------ libs/vkd3d-shader/tpf.c | 8 ++++---- libs/vkd3d-shader/vkd3d_shader_main.c | 8 ++++---- libs/vkd3d-shader/vkd3d_shader_private.h | 12 ++++++------ 8 files changed, 36 insertions(+), 36 deletions(-) diff --git a/libs/vkd3d-shader/d3d_asm.c b/libs/vkd3d-shader/d3d_asm.c index 6d21d93e7..7d10cf98f 100644 --- a/libs/vkd3d-shader/d3d_asm.c +++ b/libs/vkd3d-shader/d3d_asm.c @@ -394,7 +394,6 @@ static void shader_print_data_type(struct vkd3d_d3d_asm_compiler *compiler, enum [VKD3D_DATA_SNORM ] = "snorm", [VKD3D_DATA_OPAQUE ] = "opaque", [VKD3D_DATA_MIXED ] = "mixed", - [VKD3D_DATA_DOUBLE ] = "double", [VKD3D_DATA_CONTINUED] = "", [VKD3D_DATA_UNUSED ] = "", [VKD3D_DATA_UINT8 ] = "uint8", @@ -403,6 +402,7 @@ static void shader_print_data_type(struct vkd3d_d3d_asm_compiler *compiler, enum [VKD3D_DATA_UINT16 ] = "uint16", [VSIR_DATA_F16 ] = "half", [VSIR_DATA_F32 ] = "float", + [VSIR_DATA_F64 ] = "double", }; if (type < ARRAY_SIZE(data_type_names)) @@ -800,7 +800,7 @@ static void shader_print_register(struct vkd3d_d3d_asm_compiler *compiler, const /* A double2 vector is treated as a float4 vector in enum vsir_dimension. */ if (reg->dimension == VSIR_DIMENSION_SCALAR || reg->dimension == VSIR_DIMENSION_VEC4) { - if (reg->data_type == VKD3D_DATA_DOUBLE) + if (reg->data_type == VSIR_DATA_F64) { shader_print_double_literal(compiler, "", reg->u.immconst_f64[0], ""); if (reg->dimension == VSIR_DIMENSION_VEC4) diff --git a/libs/vkd3d-shader/dxil.c b/libs/vkd3d-shader/dxil.c index 7480a0628..565c528b0 100644 --- a/libs/vkd3d-shader/dxil.c +++ b/libs/vkd3d-shader/dxil.c @@ -2503,7 +2503,7 @@ static enum vsir_data_type vsir_data_type_from_dxil(const struct sm6_type *type) case 32: return VSIR_DATA_F32; case 64: - return VKD3D_DATA_DOUBLE; + return VSIR_DATA_F64; default: FIXME("Unhandled width %u.\n", type->u.width); return VSIR_DATA_F32; @@ -3266,7 +3266,7 @@ static enum vkd3d_result value_allocate_constant_array(struct sm6_value *dst, co icb->data[i] = operands[i]; break; - case VKD3D_DATA_DOUBLE: + case VSIR_DATA_F64: case VKD3D_DATA_UINT64: data64 = (uint64_t *)icb->data; for (i = 0; i < count; ++i) @@ -9043,13 +9043,13 @@ static const enum vsir_data_type data_type_table[] = [COMPONENT_TYPE_U64] = VKD3D_DATA_UNUSED, [COMPONENT_TYPE_F16] = VSIR_DATA_F32, [COMPONENT_TYPE_F32] = VSIR_DATA_F32, - [COMPONENT_TYPE_F64] = VKD3D_DATA_DOUBLE, + [COMPONENT_TYPE_F64] = VSIR_DATA_F64, [COMPONENT_TYPE_SNORMF16] = VKD3D_DATA_SNORM, [COMPONENT_TYPE_UNORMF16] = VKD3D_DATA_UNORM, [COMPONENT_TYPE_SNORMF32] = VKD3D_DATA_SNORM, [COMPONENT_TYPE_UNORMF32] = VKD3D_DATA_UNORM, - [COMPONENT_TYPE_SNORMF64] = VKD3D_DATA_DOUBLE, - [COMPONENT_TYPE_UNORMF64] = VKD3D_DATA_DOUBLE, + [COMPONENT_TYPE_SNORMF64] = VSIR_DATA_F64, + [COMPONENT_TYPE_UNORMF64] = VSIR_DATA_F64, [COMPONENT_TYPE_PACKEDS8X32] = VKD3D_DATA_UNUSED, [COMPONENT_TYPE_PACKEDU8X32] = VKD3D_DATA_UNUSED, }; diff --git a/libs/vkd3d-shader/hlsl_codegen.c b/libs/vkd3d-shader/hlsl_codegen.c index 42cd1f470..661c34f5f 100644 --- a/libs/vkd3d-shader/hlsl_codegen.c +++ b/libs/vkd3d-shader/hlsl_codegen.c @@ -8239,7 +8239,7 @@ static enum vsir_data_type vsir_data_type_from_hlsl_type(struct hlsl_ctx *ctx, c switch (type->e.numeric.type) { case HLSL_TYPE_DOUBLE: - return VKD3D_DATA_DOUBLE; + return VSIR_DATA_F64; case HLSL_TYPE_FLOAT: return VSIR_DATA_F32; case HLSL_TYPE_HALF: @@ -12174,7 +12174,7 @@ static enum vsir_data_type sm4_generate_vsir_get_format_type(const struct hlsl_t switch (format->e.numeric.type) { case HLSL_TYPE_DOUBLE: - return VKD3D_DATA_DOUBLE; + return VSIR_DATA_F64; case HLSL_TYPE_FLOAT: case HLSL_TYPE_HALF: diff --git a/libs/vkd3d-shader/ir.c b/libs/vkd3d-shader/ir.c index 342a78b46..8f39204a3 100644 --- a/libs/vkd3d-shader/ir.c +++ b/libs/vkd3d-shader/ir.c @@ -9775,9 +9775,9 @@ static void vsir_validate_dst_param(struct validation_context *ctx, { switch (dst->reg.data_type) { - case VKD3D_DATA_DOUBLE: case VSIR_DATA_F16: case VSIR_DATA_F32: + case VSIR_DATA_F64: break; default: @@ -9883,7 +9883,7 @@ static void vsir_validate_io_src_param(struct validation_context *ctx, "Invalid register type %#x used as source parameter.", src->reg.type); } -#define F64_BIT (1u << VKD3D_DATA_DOUBLE) +#define F64_BIT (1u << VSIR_DATA_F64) #define F32_BIT (1u << VSIR_DATA_F32) #define F16_BIT (1u << VSIR_DATA_F16) @@ -10623,7 +10623,7 @@ static void vsir_validate_double_elementwise_operation(struct validation_context { static const bool types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_DOUBLE] = true, + [VSIR_DATA_F64] = true, }; vsir_validate_elementwise_operation(ctx, instruction, types); @@ -10712,7 +10712,7 @@ static void vsir_validate_double_comparison_operation(struct validation_context { static const bool types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_DOUBLE] = true, + [VSIR_DATA_F64] = true, }; vsir_validate_comparison_operation(ctx, instruction, types); @@ -11285,9 +11285,9 @@ static void vsir_validate_ftoi(struct validation_context *ctx, const struct vkd3 { static const bool src_types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_DOUBLE] = true, [VSIR_DATA_F16] = true, [VSIR_DATA_F32] = true, + [VSIR_DATA_F64] = true, }; static const bool dst_types[VSIR_DATA_TYPE_COUNT] = { @@ -11302,9 +11302,9 @@ static void vsir_validate_ftou(struct validation_context *ctx, const struct vkd3 { static const bool src_types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_DOUBLE] = true, [VSIR_DATA_F16] = true, [VSIR_DATA_F32] = true, + [VSIR_DATA_F64] = true, }; static const bool dst_types[VSIR_DATA_TYPE_COUNT] = { @@ -11337,9 +11337,9 @@ static void vsir_validate_itof(struct validation_context *ctx, const struct vkd3 }; static const bool dst_types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_DOUBLE] = true, [VSIR_DATA_F16] = true, [VSIR_DATA_F32] = true, + [VSIR_DATA_F64] = true, }; vsir_validate_cast_operation(ctx, instruction, src_types, dst_types); diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index b349f2332..03aa2110b 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -4715,7 +4715,7 @@ static uint32_t spirv_compiler_emit_constant_array(struct spirv_compiler *compil elements[i] = spirv_compiler_get_constant(compiler, component_type, component_count, &icb->data[component_count * i]); break; - case VKD3D_DATA_DOUBLE: + case VSIR_DATA_F64: case VKD3D_DATA_UINT64: { uint64_t *data = (uint64_t *)icb->data; @@ -5029,7 +5029,7 @@ static uint32_t spirv_compiler_emit_sat(struct spirv_compiler *compiler, struct vkd3d_spirv_builder *builder = &compiler->spirv_builder; uint32_t type_id, zero_id, one_id; - if (reg->data_type == VKD3D_DATA_DOUBLE) + if (reg->data_type == VSIR_DATA_F64) { zero_id = spirv_compiler_get_constant_double_vector(compiler, 0.0, component_count); one_id = spirv_compiler_get_constant_double_vector(compiler, 1.0, component_count); @@ -7596,7 +7596,7 @@ static void spirv_compiler_emit_bool_cast(struct spirv_compiler *compiler, { val_id = spirv_compiler_emit_bool_to_float(compiler, 1, val_id, instruction->opcode == VSIR_OP_ITOF); } - else if (dst->reg.data_type == VKD3D_DATA_DOUBLE) + else if (dst->reg.data_type == VSIR_DATA_F64) { /* ITOD is not supported. Frontends which emit bool casts must use ITOF for double. */ val_id = spirv_compiler_emit_bool_to_double(compiler, 1, val_id, instruction->opcode == VSIR_OP_ITOF); @@ -8051,7 +8051,7 @@ static void spirv_compiler_emit_rcp(struct spirv_compiler *compiler, type_id = spirv_compiler_get_type_id_for_dst(compiler, dst); src_id = spirv_compiler_emit_load_src(compiler, src, dst->write_mask); - if (src->reg.data_type == VKD3D_DATA_DOUBLE) + if (src->reg.data_type == VSIR_DATA_F64) div_id = spirv_compiler_get_constant_double_vector(compiler, 1.0, component_count); else div_id = spirv_compiler_get_constant_float_vector(compiler, 1.0f, component_count); @@ -8101,7 +8101,7 @@ static void spirv_compiler_emit_ftoi(struct spirv_compiler *compiler, component_count = vsir_write_mask_component_count(dst->write_mask); - if (src->reg.data_type == VKD3D_DATA_DOUBLE) + if (src->reg.data_type == VSIR_DATA_F64) { write_mask = vkd3d_write_mask_from_component_count(component_count); int_min_id = spirv_compiler_get_constant_double_vector(compiler, -2147483648.0, component_count); @@ -8157,7 +8157,7 @@ static void spirv_compiler_emit_ftou(struct spirv_compiler *compiler, component_count = vsir_write_mask_component_count(dst->write_mask); - if (src->reg.data_type == VKD3D_DATA_DOUBLE) + if (src->reg.data_type == VSIR_DATA_F64) { write_mask = vkd3d_write_mask_from_component_count(component_count); zero_id = spirv_compiler_get_constant_double_vector(compiler, 0.0, component_count); diff --git a/libs/vkd3d-shader/tpf.c b/libs/vkd3d-shader/tpf.c index 19c6b9e71..b581fae49 100644 --- a/libs/vkd3d-shader/tpf.c +++ b/libs/vkd3d-shader/tpf.c @@ -757,7 +757,7 @@ static const enum vsir_data_type data_type_table[] = /* VKD3D_SM4_DATA_UINT */ VKD3D_DATA_UINT, /* VKD3D_SM4_DATA_FLOAT */ VSIR_DATA_F32, /* VKD3D_SM4_DATA_MIXED */ VKD3D_DATA_MIXED, - /* VKD3D_SM4_DATA_DOUBLE */ VKD3D_DATA_DOUBLE, + /* VKD3D_SM4_DATA_DOUBLE */ VSIR_DATA_F64, /* VKD3D_SM4_DATA_CONTINUED */ VKD3D_DATA_CONTINUED, /* VKD3D_SM4_DATA_UNUSED */ VKD3D_DATA_UNUSED, }; @@ -1430,7 +1430,7 @@ static void init_sm4_lookup_tables(struct vkd3d_sm4_lookup_tables *lookup) unsigned int i; /* - * d -> VKD3D_DATA_DOUBLE + * d -> VSIR_DATA_F64 * f -> VSIR_DATA_F32 * i -> VKD3D_DATA_INT * u -> VKD3D_DATA_UINT @@ -1990,7 +1990,7 @@ static enum vsir_data_type map_data_type(char t) switch (t) { case 'd': - return VKD3D_DATA_DOUBLE; + return VSIR_DATA_F64; case 'f': return VSIR_DATA_F32; case 'i': @@ -2512,7 +2512,7 @@ static bool shader_sm4_read_dst_param(struct vkd3d_shader_sm4_parser *priv, cons break; } - if (data_type == VKD3D_DATA_DOUBLE) + if (data_type == VSIR_DATA_F64) dst_param->write_mask = vsir_write_mask_64_from_32(dst_param->write_mask); /* Some scalar registers are declared with no write mask in shader bytecode. */ if (!dst_param->write_mask && shader_sm4_is_scalar_register(&dst_param->reg)) diff --git a/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d-shader/vkd3d_shader_main.c index 766e38a8d..dbc10a6d4 100644 --- a/libs/vkd3d-shader/vkd3d_shader_main.c +++ b/libs/vkd3d-shader/vkd3d_shader_main.c @@ -1534,16 +1534,16 @@ static enum vkd3d_shader_resource_data_type vkd3d_resource_data_type_from_data_t return VKD3D_SHADER_RESOURCE_DATA_INT; case VKD3D_DATA_UINT: return VKD3D_SHADER_RESOURCE_DATA_UINT; - case VSIR_DATA_F32: - return VKD3D_SHADER_RESOURCE_DATA_FLOAT; case VKD3D_DATA_MIXED: return VKD3D_SHADER_RESOURCE_DATA_MIXED; - case VKD3D_DATA_DOUBLE: - return VKD3D_SHADER_RESOURCE_DATA_DOUBLE; case VKD3D_DATA_CONTINUED: return VKD3D_SHADER_RESOURCE_DATA_CONTINUED; case VKD3D_DATA_UNUSED: return VKD3D_SHADER_RESOURCE_DATA_NONE; + case VSIR_DATA_F32: + return VKD3D_SHADER_RESOURCE_DATA_FLOAT; + case VSIR_DATA_F64: + return VKD3D_SHADER_RESOURCE_DATA_DOUBLE; default: ERR("Invalid resource data type %#x.\n", data_type); return VKD3D_SHADER_RESOURCE_DATA_FLOAT; diff --git a/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d-shader/vkd3d_shader_private.h index 057234682..58da28518 100644 --- a/libs/vkd3d-shader/vkd3d_shader_private.h +++ b/libs/vkd3d-shader/vkd3d_shader_private.h @@ -716,7 +716,6 @@ enum vsir_data_type VKD3D_DATA_SNORM, VKD3D_DATA_OPAQUE, VKD3D_DATA_MIXED, - VKD3D_DATA_DOUBLE, VKD3D_DATA_CONTINUED, VKD3D_DATA_UNUSED, VKD3D_DATA_UINT8, @@ -726,6 +725,7 @@ enum vsir_data_type VSIR_DATA_F16, VSIR_DATA_F32, + VSIR_DATA_F64, VSIR_DATA_TYPE_COUNT, }; @@ -743,12 +743,12 @@ static inline bool data_type_is_bool(enum vsir_data_type data_type) static inline bool data_type_is_floating_point(enum vsir_data_type data_type) { - return data_type == VSIR_DATA_F16 || data_type == VSIR_DATA_F32 || data_type == VKD3D_DATA_DOUBLE; + return data_type == VSIR_DATA_F16 || data_type == VSIR_DATA_F32 || data_type == VSIR_DATA_F64; } static inline bool data_type_is_64_bit(enum vsir_data_type data_type) { - return data_type == VKD3D_DATA_DOUBLE || data_type == VKD3D_DATA_UINT64; + return data_type == VSIR_DATA_F64 || data_type == VKD3D_DATA_UINT64; } enum vsir_dimension @@ -1795,13 +1795,13 @@ static inline enum vkd3d_shader_component_type vkd3d_component_type_from_data_ty case VKD3D_DATA_UNORM: case VKD3D_DATA_SNORM: return VKD3D_SHADER_COMPONENT_FLOAT; + case VSIR_DATA_F64: + return VKD3D_SHADER_COMPONENT_DOUBLE; case VKD3D_DATA_UINT16: /* Minimum precision. TODO: native 16-bit */ case VKD3D_DATA_UINT: return VKD3D_SHADER_COMPONENT_UINT; case VKD3D_DATA_INT: return VKD3D_SHADER_COMPONENT_INT; - case VKD3D_DATA_DOUBLE: - return VKD3D_SHADER_COMPONENT_DOUBLE; case VKD3D_DATA_UINT64: return VKD3D_SHADER_COMPONENT_UINT64; case VKD3D_DATA_BOOL: @@ -1825,7 +1825,7 @@ static inline enum vsir_data_type vsir_data_type_from_component_type(enum vkd3d_ case VKD3D_SHADER_COMPONENT_INT: return VKD3D_DATA_INT; case VKD3D_SHADER_COMPONENT_DOUBLE: - return VKD3D_DATA_DOUBLE; + return VSIR_DATA_F64; default: FIXME("Unhandled component type %#x.\n", component_type); return VSIR_DATA_F32;