nine: Drop use of TGSI_OPCODE_CND.
authorJose Fonseca <jfonseca@vmware.com>
Thu, 20 Nov 2014 22:25:30 +0000 (14:25 -0800)
committerEric Anholt <eric@anholt.net>
Mon, 24 Nov 2014 22:56:22 +0000 (14:56 -0800)
This was the only state tracker emitting it, and hardware was just having
to lower it anyway (or failing to lower it at all).

v2: Extracted from a larger patch by Jose (which also dropped DP2A), fixed
    to actually not reference TGSI_OPCODE_CND.  Change by anholt.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: David Heidelberg <david@ixit.cz>
src/gallium/state_trackers/nine/nine_shader.c

index 85cc190d91a2ccdbca7e8903552ec847aa072b48..268612eea056c5bd39162f9037bbc418c83122cd 100644 (file)
@@ -1374,7 +1374,6 @@ DECL_SPECIAL(CND)
     }
 
     cnd = tx_src_param(tx, &tx->insn.src[0]);
-#ifdef NINE_TGSI_LAZY_R600
     cgt = tx_scratch(tx);
 
     if (tx->version.major == 1 && tx->version.minor < 4) {
@@ -1387,13 +1386,6 @@ DECL_SPECIAL(CND)
     ureg_CMP(tx->ureg, dst,
              tx_src_param(tx, &tx->insn.src[1]),
              tx_src_param(tx, &tx->insn.src[2]), ureg_negate(cnd));
-#else
-    if (tx->version.major == 1 && tx->version.minor < 4)
-        cnd = ureg_scalar(cnd, TGSI_SWIZZLE_W);
-    ureg_CND(tx->ureg, dst,
-             tx_src_param(tx, &tx->insn.src[1]),
-             tx_src_param(tx, &tx->insn.src[2]), cnd);
-#endif
     return D3D_OK;
 }
 
@@ -2356,7 +2348,7 @@ struct sm1_op_info inst_table[] =
     _OPI(EXPP, EXP, V(0,0), V(1,1), V(0,0), V(0,0), 1, 1, NULL),
     _OPI(EXPP, EX2, V(2,0), V(3,0), V(0,0), V(0,0), 1, 1, NULL),
     _OPI(LOGP, LG2, V(0,0), V(3,0), V(0,0), V(0,0), 1, 1, NULL),
-    _OPI(CND,  CND, V(0,0), V(0,0), V(0,0), V(1,4), 1, 3, SPECIAL(CND)),
+    _OPI(CND,  NOP, V(0,0), V(0,0), V(0,0), V(1,4), 1, 3, SPECIAL(CND)),
 
     _OPI(DEF, NOP, V(0,0), V(3,0), V(0,0), V(3,0), 1, 0, SPECIAL(DEF)),