summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-01-19 17:21:50 +1000
committerDave Airlie <airlied@redhat.com>2016-02-19 11:19:23 +1000
commit7449728c6255362192fc3bd39014dfabde5596fa (patch)
treef314f91bd6f7868281f7e6f31c5a83db7d2b6c57
parentced8fbb060326626c138a6f5395a4d03b9ca0f6f (diff)
fix up compares with doublesarb_tessellation_shader-hacks
-rw-r--r--src/vrend_shader.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/vrend_shader.c b/src/vrend_shader.c
index a75ba59..0d38020 100644
--- a/src/vrend_shader.c
+++ b/src/vrend_shader.c
@@ -2235,6 +2235,8 @@ iter_instruction(struct tgsi_iterate_context *iter,
case TGSI_OPCODE_USEQ:
case TGSI_OPCODE_FSEQ:
case TGSI_OPCODE_DSEQ:
+ if (inst->Instruction.Opcode == TGSI_OPCODE_DSEQ)
+ strcpy(writemask, ".x");
emit_ucompare("equal");
EMIT_BUF_WITH_RET(ctx, buf);
break;
@@ -2246,6 +2248,8 @@ iter_instruction(struct tgsi_iterate_context *iter,
case TGSI_OPCODE_USLT:
case TGSI_OPCODE_FSLT:
case TGSI_OPCODE_DSLT:
+ if (inst->Instruction.Opcode == TGSI_OPCODE_DSLT)
+ strcpy(writemask, ".x");
emit_ucompare("lessThan");
EMIT_BUF_WITH_RET(ctx, buf);
break;
@@ -2256,6 +2260,8 @@ iter_instruction(struct tgsi_iterate_context *iter,
case TGSI_OPCODE_USNE:
case TGSI_OPCODE_FSNE:
case TGSI_OPCODE_DSNE:
+ if (inst->Instruction.Opcode == TGSI_OPCODE_DSNE)
+ strcpy(writemask, ".x");
emit_ucompare("notEqual");
EMIT_BUF_WITH_RET(ctx, buf);
break;
@@ -2267,6 +2273,8 @@ iter_instruction(struct tgsi_iterate_context *iter,
case TGSI_OPCODE_USGE:
case TGSI_OPCODE_FSGE:
case TGSI_OPCODE_DSGE:
+ if (inst->Instruction.Opcode == TGSI_OPCODE_DSGE)
+ strcpy(writemask, ".x");
emit_ucompare("greaterThanEqual");
EMIT_BUF_WITH_RET(ctx, buf);
break;