Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/tpf.c:
+ + if (store->resource.var == var && store->resource.offset_regset == regset + && hlsl_offset_from_deref_safe(ctx, &store->resource) == offsets[regset]) + { + store->resource.var = new_var; + hlsl_src_remove(&store->resource.offset); + } + } + } + } + + ++offsets[regset]; + } + + for (i = 0; i <= HLSL_REGSET_LAST_OBJECT; ++i) + var->regs[i].allocated = false; This feels fragile.
I've probably asked this already, but do we really need to create new hlsl_ir_vars? If this is just specific to RDEF logic, can we just add code to generate multiple RDEF entries from a single var? -- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/209#note_33304