Compiler limitation?

Hi im currently writting a shader and bumped into what seems like a compiler limitation.
My development environment is ShaderMonkey Version 1.82 -OpenGL.

Researching the Errormessage on google yielded nothing substantial. Some posts refered to large for loops beeing to blame. Others seemed to diagnose a lack of determinism not allowing to unroll looped code.

0(829) : error C5025: lvalue in array access too complex
0(829) : error C1068: … or possible array index out of bounds
0(829) : error C5025: lvalue in array access too complex
0(829) : error C1068: … or possible array index out of bounds
0(829) : error C5025: lvalue in array access too complex
0(829) : error C1068: … or possible array index out of bounds

My original assumption was that the assignmenttarget was too deeply nested, so i reduced a 2 dimensional array to a one dimensional (in memory its all the same anyway- its just syntax) - but the propblem persisted.

If there is any suggestions and solutions i have missed, i would be very pleased to hear them.

Regards Picasso

You might post some instigating code for discussion. Websearch hits on this error suggest a number of things.

Have you updated your GL driver to the latest version?

What I’d do in this case in pair down your shader until the problem goes away. Then hone in on what you just changed.

If it is related to loop unrolling, if in fact you’re using NVidia GL drivers, you can try this:


#pragma optionNV(unroll none)

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.