Module: vkd3d Branch: master Commit: 193692bbcbaf6fbcd8138ae8f0b0c6995d5b02c8 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/193692bbcbaf6fbcd8138ae8f0b0c6...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Wed Mar 8 02:47:59 2023 +0100
vkd3d-shader/hlsl: Use array element type for array's regset.
Currently this affects SM1 compilation only, with a minimal example like this:
float4 var[3]; float4 main() : sv_target { return var[1]; }
---
libs/vkd3d-shader/hlsl.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/libs/vkd3d-shader/hlsl.c b/libs/vkd3d-shader/hlsl.c index a62a76de..286c6e60 100644 --- a/libs/vkd3d-shader/hlsl.c +++ b/libs/vkd3d-shader/hlsl.c @@ -203,6 +203,8 @@ enum hlsl_regset hlsl_type_get_regset(const struct hlsl_type *type) vkd3d_unreachable(); } } + else if (type->type == HLSL_CLASS_ARRAY) + return hlsl_type_get_regset(type->e.array.type);
vkd3d_unreachable(); }