r600g: fix regression since UCMP change
authorDave Airlie <airlied@redhat.com>
Tue, 9 Dec 2014 01:28:52 +0000 (11:28 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 9 Dec 2014 01:54:46 +0000 (11:54 +1000)
Since d8da6deceadf5e48201d848b7061dad17a5b7cac where the
state tracker started using UCMP on cayman a number of tests
regressed.

this seems to be r600g is doing CNDGE_INT for UCMP which is >= 0,
we should be doing CNDE_INT with reverse arguments.

Reviewed-by: Glenn Kennard <glenn.kennard@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/r600_shader.c

index 7bb98728a99d8890a3e25edff95f5e03b359ec39..471df91d8f38c7af1eb4602e0e6488142a6b245f 100644 (file)
@@ -6071,7 +6071,7 @@ static int tgsi_ucmp(struct r600_shader_ctx *ctx)
                        continue;
 
                memset(&alu, 0, sizeof(struct r600_bytecode_alu));
-               alu.op = ALU_OP3_CNDGE_INT;
+               alu.op = ALU_OP3_CNDE_INT;
                r600_bytecode_src(&alu.src[0], &ctx->src[0], i);
                r600_bytecode_src(&alu.src[1], &ctx->src[2], i);
                r600_bytecode_src(&alu.src[2], &ctx->src[1], i);