On Fri, Aug 1, 2014 at 11:51 AM, Eric Anholt <e...@anholt.net> wrote: > Connor Abbott <cwabbo...@gmail.com> writes: > >> On Thu, Jul 31, 2014 at 1:05 PM, Eric Anholt <e...@anholt.net> wrote: >>> Connor Abbott <cwabbo...@gmail.com> writes: >>>> That's not necessarily true - you could want to spill a trivially >>>> colored register that interferes with a non trivially colored >>>> register, especially if the spill cost of the non trivially colored >>>> register is higher than that of the trivially colored register because >>>> e.g. the non trivially colored register is used in a loop. Especially, >>>> I ran into trouble with the varying packing tests in piglit which >>>> after a few rounds of spilling looked something like: >>> >>> If it's trivially colorable, then when you're trying to get a >>> non-conflicting color for a difficult neighbor (an optimistic-coloring >>> one near the top of the stack that's triggering the need for spilling), >>> it's out consideration because it's deeper in the stack. >> >> Right... so in that case, can't we just ignore everything on the stack >> below the node that couldn't be colored in ra_select()? > > Yep, that's what the code's doing currently.
No, it's also considering other optimistically colored nodes below the one that failed on the stack... see patch 3 in v3 of my series, which changes the code to actually do that. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev