Connor Abbott <cwabbo...@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.). Sometimes for poking at this kind of stuff I'll just reduce the maximum number of registers I let the allocator handle, so that I have more spilling shaders to look at. I think this change is a bad idea. If the register was trivially colorable, then you don't want to spill it -- it won't help solve your inability to color whatever node you failed to allocate last time.
pgpM_L60nK_Uc.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev