summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2014-03-11 10:48:15 -0400
committerIlia Mirkin <[email protected]>2014-03-18 05:56:54 -0400
commitc17f7247ec5b7acf44e462accf5b5124fb713772 (patch)
treee03f9dbe317964a6591a4fc6dfc3f3068d04d78f /src/gallium/drivers/nouveau
parent15b1f420d04e2fbff8e1ed4a863239e8ddf602de (diff)
nv50/ir/gk110: add pfetch support
Signed-off-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
index 754a31daa85..7ec3b570c8b 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
@@ -1175,7 +1175,15 @@ CodeEmitterGK110::emitFlow(const Instruction *i)
void
CodeEmitterGK110::emitPFETCH(const Instruction *i)
{
- emitNOP(i); // TODO
+ uint32_t prim = i->src(0).get()->reg.data.u32;
+
+ code[0] = 0x00000002 | ((prim & 0xff) << 23);
+ code[1] = 0x7f800000;
+
+ emitPredicate(i);
+
+ defId(i->def(0), 2);
+ srcId(i->src(1), 10);
}
void