| ------------------------------------------------------------------------- |
| 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 format sets |
| |
| Tests: |
| + dEQP-GLES3.functional.texture.format.* |
| |
| Includes: |
| + Unsized color texture formats: |
| - GLES2: ALPHA, LUMINANCE, LUMINANCE_ALPHA, RGB, RGBA |
| - GLES3: RED, RG, INTEGER variants |
| + Unsized depth and stencil formats: |
| - DEPTH_COMPONENT, DEPTH_STENCIL |
| + All sized color texture formats |
| + All sized depth and stencil texture formats |
| + sRGB texture formats |
| + Following compressed texture formats: |
| - ETC1 |
| - ETC2 |
| - EAC |
| + Power-of-two and non-power-of-two texture sizes |
| + Texture access from fragment shader with following parameters: |
| - Nearest-neighbor filtering |
| - Clamp-to-edge wrap mode |
| - Single texture, unit 0 |
| - Named texture object |
| - Coordinates in range (0, 0) -> (1, 1) |
| + 2D textures |
| + Cube map textures |
| + 2D array textures |
| + 3D textures |
| |
| Excludes: |
| + Other texture wrap and filtering modes |
| - Covered in functional.texture.filtering and functional.texture.wrap |
| + Vertex-side texture access |
| - Will be covered in functional.texture.vertex tests |
| + Texture format conversions in upload |
| - Will be covered in functional.texture.conversion |
| |
| Description: |
| |
| Texture format tests create a single texture with pre-configured dimensions |
| and format. Uncompressed images will be filled with gradient that exercises |
| the maximum value range allowed by the format. For compressed formats |
| randomized input bits are used to thoroughly exercise all decoding paths. |
| |
| Each test case renders one or more times a plain quad that samples a slice |
| of the image: |
| |
| * 2D textures: Single quad that samples the full texture is rendered. |
| * Cubemaps: Each cube face is rendered separately. |
| * 2D array textures: Each layer is rendered separately. |
| * 3D textures: Each slice is rendered separately. |
| |
| The viewport is configured to match the slice size. Texture coordinates |
| yield a 1:1 mapping from texels to framebuffer pixels. Thus filtering |
| shouldn't affect the resulting images. |
| |
| The rendered image is compared against a reference that is produced by |
| reference renderer. A simple threshold-based comparison is used. |