Zebediah Figura : vkd3d-shader/hlsl: Handle texture types in hlsl_type_to_string().
Module: vkd3d Branch: master Commit: aafe776401578b2700244d4e9a9dd122aeaf0895 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=aafe776401578b2700244d4e... Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Thu Oct 7 21:58:56 2021 -0500 vkd3d-shader/hlsl: Handle texture types in hlsl_type_to_string(). Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Matteo Bruni <mbruni(a)codeweavers.com> Signed-off-by: Giovanni Mascellani <gmascellani(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- libs/vkd3d-shader/hlsl.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/libs/vkd3d-shader/hlsl.c b/libs/vkd3d-shader/hlsl.c index aecc4a6..e0f26c0 100644 --- a/libs/vkd3d-shader/hlsl.c +++ b/libs/vkd3d-shader/hlsl.c @@ -893,6 +893,37 @@ struct vkd3d_string_buffer *hlsl_type_to_string(struct hlsl_ctx *ctx, const stru vkd3d_string_buffer_printf(string, "<anonymous struct>"); return string; + case HLSL_CLASS_OBJECT: + { + static const char dimensions[5][HLSL_SAMPLER_DIM_MAX + 1] = + { + [HLSL_SAMPLER_DIM_1D] = "1D", + [HLSL_SAMPLER_DIM_2D] = "2D", + [HLSL_SAMPLER_DIM_3D] = "3D", + [HLSL_SAMPLER_DIM_CUBE] = "Cube" + }; + + switch (type->base_type) + { + case HLSL_TYPE_TEXTURE: + if (type->sampler_dim == HLSL_SAMPLER_DIM_GENERIC) + { + vkd3d_string_buffer_printf(string, "Texture"); + return string; + } + + assert(type->sampler_dim < ARRAY_SIZE(dimensions)); + assert(type->e.resource_format->base_type < ARRAY_SIZE(base_types)); + vkd3d_string_buffer_printf(string, "Texture%s<%s%u>", dimensions[type->sampler_dim], + base_types[type->e.resource_format->base_type], type->e.resource_format->dimx); + return string; + + default: + vkd3d_string_buffer_printf(string, "<unexpected type>"); + return string; + } + } + default: vkd3d_string_buffer_printf(string, "<unexpected type>"); return string;
participants (1)
-
Alexandre Julliard