glsl: test loop unroll with uint overflow
[piglit.git] / tests / spec / arb_tessellation_shader / execution / tcs-input-read-nonconst-interface-builtin.shader_test
blob569b372af8c85eb6279ff8e7dc0921add877cc71
1 # Test a single per-vertex input read in a TCS.
3 [require]
4 GLSL >= 1.50
5 GL_ARB_tessellation_shader
7 [vertex shader]
8 #version 150
10 void main()
12         gl_Position = vec4(42.0);
16 [tessellation control shader]
17 #version 150
18 #extension GL_ARB_tessellation_shader : require
20 layout(vertices = 1) out;
22 void main()
24         if (gl_in[gl_InvocationID].gl_Position.x == 42.0) {
25                 gl_TessLevelInner[0] = 1.0;
26                 gl_TessLevelInner[1] = 1.0;
28                 gl_TessLevelOuter[0] = 1.0;
29                 gl_TessLevelOuter[1] = 1.0;
30                 gl_TessLevelOuter[2] = 1.0;
31                 gl_TessLevelOuter[3] = 1.0;
32         } else {
33                 gl_TessLevelInner[0] = 0.0;
34                 gl_TessLevelInner[1] = 0.0;
36                 gl_TessLevelOuter[0] = 0.0;
37                 gl_TessLevelOuter[1] = 0.0;
38                 gl_TessLevelOuter[2] = 0.0;
39                 gl_TessLevelOuter[3] = 0.0;
40         }
43 [tessellation evaluation shader]
44 #version 150
45 #extension GL_ARB_tessellation_shader : require
47 layout(quads, equal_spacing) in;
49 void main()
51         gl_Position = vec4(gl_TessCoord.xy * 2 - 1, 0, 1);
54 [fragment shader]
55 #version 150
57 void main()
59         gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
62 [test]
63 patch parameter vertices 1
64 draw arrays GL_PATCHES 0 1
65 probe all rgba 0.0 1.0 0.0 1.0