diff options
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp index 96a4af4262e..f15ca1b057d 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp @@ -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); } |