Home | History | Annotate | Download | only in GLES31
      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     Indirect drawing tests
     20 
     21 Tests:
     22  + dEQP-GLES31.functional.draw_indirect.*
     23 
     24 Includes:
     25  + Draw all basic primitives
     26    - Points, triangles, triangle strips, triangle fans, lines, line
     27      strips, line loops
     28  + DrawArraysIndirect firstVertex
     29  + DrawElementsIndirect index array tests
     30  + DrawElementsIndirect baseVertex
     31    - Test positive and negative baseVertex values
     32  + Instanced draw with a high instance count
     33  + Negative tests
     34     - Bad alignment
     35 	- Source data beyond the end of the buffer
     36 	- Use of client side attribute arrays
     37 
     38 Excludes:
     39 
     40 Description:
     41 
     42 Primitive drawing cases draw a group of primitives with random generated
     43 vertex attributes and compare the output to a reference image generated
     44 by a simple reference rasterizer. Each primitive is tested using a single
     45 (generated) attribute array, multiple attribute arrays, instanced
     46 attribute array (instance divisor > 0) and with a non-array current
     47 attribute.
     48 
     49 DrawArraysIndirect firstVertex cases draw random triangles using
     50 glDrawElementIndirect with firstVertex > 0 and compare results to a
     51 generated reference image.
     52 
     53 DrawElementsIndirect index array cases draw random triangles using
     54 glDrawElementIndirect with index types of unsigned byte, short and int
     55 with both firstIndex = 0 and firstIndex = 1 and compare results to
     56 generated reference images.
     57 
     58 DrawElementsIndirect baseVertex cases draw random triangles with index
     59 types of unsigned byte, short and int using both positive and negative
     60 baseVertex values and compare results to generated reference images.
     61 
     62 Instanced draw cases draw a grid by instancing a single tile. The result
     63 is verified by simply searching for background colored (black) pixels in
     64 the result image. Resulting image should not contain any background
     65 colored pixels.
     66 
     67 Negative cases test try to issue a bad indirect draw command expecting an
     68 INVALID_OPERATION. Bad commands tested are commands with bad alignment,
     69 commands only partially in the DRAW_INDIRECT_BUFFER buffer, and commands
     70 not even partially in the DRAW_INDIRECT_BUFFER buffer.
     71