gk110/ir: add support for writing per-patch and shader outputs
authorIlia Mirkin <imirkin@alum.mit.edu>
Mon, 27 Apr 2015 16:54:43 +0000 (12:54 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Tue, 28 Apr 2015 01:25:28 +0000 (21:25 -0400)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp

index 34cb06a878669aee995b6183a92161665ea1a33f..a73bee272d77abb33c5241f53e9a77a456b40b52 100644 (file)
@@ -1347,12 +1347,10 @@ CodeEmitterGK110::emitVFETCH(const Instruction *i)
    code[1] = 0x7ec00000 | (offset >> 9);
    code[1] |= (size / 4 - 1) << 18;
 
-#if 0
    if (i->perPatch)
-      code[0] |= 0x100;
+      code[1] |= 0x4;
    if (i->getSrc(0)->reg.file == FILE_SHADER_OUTPUT)
-      code[0] |= 0x200; // yes, TCPs can read from *outputs* of other threads
-#endif
+      code[1] |= 0x8; // yes, TCPs can read from *outputs* of other threads
 
    emitPredicate(i);
 
@@ -1371,10 +1369,8 @@ CodeEmitterGK110::emitEXPORT(const Instruction *i)
    code[1] = 0x7f000000 | (offset >> 9);
    code[1] |= (size / 4 - 1) << 18;
 
-#if 0
    if (i->perPatch)
-      code[0] |= 0x100;
-#endif
+      code[1] |= 0x4;
 
    emitPredicate(i);