Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/hlsl_codegen.c:
remove_unreachable_code(ctx, &loop->body);}else if (instr->type == HLSL_IR_SWITCH){struct hlsl_ir_switch *s = hlsl_ir_switch(instr);struct hlsl_ir_switch_case *c;LIST_FOR_EACH_ENTRY(c, &s->cases, struct hlsl_ir_switch_case, entry){remove_unreachable_code(ctx, &c->body);}}- }
- /* Remove instructions past unconditional break. */
- LIST_FOR_EACH_ENTRY(instr, &body->instrs, struct hlsl_ir_node, entry)
Why do you need two different loops?