ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_tessellation_shader / execution / tes-no-tcs-primitiveid-instanced.shader_test
blob504f4e08b33fa83761653eaff8b4cb621230f5db
1 # Test that the gl_PrimitiveID input in the TES is correctly set up and starts
2 # at 0 for each instance in instanced draws.
4 [require]
5 GLSL >= 1.50
6 GL_ARB_tessellation_shader
8 [vertex shader]
9 #version 150
11 out int vs_tes_id;
12 out int vs_tes_instance;
14 void main()
16         vs_tes_id = gl_VertexID;
17         vs_tes_instance = gl_InstanceID;
20 [tessellation evaluation shader]
21 #version 150
22 #extension GL_ARB_tessellation_shader : require
24 layout(quads, equal_spacing) in;
26 in int vs_tes_id[];
27 in int vs_tes_instance[];
29 out vec4 color;
31 void main()
33         gl_Position = vec4(-1.0 + vs_tes_id[0] + gl_TessCoord.x,
34                            -1.0 + vs_tes_instance[0] + gl_TessCoord.y,
35                            0.0, 1.0);
37         color = vec4(0.0, 1.0, gl_PrimitiveID * 0.1, 1.0);
40 [fragment shader]
41 #version 150
43 in vec4 color;
45 void main()
47         gl_FragColor = color;
50 [test]
51 clear color 0.0 0.0 0.0 0.0
52 clear
54 patch parameter default level inner 1 1
55 patch parameter default level outer 1 1 1 1
57 patch parameter vertices 1
58 draw arrays instanced GL_PATCHES 0 2 2
60 # First instance
61 relative probe rect rgba (0.0, 0.0, 0.5, 0.5) (0.0, 1.0, 0.0, 1.0)
62 relative probe rect rgba (0.5, 0.0, 0.5, 0.5) (0.0, 1.0, 0.1, 1.0)
64 # Second instance
65 relative probe rect rgba (0.0, 0.5, 0.5, 0.5) (0.0, 1.0, 0.0, 1.0)
66 relative probe rect rgba (0.5, 0.5, 0.5, 0.5) (0.0, 1.0, 0.1, 1.0)