Bugzilla – Bug 16856
GLSL indexing of unsized array results in assertion failure
Last modified: 2010-08-17 09:03:56 UTC
Created attachment 17902 [details]
Offending shader code
Compiling the attached vertex shader results in:
vstest: shader/slang/slang_emit.c:194: storage_to_dst_reg: Assertion `st->Index >= 0' failed.
Adding '#define SEGV_INSTEAD' eliminates the assertion failure but results in a segfault instead.
I believe I've fixed this assertion/segfault on the gallium-0.1 branch. There's a number of GLSL things on that branch I should bring into 7.1... I probably won't have time for a 7.1 release until next week anyway.
OK, I've brought over the GLSL fixes to master from gallium-0.1.
This shader still doesn't compile however, because we don't yet support indexing a vec4 with a variable index. A mat4 is basically an array of vec4.
Mass version move, cvs -> git
After fixing the shader to use a constant expression for the array sizing, it looks like glsl2 is fine with this.