[require] GLSL >= 1.30 GL_ARB_shader_bit_encoding [vertex shader] #version 130 #extension GL_ARB_shader_bit_encoding : enable in vec4 piglit_vertex; out vec4 color; uniform uvec4 vsconst0[2]; vec4 temps[12]; int addr0; void main() { temps[0] = vec4((((vec4(0.2,0,0,0)) * uintBitsToFloat(vsconst0[0].xxxx)))); temps[1] = vec4((((vec4(0,0.2,0,0)) * uintBitsToFloat(vsconst0[0].xxxx)))); temps[2] = vec4((((vec4(0,0,0.2,0)) * uintBitsToFloat(vsconst0[0].xxxx)))); temps[3] = vec4((((vec4(0.2,0.2,0,0)) * uintBitsToFloat(vsconst0[0].xxxx)))); temps[4] = vec4((((vec4(0,0.2,0.2,0)) * uintBitsToFloat(vsconst0[0].xxxx)))); temps[5] = vec4((((vec4(0.2,0,0.2,0)) * uintBitsToFloat(vsconst0[0].xxxx)))); temps[6] = vec4(((vec4(0,0,0,0)))); temps[7] = vec4((((vec4(0.2,0.2,0.2,0)) * uintBitsToFloat(vsconst0[0].xxxx)))); temps[9] = vec4(((vec4(0,0,0,0)))); temps[10].x = float((intBitsToFloat(ivec4(0,0,0,0)).x)); do { temps[11].x = float(uintBitsToFloat(uint(greaterThanEqual(vec4(floatBitsToInt(temps[10].xxxx)), vec4(ivec4(vsconst0[1].xxxx))).x))); if (any(bvec4(floatBitsToUint(temps[11].xxxx)))) { break; } addr0 = int(floatBitsToInt(temps[10].xxxx)); temps[9] = vec4((( temps[9] + temps[addr0] ))); temps[10].x = float(intBitsToFloat(ivec4((uvec4(floatBitsToUint(temps[10].xxxx)) + uvec4(uvec4(ivec4(1,1,1,1)))))).x); } while(true); gl_Position = piglit_vertex; vec4 r = vec4(( temps[9] )); color = clamp(r, 0.0, 1.0); } [fragment shader] #version 130 in vec4 color; void main() { gl_FragColor = color; } [test] clear color 0.0 0.0 0.0 0.0 clear ortho uniform uvec4 vsconst0[0] 1065353216 0 0 0 uniform uvec4 vsconst0[1] 4 0 0 0 draw rect -1 -1 2 2 probe rgba 2 2 .40 .40 .20 0.0