[require] GLSL >= 1.20 [vertex shader] /* Verify that out-of-bounds access to an array does not result in any sort of * program interruption. * * In this test case the array index may be constant folded. */ #version 120 float array[] = float [] (1.0, 2.0, 3.0, 4.0); void main() { int idx = -20; gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; if (array[idx] == 5.0) gl_FrontColor = vec4(1.0, 0.0, 0.0, 1.0); else gl_FrontColor = vec4(0.0, 1.0, 0.0, 1.0); } [fragment shader file] glsl-color.frag [test] clear color 0.0 0.0 0.0 0.0 clear ortho draw rect 10 10 10 10 probe rgb 15 15 0.0 1.0 0.0