[Mesa-dev] intel: FS compile failed: no register to spill

Johannes Stezenbach js at sig21.net
Wed Oct 10 12:35:13 PDT 2012


On Wed, Oct 10, 2012 at 11:29:47AM -0700, Eric Anholt wrote:
> Johannes Stezenbach <js at sig21.net> writes:
> 
> > 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
> > https://bugs.freedesktop.org/show_bug.cgi?id=48375
> > and
> > http://code.google.com/p/chromium-os/issues/detail?id=28524
> >
> > 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.
> > http://cgit.freedesktop.org/mesa/mesa/commit/?id=8890c759513597903997f519c69e9db30790b6f4
> 
> That commit is a change for debug printfs.  If you just applied that, it
> wouldn't help.  You should try Mesa master.

Oh boy, it shows that I did't know what I was doing ;-/
I just followed the link in http://code.google.com/p/chromium-os/issues/detail?id=28524
which led to http://lists.freedesktop.org/archives/mesa-dev/2012-April/020721.html

> > Attached is a (stripped-down) Python-OpenGL script and fragment shader
> > which demonstrates the issue.  The shader code is taken from 
> > http://www.codeproject.com/Articles/236394/Bi-Cubic-and-Bi-Linear-Interpolation-with-GLSL
> > (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?
> 
> Ask for the shader's compile status and then the program's link status.
> Take a look at piglit/tests/util/.

I think my Python script does that with
success = glGetObjectParameterivARB(shaderHandle, GL_OBJECT_COMPILE_STATUS_ARB)


> > Is that the current state of affairs that using loops in GLSL is
> > basically broken on Intel?  Any hope to get it fixed?
> 
> Works fine on current Mesa.

That is good news.


Thanks
Johannes


More information about the mesa-dev mailing list