summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nvc0/codegen
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2011-10-14 19:56:33 +0200
committerChristoph Bumiller <[email protected]>2011-10-21 23:00:38 +0200
commit30cb66cd745fc793a2349f1d17046c50cd51c558 (patch)
treeb8b6e52e27425107d4f711b65481ee6e05689bf5 /src/gallium/drivers/nvc0/codegen
parent6b27f1468071ab68f38da0472b4bc20f4a0b0e87 (diff)
nvc0/ir: TXQ requires different lowering from normal TEX
Diffstat (limited to 'src/gallium/drivers/nvc0/codegen')
-rw-r--r--src/gallium/drivers/nvc0/codegen/nv50_ir_lowering_nvc0.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gallium/drivers/nvc0/codegen/nv50_ir_lowering_nvc0.cpp b/src/gallium/drivers/nvc0/codegen/nv50_ir_lowering_nvc0.cpp
index 93d60cf16c0..94cc5111119 100644
--- a/src/gallium/drivers/nvc0/codegen/nv50_ir_lowering_nvc0.cpp
+++ b/src/gallium/drivers/nvc0/codegen/nv50_ir_lowering_nvc0.cpp
@@ -261,6 +261,7 @@ private:
bool handlePOW(Instruction *);
bool handleTEX(TexInstruction *);
bool handleTXD(TexInstruction *);
+ bool handleTXQ(TexInstruction *);
bool handleManualTXD(TexInstruction *);
void checkPredicate(Instruction *);
@@ -432,6 +433,13 @@ NVC0LoweringPass::handleTXD(TexInstruction *txd)
}
bool
+NVC0LoweringPass::handleTXQ(TexInstruction *txq)
+{
+ // TODO: indirect resource/sampler index
+ return true;
+}
+
+bool
NVC0LoweringPass::handleWRSV(Instruction *i)
{
Instruction *st;
@@ -655,11 +663,12 @@ NVC0LoweringPass::visit(Instruction *i)
case OP_TXB:
case OP_TXL:
case OP_TXF:
- case OP_TXQ:
case OP_TXG:
return handleTEX(i->asTex());
case OP_TXD:
return handleTXD(i->asTex());
+ case OP_TXQ:
+ return handleTXQ(i->asTex());
case OP_EX2:
bld.mkOp1(OP_PREEX2, TYPE_F32, i->getDef(0), i->getSrc(0));
i->setSrc(0, i->getDef(0));