Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl_codegen.c:
regset_name, index);
}
index = var->regs[regset].id + i;
var->regs[regset].id = var->reg_reservation.reg_index;
var->regs[regset].allocated = true;
TRACE("Allocated reserved %s to %c%u.\n", var->name, regset_name, var->regs[regset].id);
reserved_object = get_allocated_object(ctx, regset, index);
if (reserved_object && reserved_object != var)
{
hlsl_error(ctx, &var->loc, VKD3D_SHADER_ERROR_HLSL_OVERLAPPING_RESERVATIONS,
"Multiple variables bound to %c%u.", regset_name, index);
hlsl_note(ctx, &reserved_object->loc, VKD3D_SHADER_LOG_ERROR,
"Variable '%s' is already bound to %c%u.", reserved_object->name,
regset_name, index);
}
We probably want to `break` here too, lest we report multiple errors for the same overlap.