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 a_id - b_id; return strcmp(a->name, b->name); In which case can this be reached? Shouldn't two externs always differ either by regset or by id?
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/66#note_22449