[Mesa-dev] [PATCH v2 3/4] ra: consider all spillable nodes for spilling

Kenneth Graunke kenneth at whitecape.org
Fri Aug 1 19:23:35 PDT 2014


On Wednesday, July 30, 2014 10:50:59 PM Eric Anholt wrote:
> Connor Abbott <cwabbott0 at gmail.com> writes:
> 
> > Before, we would only consider nodes for spilling if they were
> > optimistically pushed onto the stack. But the logic for this was
> > complicated, and duplicated some things; also, we might want to spill
> > nodes that are not optimistically colored if our heuristic says we
> > should. This becomes a problem especially after the next commit, where
> > duplicating the current behavior of only spilling optimistically colored
> > nodes can sometimes leave the backend in a position where it has no
> > registers to spill. So just drop the original logic, and consider
> > everything that has its spill cost set for spilling.
> >
> > HURT:   shaders/steam/dungeon-defenders/5008.shader_test SIMD8: 434 -> 439 (1.15%)
> >
> > total instructions in shared programs: 4547617 -> 4547622 (0.00%)
> > instructions in affected programs:     434 -> 439 (1.15%)
> > GAINED:                                0
> > LOST:                                  0
> 
> Interesting.  Is this our only shader that's spilling in the db?
> (though, also, something spilling that's only 434 instructions long?  I
> don't think I've ever seen that.  Wow.). 

It's doing 32 texture lookups, and appears to keep at least some of those values alive for quite a while.  We could likely do better, but I could definitely see this triggering spilling.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140801/321ae16b/attachment.sig>


More information about the mesa-dev mailing list