From: Brian Paul Date: Wed, 1 Sep 2010 01:14:18 +0000 (-0600) Subject: gallivm: fix bug in nested conditionals X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3fa3c33844b8491a204cda6ae8d67cd6ada78b3b;p=mesa.git gallivm: fix bug in nested conditionals This, plus the previous commit fix fd.o bug 29806. --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c index ca8db9ce01d..0e07f7f3f38 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c @@ -200,8 +200,10 @@ static void lp_exec_mask_cond_push(struct lp_exec_mask *mask, } mask->cond_stack[mask->cond_stack_size++] = mask->cond_mask; assert(LLVMTypeOf(val) == mask->int_vec_type); - mask->cond_mask = val; - + mask->cond_mask = LLVMBuildAnd(mask->bld->builder, + mask->cond_mask, + val, + ""); lp_exec_mask_update(mask); }