[Mesa-dev] [RFC 12/24] nvc0/ir: fix constraints for OP_SUSTx on Kepler
Samuel Pitoiset
samuel.pitoiset at gmail.com
Tue Apr 12 23:57:02 UTC 2016
Destination type is actually always 32-bits, so typeSizeof() returns 4
and no sources are condensed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
index 500ab89..7e8bb17 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
@@ -2131,7 +2131,9 @@ RegAlloc::InsertConstraintsPass::texConstraintNVE0(TexInstruction *tex)
condenseDefs(tex);
if (tex->op == OP_SUSTB || tex->op == OP_SUSTP) {
- condenseSrcs(tex, 3, (3 + typeSizeof(tex->dType) / 4) - 1);
+ int n = tex->srcCount(0xff);
+ if (n > 4)
+ condenseSrcs(tex, 3, n - 1);
} else
if (isTextureOp(tex->op)) {
int n = tex->srcCount(0xff, true);
--
2.8.0
More information about the mesa-dev
mailing list