framework/replay: disable AA accounting when comparing with no tolerance
[piglit.git] / tests / spec / arb_fragment_layer_viewport / layer-gs-writes-out-of-range.shader_test
blob06a859b64818930130063fdc01245583a4f367ae
1 [require]
2 GLSL >= 1.50
3 GL_ARB_fragment_layer_viewport
4 GL_ARB_shader_atomic_counters
7 # Ensure that the fragment stage reads the same value for gl_Layer as was
8 # written by the geometry stage.
10 # This test covers the case where the value written is out of range.
13 [vertex shader]
14 #version 150
15 in vec4 piglit_vertex;
17 void main()
19         gl_Position = piglit_vertex;
22 [geometry shader]
23 #version 150
25 layout(triangles) in;
26 layout(triangle_strip, max_vertices=9) out;
28 const int layers[] = int[]( -1, 4, 2048 );
29 flat out int layer_written;
31 void main()
33         for (int layer = 0; layer < layers.length(); layer++) {
35                 for (int i = 0; i < 3; i++) {
36                         gl_Position = gl_in[i].gl_Position;
37                         layer_written = layers[layer];
38                         gl_Layer = layers[layer];
39                         EmitVertex();
40                 }
42                 EndPrimitive();
43         }
46 [fragment shader]
47 #version 150
48 #extension GL_ARB_fragment_layer_viewport: require
49 #extension GL_ARB_shader_atomic_counters: require
51 flat in int layer_written;
53 layout(binding = 0) uniform atomic_uint mismatches;
55 void main()
57         if (layer_written != gl_Layer)
58                 atomicCounterIncrement(mismatches);
60         gl_FragColor = vec4(0);
63 [test]
64 texture junk 2DArray 0 ( 64 , 64 , 4 )
65 fb tex layered 0
67 atomic counters 1
70 draw rect -1 -1 2 2
72 probe atomic counter 0 == 0