Summary: | [r300g] EVE online: some shaders are failing | ||
---|---|---|---|
Product: | Mesa | Reporter: | Pavel Ondračka <pavel.ondracka> |
Component: | glsl-compiler | Assignee: | Ian Romanick <idr> |
Status: | RESOLVED NOTOURBUG | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | 42930 | ||
Bug Blocks: | |||
Attachments: |
terminal output
RADEON_DEBUG=fp log |
Description
Pavel Ondračka
2011-11-02 06:41:27 UTC
Created attachment 53053 [details]
terminal output
Created attachment 53054 [details]
RADEON_DEBUG=fp log
Forgot to mention, GPU is RV530. I'm wondering if this should be reassigned to glsl-compiler since the error messages come from src/glsl/ast_to_hir.cpp not the r300 driver? Tom, Marek, can you comment on this? Yes, the component should be glsl-compiler. The shader declares the array VC to have 245 elements: uniform vec4 VC[245]; then it tries to access the 246th element of the array: R0.xyz = (VC[245].xyz); This is explicitly forbidden by GLSL, and it should be rejected by any GLSL compiler. Page 31 of the GLSL 1.30 spec says: "It is illegal to declare an array with a size, and then later (in the same shader) index the same array with an integral constant expression greater than or equal to the declared size." I tried this same shader with AMD's closed-source driver and piglits glslparser test, and it failed to compile there as well: Failed to compile vertex shader wine-from-eve.vert: Vertex shader failed to compile with the following errors: ERROR: 0:84: error(#147) '[' array index out of range '245' ERROR: 0:91: error(#147) '[' array index out of range '245' ERROR: 0:93: error(#147) '[' array index out of range '245' ERROR: error(#273) 3 compilation errors. No code generated One idea, in this cases, can something like "This is an application bug, do not report it" be printed so an average user like me saves himself some time opening a bug here? |
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.