projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f2f5d06
)
fix cond code swizzle bug
author
Brian
<brian@yutani.localnet.net>
Wed, 28 Mar 2007 21:45:24 +0000
(15:45 -0600)
committer
Brian
<brian@yutani.localnet.net>
Wed, 28 Mar 2007 21:45:24 +0000
(15:45 -0600)
src/mesa/shader/slang/slang_emit.c
patch
|
blob
|
history
diff --git
a/src/mesa/shader/slang/slang_emit.c
b/src/mesa/shader/slang/slang_emit.c
index b00ab3c7bf3d731a818fe35d2e8abfed94d5fdcf..a726d67003eaa46b6fe99ca2820887a7c133e8c5 100644
(file)
--- a/
src/mesa/shader/slang/slang_emit.c
+++ b/
src/mesa/shader/slang/slang_emit.c
@@
-1314,8
+1314,13
@@
emit_cont_break_if_true(slang_emit_info *emitInfo, slang_ir_node *n)
const gl_inst_opcode opcode
= (n->Opcode == IR_CONT_IF_TRUE) ? OPCODE_CONT : OPCODE_BRK;
if (emitInfo->EmitCondCodes) {
+ /* Get the writemask from the previous instruction which set
+ * the condcodes. Use that writemask as the CondSwizzle.
+ */
+ const GLuint condWritemask = inst->DstReg.WriteMask;
inst = new_instruction(emitInfo, opcode);
inst->DstReg.CondMask = COND_NE;
+ inst->DstReg.CondSwizzle = writemask_to_swizzle(condWritemask);
return inst;
}
else {