[Mesa-dev] [PATCH 1/2] i965/fs: Fix rendering corruption in unigine tropics.

Eric Anholt eric at anholt.net
Fri Jan 27 15:26:18 PST 2012


On Fri, 27 Jan 2012 13:29:18 -0800, Kenneth Graunke <kenneth at whitecape.org> wrote:
> On 01/27/2012 01:16 PM, Eric Anholt wrote:
> > We were allocating registers into the MRF hack region, resulting in
> > sparkly renering in a few of the scenes.  We could do better
> > allocation by making an MRF class, having MRFs conflict with the
> > corresponding GRFs, and tracking the live intervals of the "MRF"s and
> > setting up the conflicts.  But this is way easier for the moment.
> >
> > NOTE: This is a candidate for the 8.0 branch.
> 
> Ugh. :(  Thanks for taking care of this. I agree that this is the best 
> approach for now.
> 
> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
> 
> I am a bit concerned, though: why would it register allocate out of the 
> top 16 GRFs unless it needed that many?  By lowering the ceiling, won't 
> we run out of registers entirely?  We don't support spilling on Gen7 
> yet...I've been meaning to get around to implementing that.

The register allocation isn't optimized to use the smallest possible
number of registers, it just has a slight preference to use lower
numbers.  Changing the number of GRFs available should thoroughly change
the register numbers chosen when you've got a big program with lots of
interference that's just shy of spilling, which this one is (disable too
many optimization passes in debugging, and you'll get failure to
codegen).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20120127/3e5b7850/attachment.pgp>


More information about the mesa-dev mailing list