ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_tessellation_shader / execution / patch-partial-write.shader_test
blob8b0601883db9f7302e405ca3484a2f6a19418519
2 # Test that partial writes of patch outputs work in the control shader
5 [require]
6 GLSL >= 1.50
7 GL_ARB_tessellation_shader
9 [vertex shader passthrough]
11 [tessellation control shader]
12 #version 150
13 #extension GL_ARB_tessellation_shader : require
15 layout(vertices = 2) out;
16 patch out vec4 c;
17 uniform int x;
19 void main()
21         gl_TessLevelInner[0] = 1.0;
22         gl_TessLevelInner[1] = 1.0;
24         gl_TessLevelOuter[0] = 1.0;
25         gl_TessLevelOuter[1] = 1.0;
26         gl_TessLevelOuter[2] = 1.0;
27         gl_TessLevelOuter[3] = 1.0;
29         c = vec4(1.0);
30         if (x == 0) {   /* true, but the compiler cannot see it */
31                 c.xz = vec2(0);
32         }
35 [tessellation evaluation shader]
36 #version 150
37 #extension GL_ARB_tessellation_shader : require
39 layout(quads, equal_spacing) in;
40 patch in vec4 c;
41 out vec4 fs_c;
43 void main()
45         gl_Position = vec4(gl_TessCoord.xy * 2 - 1, 0, 1);
46         fs_c = c;
49 [fragment shader]
50 #version 150
52 in vec4 fs_c;
54 void main()
56         gl_FragColor = fs_c;
59 [test]
60 clear color 0.1 0.1 0.1 0.1
61 clear
62 patch parameter vertices 1
63 draw arrays GL_PATCHES 0 1
64 probe all rgba 0.0 1.0 0.0 1.0