[Mesa-dev] intel: FS compile failed: no register to spill
kenneth at whitecape.org
Wed Oct 10 11:27:54 PDT 2012
On 10/10/2012 09:02 AM, Johannes Stezenbach wrote:
> I'm experimenting with texture interpolation and seeing this error:
> Mesa 8.0.4 implementation error: Failed to compile fragment shader: FS compile failed: no register to spill
> Please report at bugs.freedesktop.org
> It seems the issue is already known, I found
> I'm using Debian unstable amd64 on Sandy Bridge Core i5-2400S.
> It seems the fix for the chromium-os issue is in Mesa 9.0 but not in 8.0.4,
> thus I fetched the Debian source package and recompiled with the fix
> applied, but it did not help in my case.
> Because issue 48375 talked about loops and functions I tried
> to manually inline all functions, but to no avail. In a second
> attempt I tried to unroll the loop manually which works.
> Attached is a (stripped-down) Python-OpenGL script and fragment shader
> which demonstrates the issue. The shader code is taken from
> (shader coding style ugliness is from the original source)
> The script doesn't do anything useful, in the ideal case it
> would just print "now" and "end" without throwing an error.
> BTW, the compile error is thrown at glutSwapBuffers() not at
> glCompileShaderARB() time. Is there a way to force the error
> to show up earlier?
> Is that the current state of affairs that using loops in GLSL is
> basically broken on Intel? Any hope to get it fixed?
I just tried your script, and your shaders compile just fine with both
Mesa 9.0 and Mesa master. We must be missing some optimizations or
fixes on 8.0, and I'm skeptical that we'd gain much traction for
backporting those at this point.
Would it be possible for you to upgrade to Mesa 9.0?
More information about the mesa-dev