vkd3d-shader/hlsl: Pass the correct type to base_type_get_semantic_equivalent().

This commit is contained in:
Elizabeth Figura
2025-03-03 16:24:39 -06:00
committed by Henri Verbeet
parent 3cf4a4e95e
commit 16be9181a0
Notes: Henri Verbeet 2025-03-06 17:32:40 +01:00
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1387

View File

@@ -5356,6 +5356,11 @@ static enum vkd3d_shader_interpolation_mode sm4_get_interpolation_mode(struct hl
{HLSL_STORAGE_CENTROID | HLSL_STORAGE_LINEAR, VKD3DSIM_LINEAR_CENTROID},
};
if (hlsl_type_is_patch_array(type))
type = type->e.array.type;
VKD3D_ASSERT(hlsl_is_numeric_type(type));
if ((storage_modifiers & HLSL_STORAGE_NOINTERPOLATION)
|| base_type_get_semantic_equivalent(type->e.numeric.type) == HLSL_TYPE_UINT)
return VKD3DSIM_CONSTANT;