| Summary: |
[r300g] Too many texture indirections. Strange behavior. |
| Product: |
Mesa
|
Reporter: |
Ivan Sukin <isukin.intelliware> |
| Component: |
Drivers/Gallium/r300 | Assignee: |
Default DRI bug account <dri-devel> |
| Status: |
RESOLVED
FIXED
|
QA Contact: |
|
| Severity: |
normal
|
|
|
| Priority: |
medium
|
|
|
| Version: |
git | |
|
| Hardware: |
All | |
|
| OS: |
Linux (All) | |
|
| Whiteboard: |
|
|
i915 platform:
|
|
i915 features:
|
|
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
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?