r600g: Implement the new float comparison instructions for Cayman as well.
authorHenri Verbeet <hverbeet@gmail.com>
Sat, 24 Aug 2013 19:45:44 +0000 (21:45 +0200)
committerHenri Verbeet <hverbeet@gmail.com>
Sun, 25 Aug 2013 11:00:02 +0000 (13:00 +0200)
I assume this should have been part of commit
7727fbb7c5d64348994bce6682e681d6181a91e9. This (obviously) fixes a lot tests.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
src/gallium/drivers/r600/r600_shader.c

index fb766c4..300b5c4 100644 (file)
@@ -6128,10 +6128,10 @@ static struct r600_shader_tgsi_instruction cm_shader_tgsi_instruction[] = {
        {106,                   0, ALU_OP0_NOP, tgsi_unsupported},
        {TGSI_OPCODE_NOP,       0, ALU_OP0_NOP, tgsi_unsupported},
        /* gap */
-       {108,                   0, ALU_OP0_NOP, tgsi_unsupported},
-       {109,                   0, ALU_OP0_NOP, tgsi_unsupported},
-       {110,                   0, ALU_OP0_NOP, tgsi_unsupported},
-       {111,                   0, ALU_OP0_NOP, tgsi_unsupported},
+       {TGSI_OPCODE_FSEQ,      0, ALU_OP2_SETE_DX10, tgsi_op2},
+       {TGSI_OPCODE_FSGE,      0, ALU_OP2_SETGE_DX10, tgsi_op2},
+       {TGSI_OPCODE_FSLT,      0, ALU_OP2_SETGT_DX10, tgsi_op2_swap},
+       {TGSI_OPCODE_FSNE,      0, ALU_OP2_SETNE_DX10, tgsi_op2_swap},
        {TGSI_OPCODE_NRM4,      0, ALU_OP0_NOP, tgsi_unsupported},
        {TGSI_OPCODE_CALLNZ,    0, ALU_OP0_NOP, tgsi_unsupported},
        /* gap */