mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/hlsl: Handle texture types in hlsl_type_to_string().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Matteo Bruni <mbruni@codeweavers.com> Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
committed by
Alexandre Julliard
parent
a56c294abe
commit
aafe776401
@@ -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>");
|
vkd3d_string_buffer_printf(string, "<anonymous struct>");
|
||||||
return string;
|
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:
|
default:
|
||||||
vkd3d_string_buffer_printf(string, "<unexpected type>");
|
vkd3d_string_buffer_printf(string, "<unexpected type>");
|
||||||
return string;
|
return string;
|
||||||
|
Reference in New Issue
Block a user