Withdrawn. This fix is bogus -- it doesn't actually fix the original issue! It's the result of me futzing a lot and a similar-but-different fix did change things around enough to fix the original issue but then proceeded to break other stuff. So... ignore.
On Wed, Jan 6, 2016 at 5:30 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > These nodes don't go through reduction, so we shouldn't be increasing > their degrees. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91895 > Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> > Cc: "11.0 11.1" <mesa-sta...@lists.freedesktop.org> > --- > > I would like to see a *bunch* of testing on this before merging it... RA-land > is far from my expertise. However it does fix the shaders in the original bug > and doesn't regress the few additional things that I tried. > > src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp > b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp > index cd8c42c..f1ffcba 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp > @@ -1129,9 +1129,11 @@ GCRA::doCoalesce(ArrayList& insns, unsigned int mask) > void > GCRA::RIG_Node::addInterference(RIG_Node *node) > { > - this->degree += relDegree[node->colors][colors]; > - node->degree += relDegree[colors][node->colors]; > - > + // don't add degree for physregs since they won't go through simplify() > + if (this->reg < 0) > + this->degree += relDegree[node->colors][colors]; > + if (node->reg < 0) > + node->degree += relDegree[colors][node->colors]; > this->attach(node, Graph::Edge::CROSS); > } > > -- > 2.4.10 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev