diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp index 65d11f8237a..6b52d7b4d33 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp @@ -2152,6 +2152,12 @@ RegAlloc::InsertConstraintsPass::texConstraintNVC0(TexInstruction *tex) if (tex->op == OP_TXQ) { s = tex->srcCount(0xff); n = 0; + } else if (isSurfaceOp(tex->op)) { + s = tex->tex.target.getDim() + (tex->tex.target.isArray() || tex->tex.target.isCube()); + if (tex->op == OP_SUSTB || tex->op == OP_SUSTP) + n = 4; + else + n = 0; } else { s = tex->tex.target.getArgCount() - tex->tex.target.isMS(); if (!tex->tex.target.isArray() && |