From 5d385fbce0ebb85e63e4a5c067da71aed4017a75 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 11 Nov 2025 17:40:57 +0100 Subject: [PATCH] vkd3d-shader/d3d-asm: Avoid shader_print_data_type() in shader_dump_resource_data_type(). --- libs/vkd3d-shader/d3d_asm.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/libs/vkd3d-shader/d3d_asm.c b/libs/vkd3d-shader/d3d_asm.c index 4573cb67f..b316f6c88 100644 --- a/libs/vkd3d-shader/d3d_asm.c +++ b/libs/vkd3d-shader/d3d_asm.c @@ -398,12 +398,41 @@ static void shader_dump_resource_data_type(struct vkd3d_d3d_asm_compiler *compil { int i; + /* We want the D3D names here, not the vsir ones. */ + static const char * const names[] = + { + [VSIR_DATA_BOOL ] = "bool", + [VSIR_DATA_F16 ] = "half", + [VSIR_DATA_F32 ] = "float", + [VSIR_DATA_F64 ] = "double", + [VSIR_DATA_I8 ] = "int8", + [VSIR_DATA_I16 ] = "int16", + [VSIR_DATA_I32 ] = "int", + [VSIR_DATA_I64 ] = "int64", + [VSIR_DATA_U8 ] = "uint8", + [VSIR_DATA_U16 ] = "uint16", + [VSIR_DATA_U32 ] = "uint", + [VSIR_DATA_U64 ] = "uint64", + [VSIR_DATA_SNORM ] = "snorm", + [VSIR_DATA_UNORM ] = "unorm", + [VSIR_DATA_OPAQUE ] = "opaque", + [VSIR_DATA_MIXED ] = "mixed", + [VSIR_DATA_CONTINUED] = "", + [VSIR_DATA_UNUSED ] = "", + }; + vkd3d_string_buffer_printf(&compiler->buffer, "("); for (i = 0; i < 4; i++) { + size_t t = type[i]; + vkd3d_string_buffer_printf(&compiler->buffer, "%s", i == 0 ? "" : ","); - shader_print_data_type(compiler, type[i]); + if (t < ARRAY_SIZE(names) && names[t]) + vkd3d_string_buffer_printf(&compiler->buffer, "%s", names[t]); + else + vkd3d_string_buffer_printf(&compiler->buffer, "%s%s", + compiler->colours.error, t, compiler->colours.reset); } vkd3d_string_buffer_printf(&compiler->buffer, ")");