From 7665383a33f9ce9256aa121cbe4d3bd948dff145 Mon Sep 17 00:00:00 2001 From: Mark Janes Date: Thu, 21 Dec 2017 12:15:40 -0800 Subject: Revert "spirv: consider bitsize when handling OpSwitch cases" This reverts commit 9702fac68e8bd07be8871f7925d7f9fb98da3699, which hangs vulkancts and crucible on all platforms. The patch is being reverted because it disables continuous integration testing. The patch from bug 104359 does not apply to master. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104359 --- src/compiler/spirv/vtn_cfg.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/compiler/spirv/vtn_cfg.c b/src/compiler/spirv/vtn_cfg.c index 9c4cbe2e6a4..8582c4f0e94 100644 --- a/src/compiler/spirv/vtn_cfg.c +++ b/src/compiler/spirv/vtn_cfg.c @@ -513,14 +513,13 @@ vtn_cfg_walk_blocks(struct vtn_builder *b, struct list_head *cf_list, "Selector of OpSelect must have a type of OpTypeInt"); bool is_default = true; - const uint bitsize = nir_alu_type_get_type_size(cond_type); for (const uint32_t *w = block->branch + 2; w < branch_end;) { uint64_t literal = 0; if (!is_default) { - if (bitsize <= 32) { + if (nir_alu_type_get_type_size(cond_type) <= 32) { literal = *(w++); } else { - assert(bitsize == 64); + assert(nir_alu_type_get_type_size(cond_type) == 64); literal = vtn_u64_literal(w); w += 2; } @@ -545,7 +544,7 @@ vtn_cfg_walk_blocks(struct vtn_builder *b, struct list_head *cf_list, /* Finally, we walk over all of the cases one more time and put * them in fall-through order. */ - for (const uint32_t *w = block->branch + 2; w < branch_end;) { + for (const uint32_t *w = block->branch + 2; w < branch_end; w += 2) { struct vtn_block *case_block = vtn_value(b, *w, vtn_value_type_block)->block; @@ -555,13 +554,6 @@ vtn_cfg_walk_blocks(struct vtn_builder *b, struct list_head *cf_list, vtn_assert(case_block->switch_case); vtn_order_case(swtch, case_block->switch_case); - - if (bitsize <= 32) { - w += 2; - } else { - assert(bitsize == 64); - w += 3; - } } enum vtn_branch_type branch_type = -- cgit v1.2.3