mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-shader/tpf: Do not write structs with no numeric fields into the RDEF.
This commit is contained in:
parent
0b1f11dd33
commit
34e9c101e8
Notes:
Alexandre Julliard
2024-03-27 23:06:24 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/626
@ -3474,8 +3474,7 @@ static void write_sm4_rdef(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc)
|
||||
|
||||
LIST_FOR_EACH_ENTRY(var, &ctx->extern_vars, struct hlsl_ir_var, extern_entry)
|
||||
{
|
||||
if (var->is_uniform && var->buffer == cbuffer
|
||||
&& var->data_type->class != HLSL_CLASS_OBJECT)
|
||||
if (var->is_uniform && var->buffer == cbuffer && var->data_type->reg_size[HLSL_REGSET_NUMERIC])
|
||||
++var_count;
|
||||
}
|
||||
|
||||
@ -3509,8 +3508,7 @@ static void write_sm4_rdef(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc)
|
||||
|
||||
LIST_FOR_EACH_ENTRY(var, &ctx->extern_vars, struct hlsl_ir_var, extern_entry)
|
||||
{
|
||||
if (var->is_uniform && var->buffer == cbuffer
|
||||
&& var->data_type->class != HLSL_CLASS_OBJECT)
|
||||
if (var->is_uniform && var->buffer == cbuffer && var->data_type->reg_size[HLSL_REGSET_NUMERIC])
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
@ -3537,8 +3535,7 @@ static void write_sm4_rdef(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc)
|
||||
j = 0;
|
||||
LIST_FOR_EACH_ENTRY(var, &ctx->extern_vars, struct hlsl_ir_var, extern_entry)
|
||||
{
|
||||
if (var->is_uniform && var->buffer == cbuffer
|
||||
&& var->data_type->class != HLSL_CLASS_OBJECT)
|
||||
if (var->is_uniform && var->buffer == cbuffer && var->data_type->reg_size[HLSL_REGSET_NUMERIC])
|
||||
{
|
||||
const unsigned int var_size = (profile->major_version >= 5 ? 10 : 6);
|
||||
size_t var_offset = vars_start + j * var_size * sizeof(uint32_t);
|
||||
|
Loading…
Reference in New Issue
Block a user