nvc0/ir/emit: fix emitTXQ 2nd src
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>
Sat, 28 Apr 2012 16:04:05 +0000 (18:04 +0200)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Sun, 29 Apr 2012 15:55:13 +0000 (17:55 +0200)
src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp

index 912540d0c4000263a8fba0b801aae28207d0278e..48d99bfe803069c4c5323050c4d0ec34080e34c3 100644 (file)
@@ -1063,9 +1063,11 @@ CodeEmitterNVC0::emitTXQ(const TexInstruction *i)
    if (i->tex.sIndirectSrc >= 0 || i->tex.rIndirectSrc >= 0)
       code[1] |= 1 << 18;
 
+   const int src1 = (i->predSrc == 1) ? 2 : 1; // if predSrc == 1, !srcExists(2)
+
    defId(i->def(0), 14);
    srcId(i->src(0), 20);
-   srcId(i->src(1), 26);
+   srcId(i, src1, 26);
 
    emitPredicate(i);
 }