mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/hlsl: Support patch arrays in hlsl_reg_from_deref().
This commit is contained in:
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
@@ -6087,11 +6087,14 @@ struct hlsl_reg hlsl_reg_from_deref(struct hlsl_ctx *ctx, const struct hlsl_dere
|
|||||||
{
|
{
|
||||||
const struct hlsl_ir_var *var = deref->var;
|
const struct hlsl_ir_var *var = deref->var;
|
||||||
struct hlsl_reg ret = var->regs[HLSL_REGSET_NUMERIC];
|
struct hlsl_reg ret = var->regs[HLSL_REGSET_NUMERIC];
|
||||||
unsigned int offset = hlsl_offset_from_deref_safe(ctx, deref);
|
unsigned int offset = 0;
|
||||||
|
|
||||||
VKD3D_ASSERT(deref->data_type);
|
VKD3D_ASSERT(deref->data_type);
|
||||||
VKD3D_ASSERT(hlsl_is_numeric_type(deref->data_type));
|
VKD3D_ASSERT(hlsl_is_numeric_type(deref->data_type));
|
||||||
|
|
||||||
|
if (!hlsl_type_is_patch_array(deref->var->data_type))
|
||||||
|
offset = hlsl_offset_from_deref_safe(ctx, deref);
|
||||||
|
|
||||||
ret.index += offset / 4;
|
ret.index += offset / 4;
|
||||||
ret.id += offset / 4;
|
ret.id += offset / 4;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user