vkd3d-shader/hlsl: Allow non-constant indices in register_deref_usage().

This commit is contained in:
Shaun Ren
2025-02-20 22:26:34 -05:00
committed by Henri Verbeet
parent 1c2434f4d3
commit 261b5120f6
Notes: Henri Verbeet 2025-03-12 22:20:19 +01:00
Approved-by: Francisco Casas (@fcasas)
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1388

View File

@ -4807,8 +4807,7 @@ static void register_deref_usage(struct hlsl_ctx *ctx, struct hlsl_deref *deref)
struct hlsl_type *type;
unsigned int index;
if (!hlsl_regset_index_from_deref(ctx, deref, regset, &index))
return;
hlsl_regset_index_from_deref(ctx, deref, regset, &index);
if (regset <= HLSL_REGSET_LAST_OBJECT)
{
@ -4819,7 +4818,6 @@ static void register_deref_usage(struct hlsl_ctx *ctx, struct hlsl_deref *deref)
{
type = hlsl_deref_get_type(ctx, deref);
hlsl_regset_index_from_deref(ctx, deref, regset, &index);
required_bind_count = align(index + type->reg_size[regset], 4) / 4;
var->bind_count[regset] = max(var->bind_count[regset], required_bind_count);
}