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     Title
     20 
     21 Tests:
     22  + dEQP-GLES31.functional.fbo.no_attachments.*
     23  + dEQP-GLES31.functional.fbo.completeness.no_attachments
     24 
     25 Includes:
     26  + Framebuffer completeness
     27  + Rendering
     28    - Multiple sizes
     29    - Multisampled
     30  + Limits
     31 
     32 Excludes:
     33  + Most usefull forms of output
     34    - Atomic counter use (none guaranteed in fragment shader)
     35    - Image read/write (no image units guaranteed in fragment shader)
     36  + Fixed sample locations (no way to verify)
     37 
     38 Description:
     39 
     40 Framebuffer completenss is tested trivially
     41 
     42 Rendering is verified to happen with occlusion queries. This rather limited
     43 method has been chosen since there is a general shortage of guaranteed valid
     44 ways of outputting data from a fragment shader without a color/depth/stencil
     45 buffer. Namely all relevant minimum maximums (atomic counters, atomic counter
     46 buffers, shader storage blocks and image uniforms) are zero.
     47 
     48 Basic functioning of the framebuffer is tested by rendering a full buffer quad
     49 and verifying its presence with an occlusion query. Size of the framebuffer
     50 is verified by running a shader that discard all fragments that are not within
     51 a given pixel's boundaries with several pixels placed around the edge of the
     52 framebuffer and checking for that these fragments were (not) rendered with
     53 an occlusion query. Each tested pixel has its own render call and occlusion
     54 query.
     55 
     56 Basic functionality tests iterate a number of size & sampling parameters,
     57 including the required maximum and implementation reported limits
     58 
     59 The completeness test verifies that a framebuffer with both widht and height
     60 set is considered complete.
     61