Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/hlsl_sm4.c:
- enum hlsl_regset a_regset = hlsl_type_get_regset(ctx, a->data_type);
- enum hlsl_regset b_regset = hlsl_type_get_regset(ctx, b->data_type);
- unsigned int a_id, b_id;
- bool a_allocated, b_allocated;
- a_allocated = a->regs[a_regset].allocated;
- a_id = a->regs[a_regset].id;
- b_allocated = b->regs[b_regset].allocated;
- b_id = b->regs[b_regset].id;
- if (a_regset != b_regset)
return a_regset - b_regset;
- if (a_allocated && b_allocated)
return strcmp(a->name, b->name);return a_id - b_id;
In which case can this be reached? Shouldn't two externs always differ either by regset or by id?