Re: GLSL: brw_eu.h assertion setting uniform variable

Brian Paul <[email protected]>
Newsgroups gmane.comp.video.mesa3d.user
Organization VMware, Inc.
Message-ID <[email protected]>
On 05/11/2011 04:48 PM, Jason Tiller wrote:
> Hi, All, :)
>
> When trying to use a uniform value in a simple GLSL vertex shader, I
> am getting the following abort:
>
> brw_eu.h:177: brw_reg: Assertion `nr < 128' failed.
> Aborted
>
> I've tried this using raw GLUT (glGetUniformLocation/getUniform1i) as
> well as implementing this in Qt 4.7 (setUniformValue). The shader
> does dead simple Gouraud shading. I link it along with a super-simple
> passthrough fragment shader. I'm using the uniform variable to pass
> in the number of lights in the scene. I declare the variable at the
> top of my shader:
>
> uniform int numlights;
>
> If I turn the variable into a const:
>
> const int numlights = 2;
>
> then it works perfectly. Of course, I need to pass uniforms into my
> shader...
>
> Any ideas? I'm running:
>
> Kubuntu 11.04 (turned off all effects in KWin)
> KDE 4.6.3
> Qt 4.7.2
> Intel i5 430M w/i915 embedded graphics
> OpenGL 2.1, Mesa 7.10.2
> Xorg 1.10.1-1ubuntu1
>
> I'm desperate! This makes no sense at all to me, and I have no idea
> where to go from here.
>
> Thank you!
>
> ---Jason
>
> P.S. - I've tried fiddling with MESA_GLSL=... and can see my shaders
> getting compiled, the program being used, and the uniform variable
> being set... but still the abort. HELP!

You should file a bug for this.  Or, try the latest Mesa code from git.

-Brian
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.