mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-23 05:10:36 +02:00
nv50/ir: fix argument count for CUBE_ARRAY texture target
This commit is contained in:
parent
2ec5c8feb3
commit
37a08ddce5
2 changed files with 4 additions and 4 deletions
|
|
@ -819,7 +819,7 @@ const struct TexInstruction::Target::Desc TexInstruction::Target::descTable[] =
|
|||
{ "1D_ARRAY", 1, 2, true, false, false },
|
||||
{ "2D_ARRAY", 2, 3, true, false, false },
|
||||
{ "2D_MS_ARRAY", 2, 3, true, false, false },
|
||||
{ "CUBE_ARRAY", 2, 3, true, true, false },
|
||||
{ "CUBE_ARRAY", 2, 4, true, true, false },
|
||||
{ "1D_ARRAY_SHADOW", 1, 2, true, false, true },
|
||||
{ "2D_ARRAY_SHADOW", 2, 3, true, false, true },
|
||||
{ "RECT", 2, 2, false, false, false },
|
||||
|
|
|
|||
|
|
@ -307,14 +307,14 @@ NVC0LoweringPass::visit(BasicBlock *bb)
|
|||
bool
|
||||
NVC0LoweringPass::handleTEX(TexInstruction *i)
|
||||
{
|
||||
const int dim = i->tex.target.getDim();
|
||||
const int arg = i->tex.target.getDim() + i->tex.target.isArray();
|
||||
const int dim = i->tex.target.getDim() + i->tex.target.isCube();
|
||||
const int arg = i->tex.target.getArgCount();
|
||||
|
||||
// generate and move the tsc/tic/array source to the front
|
||||
if (dim != arg || i->tex.rIndirectSrc >= 0 || i->tex.sIndirectSrc >= 0) {
|
||||
LValue *src = new_LValue(func, FILE_GPR); // 0xttxsaaaa
|
||||
|
||||
Value *arrayIndex = i->tex.target.isArray() ? i->getSrc(dim) : NULL;
|
||||
Value *arrayIndex = i->tex.target.isArray() ? i->getSrc(arg - 1) : NULL;
|
||||
for (int s = dim; s >= 1; --s)
|
||||
i->setSrc(s, i->getSrc(s - 1));
|
||||
i->setSrc(0, arrayIndex);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue