summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_emit.c
diff options
context:
space:
mode:
authorBrian <brian@yutani.localnet.net>2007-03-08 15:52:22 -0700
committerBrian <brian@yutani.localnet.net>2007-03-08 15:52:22 -0700
commit5761a93bba11e8a47660f465b27485e130150242 (patch)
tree5e34122f787a8e13fcf51be0990cafb467c5fea6 /src/mesa/shader/slang/slang_emit.c
parent3e0fbc7efcebdbef5698a270bd0192335a2d556b (diff)
Added IR_SLE and IR_SLT for <= and < operations.
Using IR_SGE and IR_SGT with transposed args doesn't work since the __asm calls don't do argument matching by name, but by position. This fixes the broken lessThan() and lessThanEqual() functions.
Diffstat (limited to 'src/mesa/shader/slang/slang_emit.c')
-rw-r--r--src/mesa/shader/slang/slang_emit.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/shader/slang/slang_emit.c b/src/mesa/shader/slang/slang_emit.c
index c90bf34183..8ad61d8a3b 100644
--- a/src/mesa/shader/slang/slang_emit.c
+++ b/src/mesa/shader/slang/slang_emit.c
@@ -95,6 +95,8 @@ static const slang_ir_info IrInfo[] = {
{ IR_SNEQUAL, "IR_SNEQUAL", OPCODE_SNE, 4, 2 },
{ IR_SGE, "IR_SGE", OPCODE_SGE, 4, 2 },
{ IR_SGT, "IR_SGT", OPCODE_SGT, 4, 2 },
+ { IR_SLE, "IR_SLE", OPCODE_SLE, 4, 2 },
+ { IR_SLT, "IR_SLT", OPCODE_SLT, 4, 2 },
{ IR_POW, "IR_POW", OPCODE_POW, 1, 2 },
/* unary ops */
{ IR_I_TO_F, "IR_I_TO_F", OPCODE_NOP, 1, 1 },
@@ -1495,6 +1497,8 @@ emit(slang_emit_info *emitInfo, slang_ir_node *n)
case IR_SNEQUAL:
case IR_SGE:
case IR_SGT:
+ case IR_SLE:
+ case IR_SLT:
case IR_POW:
case IR_EXP:
case IR_EXP2: