ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_tessellation_shader / execution / tcs-read-texture.shader_test
blob52f5b84b0475b028b3dade73df5040d58a9331c5
1 [require]
2 GLSL >= 1.50
3 GL_ARB_tessellation_shader
5 [vertex shader passthrough]
6 [tessellation control shader]
7 #extension GL_ARB_tessellation_shader : require
8 layout(vertices = 3) out;
9 out vec4 color1[];
10 uniform sampler2D tex;
12 void main() {
13         gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
14         gl_TessLevelOuter = float[4](1.0, 1.0, 1.0, 1.0);
15         gl_TessLevelInner = float[2](1.0, 1.0);
16         vec2 texcoord = gl_in[gl_InvocationID].gl_Position.xy*0.25+0.5;
17         color1[gl_InvocationID] = texture(tex, texcoord);
20 [tessellation evaluation shader]
21 #extension GL_ARB_tessellation_shader : require
22 layout(triangles) in;
23 in vec4 color1[];
24 out vec4 color;
26 void main() {
27         gl_Position =
28                 gl_in[0].gl_Position * gl_TessCoord[0] +
29                 gl_in[1].gl_Position * gl_TessCoord[1] +
30                 gl_in[2].gl_Position * gl_TessCoord[2];
31         color = color1[0] * gl_TessCoord[0] +
32                 color1[1] * gl_TessCoord[1] +
33                 color1[2] * gl_TessCoord[2];
36 [fragment shader]
37 in vec4 color;
38 void main()
40         gl_FragColor = color;
43 [vertex data]
44 piglit_vertex/float/2
45 -1.0 -1.0
46  1.0 -1.0
47 -1.0  1.0
48 -1.0  1.0
49  1.0 -1.0
50  1.0  1.0
52 [test]
53 clear color 0.5 0.5 0.5 1.0
54 clear
55 patch parameter vertices 3
56 uniform int tex 0
57 texture checkerboard 0 0 (32, 32) (0.0, 0.0, 1.0, 0.0) (0.0, 1.0, 0.0, 0.0)
58 texparameter 2D min nearest
59 texparameter 2D mag nearest
61 draw arrays GL_PATCHES 0 6
63 tolerance 0 0.02 0.02 1
64 # blue in bottom left and top right corners, green elsewhere
65 # patch 0
66 relative probe rgba ( 0, 0 ) ( 0, 0, 1, 1 )
68 # patch 1
69 relative probe rgba ( 1, 1 ) ( 0, 0, 1, 1 )
70 relative probe rgba ( 0, 1 ) ( 0, 1, 0, 1 )
71 relative probe rgba ( 1, 0 ) ( 0, 1, 0, 1 )
72 relative probe rgba ( 0.5, 0.5 ) ( 0, 1, 0, 1 )