Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/ir.c:
- if (ins->handler_idx == VKD3DSIH_HS_CONTROL_POINT_PHASE || ins->handler_idx == VKD3DSIH_HS_FORK_PHASE
|| ins->handler_idx == VKD3DSIH_HS_JOIN_PHASE)
- {
clip_cull_normaliser_resolve_temp_declaration(normaliser);
clip_cull_normaliser_copy_instruction(normaliser, ins);
return;
- }
- if (normaliser->temp_ins_idx < 0)
- {
if (!(dst_ins = clip_cull_normaliser_require_space(normaliser, 1)))
return;
normaliser->temp_ins_idx = normaliser->instruction_count;
vsir_instruction_init(dst_ins, &normaliser->location, VKD3DSIH_DCL_TEMPS);
++normaliser->instruction_count;
- }
This is appearing over and over, and we probably can handle this in just one place: [I wrote a proposal about it](https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/514#note_57885).