Francisco Casas (@fcasas) 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 (hlsl_type_component_count($3) > 4)
I suspect this should be the reg_size of HLSL_REGSET_NUMERIC instead, since types with <=4 components but with more than 4 32-bit components, such as `RWBuffer<double3>`, are not allowed.