mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/hlsl: Set objects' register size back to 0.
Signed-off-by: Francisco Casas <fcasas@codeweavers.com>
This commit is contained in:
committed by
Alexandre Julliard
parent
6989266e76
commit
96a7236700
Notes:
Alexandre Julliard
2022-10-18 00:13:00 +02:00
Approved-by: Zebediah Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/7
@@ -198,7 +198,6 @@ static void hlsl_type_calculate_reg_size(struct hlsl_ctx *ctx, struct hlsl_type
|
|||||||
{
|
{
|
||||||
unsigned int element_size = type->e.array.type->reg_size;
|
unsigned int element_size = type->e.array.type->reg_size;
|
||||||
|
|
||||||
assert(element_size);
|
|
||||||
if (is_sm4)
|
if (is_sm4)
|
||||||
type->reg_size = (type->e.array.elements_count - 1) * align(element_size, 4) + element_size;
|
type->reg_size = (type->e.array.elements_count - 1) * align(element_size, 4) + element_size;
|
||||||
else
|
else
|
||||||
@@ -218,8 +217,6 @@ static void hlsl_type_calculate_reg_size(struct hlsl_ctx *ctx, struct hlsl_type
|
|||||||
struct hlsl_struct_field *field = &type->e.record.fields[i];
|
struct hlsl_struct_field *field = &type->e.record.fields[i];
|
||||||
unsigned int field_size = field->type->reg_size;
|
unsigned int field_size = field->type->reg_size;
|
||||||
|
|
||||||
assert(field_size);
|
|
||||||
|
|
||||||
type->reg_size = hlsl_type_get_sm4_offset(field->type, type->reg_size);
|
type->reg_size = hlsl_type_get_sm4_offset(field->type, type->reg_size);
|
||||||
field->reg_offset = type->reg_size;
|
field->reg_offset = type->reg_size;
|
||||||
type->reg_size += field_size;
|
type->reg_size += field_size;
|
||||||
@@ -230,8 +227,7 @@ static void hlsl_type_calculate_reg_size(struct hlsl_ctx *ctx, struct hlsl_type
|
|||||||
}
|
}
|
||||||
|
|
||||||
case HLSL_CLASS_OBJECT:
|
case HLSL_CLASS_OBJECT:
|
||||||
/* For convenience when performing copy propagation. */
|
type->reg_size = 0;
|
||||||
type->reg_size = 1;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user