1------------------------------------------------------------------------- 2drawElements Quality Program Test Specification 3----------------------------------------------- 4 5Copyright 2014 The Android Open Source Project 6 7Licensed under the Apache License, Version 2.0 (the "License"); 8you may not use this file except in compliance with the License. 9You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13Unless required by applicable law or agreed to in writing, software 14distributed under the License is distributed on an "AS IS" BASIS, 15WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16See the License for the specific language governing permissions and 17limitations under the License. 18------------------------------------------------------------------------- 19 Texture format sets 20 21Tests: 22 + dEQP-GLES3.functional.texture.format.* 23 24Includes: 25 + Unsized color texture formats: 26 - GLES2: ALPHA, LUMINANCE, LUMINANCE_ALPHA, RGB, RGBA 27 - GLES3: RED, RG, INTEGER variants 28 + Unsized depth and stencil formats: 29 - DEPTH_COMPONENT, DEPTH_STENCIL 30 + All sized color texture formats 31 + All sized depth and stencil texture formats 32 + sRGB texture formats 33 + Following compressed texture formats: 34 - ETC1 35 - ETC2 36 - EAC 37 + Power-of-two and non-power-of-two texture sizes 38 + Texture access from fragment shader with following parameters: 39 - Nearest-neighbor filtering 40 - Clamp-to-edge wrap mode 41 - Single texture, unit 0 42 - Named texture object 43 - Coordinates in range (0, 0) -> (1, 1) 44 + 2D textures 45 + Cube map textures 46 + 2D array textures 47 + 3D textures 48 49Excludes: 50 + Other texture wrap and filtering modes 51 - Covered in functional.texture.filtering and functional.texture.wrap 52 + Vertex-side texture access 53 - Will be covered in functional.texture.vertex tests 54 + Texture format conversions in upload 55 - Will be covered in functional.texture.conversion 56 57Description: 58 59Texture format tests create a single texture with pre-configured dimensions 60and format. Uncompressed images will be filled with gradient that exercises 61the maximum value range allowed by the format. For compressed formats 62randomized input bits are used to thoroughly exercise all decoding paths. 63 64Each test case renders one or more times a plain quad that samples a slice 65of the image: 66 67 * 2D textures: Single quad that samples the full texture is rendered. 68 * Cubemaps: Each cube face is rendered separately. 69 * 2D array textures: Each layer is rendered separately. 70 * 3D textures: Each slice is rendered separately. 71 72The viewport is configured to match the slice size. Texture coordinates 73yield a 1:1 mapping from texels to framebuffer pixels. Thus filtering 74shouldn't affect the resulting images. 75 76The rendered image is compared against a reference that is produced by 77reference renderer. A simple threshold-based comparison is used. 78