r600g: only emit uses waterfall on r6xx hw.
authorDave Airlie <airlied@redhat.com>
Sun, 19 Sep 2010 07:25:50 +0000 (17:25 +1000)
committerDave Airlie <airlied@redhat.com>
Sun, 19 Sep 2010 07:25:50 +0000 (17:25 +1000)
src/gallium/drivers/r600/r600_asm.c

index 93dc14201113afc0155c4b1847ebbe5e12636027..8c01987318a0b77bac82f2d08c9b81bc562c2f2b 100644 (file)
@@ -696,7 +696,7 @@ static int r600_bc_cf_build(struct r600_bc *bc, struct r600_bc_cf *cf)
 
                bc->bytecode[id++] = S_SQ_CF_ALU_WORD1_CF_INST(cf->inst >> 3) |
                                        S_SQ_CF_ALU_WORD1_BARRIER(1) |
-                                       S_SQ_CF_ALU_WORD1_USES_WATERFALL(cf->r6xx_uses_waterfall) |
+                                       S_SQ_CF_ALU_WORD1_USES_WATERFALL(bc->chiprev == 0 ? cf->r6xx_uses_waterfall : 0) |
                                        S_SQ_CF_ALU_WORD1_COUNT((cf->ndw / 2) - 1);
                break;
        case V_SQ_CF_WORD1_SQ_CF_INST_TEX: