mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader/spirv: Ignore break instructions outside active blocks.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
a1df197561
commit
45ccf85ae6
@ -7802,8 +7802,10 @@ static int vkd3d_dxbc_compiler_emit_control_flow_instruction(struct vkd3d_dxbc_c
|
||||
}
|
||||
else if (breakable_cf_info->current_block == VKD3D_BLOCK_SWITCH)
|
||||
{
|
||||
assert(breakable_cf_info->inside_block);
|
||||
vkd3d_spirv_build_op_branch(builder, breakable_cf_info->u.switch_.merge_block_id);
|
||||
/* The current case block may have already been ended by an
|
||||
* unconditional continue instruction. */
|
||||
if (breakable_cf_info->inside_block)
|
||||
vkd3d_spirv_build_op_branch(builder, breakable_cf_info->u.switch_.merge_block_id);
|
||||
}
|
||||
|
||||
cf_info->inside_block = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user