Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/hlsl.c:
- list_init(&cases);
- LIST_FOR_EACH_ENTRY(c, &s->cases, struct hlsl_ir_switch_case, entry)
- {
clone_block(ctx, &body, &c->body, map);
if (!(d = hlsl_new_switch_case(ctx, NULL, &body, &c->loc)))
return NULL;
d->value = c->value;
d->is_default = c->is_default;
list_add_tail(&cases, &d->entry);
- }
- return hlsl_new_switch(ctx, map_instr(map, s->selector.node), &cases, &s->node.loc);
This might need cleanup too.