Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl_codegen.c:
rb_for_each_entry(&ctx->functions, dump_function, ctx); allocate_register_reservations(ctx);
- /* For now, request all the registers for each variable, even if they are not used. */
- LIST_FOR_EACH_ENTRY(var, &ctx->extern_vars, struct hlsl_ir_var, extern_entry)
- {
unsigned int k;
for (k = 0; k <= HLSL_REGSET_LAST_OBJECT; ++k)
var->regs[k].count = var->data_type->reg_size[k];
- }
I think this causes a regression for simple variables at least—we used to check last_read. Granted, this is fixed later in the series, but it makes the patch look wrong by itself.