am d58d98a1: am cb374372: Remove fragment_out tests with too strict thresholds from...
[platform/upstream/VK-GL-CTS.git] / doc / testspecs / GLES3 / functional.primitive_restart.txt
1 -------------------------------------------------------------------------
2 drawElements Quality Program Test Specification
3 -----------------------------------------------
4
5 Copyright 2014 The Android Open Source Project
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11      http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 -------------------------------------------------------------------------
19     Primitive restart tests
20
21 Tests:
22  + dEQP-GLES3.functional.primitive_restart.*
23
24 Includes:
25  + Draw using:
26    - glDrawElements()
27    - glDrawElementsInstanced()
28    - glDrawRangeElements()
29  + All primitive types
30  + All index types
31  + Primitive restart index placing special cases:
32    - Use/don't use two consecutive primitive restarts
33    - Restarts/no restarts as first value of index array
34    - Restarts/no restarts as last value of index array
35    - Combinations of above
36
37 Excludes:
38  + Test for correctness of rasterization
39
40 Description:
41
42 Vertex positions and indices are generated such that multiple primitives are
43 defined with the same index array, using the fixed primitive restart index to
44 separate the primitives. Various sizes (in terms of index count between
45 restarts) of primitives are generated.
46
47 Special cases are generated such that there are indices at the beginning or end
48 of the index array, or the index array contains two consecutive restarts
49 where there would normally be one. These cases are otherwise equivalent and
50 should render identically.
51
52 For glDrawElementsInstanced(), an instance count of 1 is used. For
53 glDrawRangeElements(), the start parameter is 0, and the end parameter is the
54 largest non-restart index in the index array.
55
56 The result is compared to an image produced by doing multiple ordinary draw
57 calls instead of using primitive restarts.