projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
18d406e
)
gallivm: properly test the if condition and branch to the proper label
author
Zack Rusin
<zackr@vmware.com>
Wed, 10 Mar 2010 21:36:20 +0000
(16:36 -0500)
committer
Zack Rusin
<zackr@vmware.com>
Wed, 10 Mar 2010 21:56:42 +0000
(16:56 -0500)
makes loops work
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
patch
|
blob
|
history
diff --git
a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
index 085afe33deb7a1a2824bf0d539e5bac0d6907d1b..aa57289395e5cf570cf7772154f348c3e2199f97 100644
(file)
--- a/
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
+++ b/
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
@@
-301,7
+301,7
@@
static void lp_exec_endloop(struct lp_exec_mask *mask)
endloop = lp_build_insert_new_block(mask->bld->builder, "endloop");
LLVMBuildCondBr(mask->bld->builder,
- i1cond,
endloop, mask->loop_block
);
+ i1cond,
mask->loop_block, endloop
);
LLVMPositionBuilderAtEnd(mask->bld->builder, endloop);
@@
-1498,6
+1498,8
@@
emit_instruction(
case TGSI_OPCODE_IF:
tmp0 = emit_fetch(bld, inst, 0, CHAN_X);
+ tmp0 = lp_build_cmp(&bld->base, PIPE_FUNC_NOTEQUAL,
+ tmp0, bld->base.zero);
lp_exec_mask_cond_push(&bld->exec_mask, tmp0);
break;