From 30cb66cd745fc793a2349f1d17046c50cd51c558 Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Fri, 14 Oct 2011 19:56:33 +0200 Subject: [PATCH] nvc0/ir: TXQ requires different lowering from normal TEX --- src/gallium/drivers/nvc0/codegen/nv50_ir_lowering_nvc0.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 93d60cf..94cc511 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)); -- 2.7.4