-------------------------------------------------------------------------
drawElements Quality Program Test Specification
-----------------------------------------------

Copyright 2014 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-------------------------------------------------------------------------
    Primitive restart tests

Tests:
 + dEQP-GLES3.functional.primitive_restart.*

Includes:
 + Draw using:
   - glDrawElements()
   - glDrawElementsInstanced()
   - glDrawRangeElements()
 + All primitive types
 + All index types
 + Primitive restart index placing special cases:
   - Use/don't use two consecutive primitive restarts
   - Restarts/no restarts as first value of index array
   - Restarts/no restarts as last value of index array
   - Combinations of above

Excludes:
 + Test for correctness of rasterization

Description:

Vertex positions and indices are generated such that multiple primitives are
defined with the same index array, using the fixed primitive restart index to
separate the primitives. Various sizes (in terms of index count between
restarts) of primitives are generated.

Special cases are generated such that there are indices at the beginning or end
of the index array, or the index array contains two consecutive restarts
where there would normally be one. These cases are otherwise equivalent and
should render identically.

For glDrawElementsInstanced(), an instance count of 1 is used. For
glDrawRangeElements(), the start parameter is 0, and the end parameter is the
largest non-restart index in the index array.

The result is compared to an image produced by doing multiple ordinary draw
calls instead of using primitive restarts.