glsl-array-bounds: set out-of-bounds array index inside shader
[piglit.git] / tests / shaders / glsl-fs-loop-unroll-mul-int64.shader_test
blobe21c8cf071437b96b63fbf2e1a59fdd343ece277
1 [require]
2 GLSL >= 4.00
3 GL_ARB_gpu_shader_int64
5 [vertex shader passthrough]
7 [fragment shader]
8 #extension GL_ARB_gpu_shader_int64: require
10 void main()
12    int64_t li = 17L;
13    while (li < 1431211525754907897L) { // (17^15 + 1) / 2
14       li *= 17L;
15    }
16    /* li should be 17^15 (2862423051509815793)*/
18    while (li < 8587269154529447379L)
19       li *= 3L;
20    /* li should be 3 * 17^15 (8587269154529447379) */
22    int64_t li_2 = 17L;
23    while (li_2 != 27103491L)
24       li_2 *= 1594323L;
25    /* li_2 should be 27103491 */
27    while (li_2 == 27103491L)
28       li_2 *= 1594323L;
29    /* li_2 should be 43211719081593 */
30    float z = 1.0;
31    uint64_t uli = 1L;
32    while (uli < 8650415919381337933L) { /* 13^17 */
33       uli *= 13L;
34       z -= 0.01;
35    }
36    /* uli should be 8650415919381337933 */
38    while (z < 1.0)
39       z += 1.0;
41    if (li == 8587269154529447379L &&
42        li_2 == 43211719081593L &&
43        uli == 8650415919381337933L)
44       gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
45    else
46       gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
49 [test]
50 clear color 0.3 0.3 0.3 0.0
51 clear
53 draw rect -1 -1 2 2
54 probe all rgba 0.0 1.0 0.0 1.0