1-------------------------------------------------------------------------
2drawElements Quality Program Test Specification
3-----------------------------------------------
4
5Copyright 2014 The Android Open Source Project
6
7Licensed under the Apache License, Version 2.0 (the "License");
8you may not use this file except in compliance with the License.
9You may obtain a copy of the License at
10
11     http://www.apache.org/licenses/LICENSE-2.0
12
13Unless required by applicable law or agreed to in writing, software
14distributed under the License is distributed on an "AS IS" BASIS,
15WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16See the License for the specific language governing permissions and
17limitations under the License.
18-------------------------------------------------------------------------
19    Primitive restart tests
20
21Tests:
22 + dEQP-GLES3.functional.primitive_restart.*
23
24Includes:
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
37Excludes:
38 + Test for correctness of rasterization
39
40Description:
41
42Vertex positions and indices are generated such that multiple primitives are
43defined with the same index array, using the fixed primitive restart index to
44separate the primitives. Various sizes (in terms of index count between
45restarts) of primitives are generated.
46
47Special cases are generated such that there are indices at the beginning or end
48of the index array, or the index array contains two consecutive restarts
49where there would normally be one. These cases are otherwise equivalent and
50should render identically.
51
52For glDrawElementsInstanced(), an instance count of 1 is used. For
53glDrawRangeElements(), the start parameter is 0, and the end parameter is the
54largest non-restart index in the index array.
55
56The result is compared to an image produced by doing multiple ordinary draw
57calls instead of using primitive restarts.
58