nvc0/ir/emit: hardcode vertex output stream to 0 for now
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>
Fri, 7 Feb 2014 21:39:44 +0000 (22:39 +0100)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Fri, 7 Feb 2014 21:53:36 +0000 (22:53 +0100)
src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp

index 96a4af4262ebc9df772ac9b423979bc606674e1d..f15ca1b057d759b0eb283a6be16475fffe4edbaf 100644 (file)
@@ -1488,8 +1488,13 @@ CodeEmitterNVC0::emitOUT(const Instruction *i)
 
    // vertex stream
    if (i->src(1).getFile() == FILE_IMMEDIATE) {
-      code[1] |= 0xc000;
-      code[0] |= SDATA(i->src(1)).u32 << 26;
+      // Using immediate encoding here triggers an invalid opcode error
+      // or random results when error reporting is disabled.
+      // TODO: figure this out when we get multiple vertex streams
+      assert(SDATA(i->src(1)).u32 == 0);
+      srcId(NULL, 26);
+      // code[1] |= 0xc000;
+      // code[0] |= SDATA(i->src(1)).u32 << 26;
    } else {
       srcId(i->src(1), 26);
    }