| ------------------------------------------------------------------------- |
| 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. |
| ------------------------------------------------------------------------- |
| Texture gather tests |
| |
| Tests: |
| + dEQP-GLES31.functional.texture.gather.* |
| |
| Includes: |
| + textureGather, textureGatherOffset and textureGatherOffsets tests |
| - Also dynamic-offset variant of textureGatherOffset |
| + All supported texture types |
| - 2D |
| - 2D array |
| - Cube map for offset-less variant only (not defined for others) |
| + rgba8 unorm, uint and int color formats |
| + depth32f format for shadow variants |
| - LESS and GREATER comparison functions |
| + For color textures, test each value (0 to 3) for the color component |
| argument, as well as no argument (implicit 0) |
| + Power-of-two and non-power-of-two texture sizes |
| - Test each wrap mode (clamp to edge, repeat, mirrored repeat) for both S and |
| T coordinates |
| + Texture swizzle (for color formats) |
| - Test each swizzle source for each color component |
| + Test that filter modes have no effect (assuming texture is still complete) |
| + Base level |
| + For color textures, test gathering from incomplete texture |
| + For offset(s) variants, test various offsets from both the spec-required |
| minimum range as well as implementation's range |
| |
| Excludes: |
| + Rest of texture formats |
| + Rest of depth comparison functions |
| + Negative tests |
| |
| Description: |
| |
| The texture gather test group contains tests for the textureGather* group of |
| functions. |
| |
| Each test case creates and sets up a 2d, 2d array or cube texture with unorm, |
| int, uint or depth format. A shader program is created that uses the appropriate |
| textureGather* on that texture in the fragment shader, and outputs the resulting |
| color as a fragment output. A framebuffer object with a renderbuffer object as |
| its color attachment is used; the renderbuffer's format matches that of the |
| texture (except for depth formats, for which rgba8 is used). The resulting image |
| is read with glReadPixels(), and verified with routines that take coordinate |
| imprecisions into account. Multiple shaders and rendering iterations are used, |
| so that different color component and/or offset arguments to the textureGather* |
| function can be tested. |
| |
| The textureGatherOffsets functions, as well as textureGatherOffset with dynamic |
| offset, are tested if the GL_EXT_gpu_shader5 extension is supported. |