ARB_ubo/referenced-by-shader: pass if shader compiler moves UBOs between shaders
[piglit.git] / tests / spec / arb_tessellation_shader / execution / tess-instance-id.shader_test
blob8f7af9c6c25223b829080bce79833d1fda0e1fcd
1 [require]
2 GLSL >= 4.00
4 [vertex shader]
5 #version 400
7 uniform vec4 instance_colors[] = vec4[](vec4(0.0, 1.0, 0.0, 1.0),
8                                         vec4(0.0, 0.5, 0.5, 1.0),
9                                         vec4(0.0, 0.0, 1.0, 1.0));
10 in vec4 piglit_vertex;
11 out vec4 color, pos;
13 void main()
15   color = instance_colors[gl_InstanceID];
17   vec4 v = piglit_vertex;
18   v.x += 20.0 * float(gl_InstanceID) / 125.0;
20   pos = v;
23 [tessellation evaluation shader]
24 #version 400
25 layout(quads) in;
27 in vec4 color[], pos[];
28 out vec4 fs_color;
30 void main()
32   gl_Position = mix(mix(pos[0], pos[1], gl_TessCoord[0]),
33                     mix(pos[2], pos[3], gl_TessCoord[0]), gl_TessCoord[1]);
34   fs_color = color[0];
37 [fragment shader]
38 #version 400
39 in vec4 fs_color;
41 void main()
43   gl_FragColor = fs_color;
46 [test]
47 clear color 0.5 0.5 0.5 0.5
48 clear
49 draw instanced rect ortho patch 3 10 10 10 10
50 probe rgb 15 15 0.0 1.0 0.0
51 probe rgb 35 15 0.0 0.5 0.5
52 probe rgb 55 15 0.0 0.0 1.0