diff options
author | Jason Ekstrand <[email protected]> | 2016-09-16 21:55:08 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-10-01 15:40:14 -0700 |
commit | 4d02faede57b782264ab97d57919e9dad7dd8131 (patch) | |
tree | 4ce586d0529a54869dc44c7620c34105b4f95f4a /src/compiler/nir/nir_phi_builder.h | |
parent | fc03ecfeaf5a10a8b84d366f24f02e74ab03b145 (diff) |
nir/spirv/cfg: Handle switches whose break block is a loop continue
It is possible that the break block of a switch is actually the continue of
the loop containing the switch. In this case, we need to identify the
break block as a continue and break out of current level of CFG handling.
If we don't, the continue portion of the loop will get handled twice, once
by following after the break and a second time by the loop handling code
handling it explicitly.
This fixes 6 of the new Vulkan CTS tests:
- dEQP-VK.spirv_assembly.instruction.graphics.opphi.out_of_order*
- dEQP-VK.spirv_assembly.instruction.graphics.selection_block_order.out_of_order*
Signed-off-by: Jason Ekstrand <[email protected]>
Cc: "12.0" <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir_phi_builder.h')
0 files changed, 0 insertions, 0 deletions