Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl_sm4.c:
{
- if (a->data_type->base_type != b->data_type->base_type)
return a->data_type->base_type - b->data_type->base_type;
- if (a->reg.allocated && b->reg.allocated)
return a->reg.id - b->reg.id;
- enum hlsl_regset a_regset, b_regset;
- bool a_allocated, b_allocated;
- unsigned int a_id, b_id;
- a_regset = HLSL_REGSET_NUMERIC;
- if (hlsl_type_is_resource(a->data_type))
a_regset = hlsl_type_get_regset(ctx, a->data_type);
- b_regset = HLSL_REGSET_NUMERIC;
- if (hlsl_type_is_resource(b->data_type))
b_regset = hlsl_type_get_regset(ctx, b->data_type);
I don't know if this is right, but it looks like a hack. What are we supposed to do with structs?