https://bugs.freedesktop.org/show_bug.cgi?id=85596
Bug ID: 85596 Summary: SB is used only after GPR check / GPR max is not dynamic Product: Mesa Version: git Hardware: x86-64 (AMD64) OS: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/r600 Assignee: dri-devel@lists.freedesktop.org Reporter: curaga@operamail.com
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.