SB is used only after GPR check / GPR max is not dynamic
Submitted by Lauri Kasanen
Assigned to Default DRI bug account
Many big shaders that currently fail with r600_shader_select - Failed to build shader variant (type=1) -12 r600_shader_from_tgsi - GPR limit exceeded - shader requires foo registers
would actually work if the GPR check was moved to after SB, as SB reduces the GPR usage quite nicely.
Another thing is that 128 is the lowest common denominator, and many cards have 192 or 256, which could be checked with the radeon_info ioctl.