Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/hlsl.y:
+ "UAV type %s is not numeric.", string->buffer); } + + switch ($1) + { + case HLSL_SAMPLER_DIM_BUFFER: + case HLSL_SAMPLER_DIM_1D: + case HLSL_SAMPLER_DIM_2D: + case HLSL_SAMPLER_DIM_3D: + if ($3->class == HLSL_CLASS_ARRAY) + { + if (string) + hlsl_error(ctx, &@3, VKD3D_SHADER_ERROR_HLSL_INVALID_TYPE, + "This type of UAV does not support array type."); + } + else if ($3->dimx * $3->dimy > 4) I think that's correct, but `hlsl_type_component_count()` is clearer.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/193#note_33007