https://bugs.freedesktop.org/show_bug.cgi?id=30752
Summary: [r300g] Too many texture indirections. Strange behavior. Product: Mesa Version: git Platform: All OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/r300 AssignedTo: dri-devel@lists.freedesktop.org ReportedBy: isukin.intelliware@gmail.com
I have the naive blur convolution shader implementation:
uniform sampler2DRect tex;
void main(void) { vec3 color11 = texture2DRect(tex, gl_TexCoord[0].st + vec2(-1.0, -1.0)).rgb;
vec3 color12 = texture2DRect(tex, gl_TexCoord[0].st + vec2(0.0, -1.0)).rgb;
vec3 color13 = texture2DRect(tex, gl_TexCoord[0].st + vec2(1.0, -1.0)).rgb;
vec3 color21 = texture2DRect(tex, gl_TexCoord[0].st + vec2(-1.0, 0.0)).rgb;
vec3 color22 = texture2DRect(tex, gl_TexCoord[0].st).rgb;
vec3 color23 = texture2DRect(tex, gl_TexCoord[0].st + vec2(1.0, 0.0)).rgb;
vec3 color31 = texture2DRect(tex, gl_TexCoord[0].st + vec2(-1.0, 1.0)).rgb;
vec3 color32 = texture2DRect(tex, gl_TexCoord[0].st + vec2(0.0, 1.0)).rgb;
vec3 color33 = texture2DRect(tex, gl_TexCoord[0].st + vec2(1.0, 1.0)).rgb;
vec3 color = (color11 + color12 + color13 + color21 + color22 + color23 + color31 + color32 + color33);
gl_FragColor = vec4(color / 9.0, 1); }
It doesn't work, saying that there are too many texture indirections. But if I assign to vec3 color the value: (2.0 * color11 + 2.0 * color12 + 2.0 * color13 + 2.0 * color21 + 2.0 * color22 + 2.0 * color23 + 2.0 * color31 + 2.0 * color32 + 2.0 * color33); the shader will work. Is it the bug or the normal behavior?
https://bugs.freedesktop.org/show_bug.cgi?id=30752
--- Comment #1 from Marek Olšák maraeo@gmail.com 2010-10-10 09:13:00 PDT --- This is surely a bug.
https://bugs.freedesktop.org/show_bug.cgi?id=30752
--- Comment #2 from Ivan Sukin isukin.intelliware@gmail.com 2010-10-10 23:08:33 PDT --- I've noticed that it happens only with enabled GLSL optimizations. When I set MESA_GLSL=nopt, it doesn't happen.
https://bugs.freedesktop.org/show_bug.cgi?id=30752
--- Comment #3 from Tom Stellard tstellar@gmail.com 2010-10-10 23:43:41 PDT --- This is a very tricky bug. I think the r300 instruction scheduler needs a major overhaul in order to correctly handle all of these "too many texture indirections" situations. I'll see what I can do about this one.
https://bugs.freedesktop.org/show_bug.cgi?id=30752
--- Comment #4 from Tom Stellard tstellar@gmail.com 2010-11-21 21:54:53 PST --- Can you try this again with the latest git master?
https://bugs.freedesktop.org/show_bug.cgi?id=30752
Ivan Sukin isukin.intelliware@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #5 from Ivan Sukin isukin.intelliware@gmail.com 2010-11-22 02:03:00 PST --- Thanks, this kind of shaders is working now.
dri-devel@lists.freedesktop.org