GLSL: brw_eu.h assertion setting uniform variable
Jason Tiller <[email protected]>
| Newsgroups | gmane.comp.video.mesa3d.user |
|---|---|
| Message-ID | <alpine.DEB.2.02.1105111545510.6570@tiller-laptop> |
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!