Merge "Remove broken record_variable_selection test from MR1 must-pass." into lollipo...
[platform/upstream/VK-GL-CTS.git] / doc / testspecs / GLES3 / functional.texture.format.txt
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     Texture format sets
20
21 Tests:
22  + dEQP-GLES3.functional.texture.format.*
23
24 Includes:
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
49 Excludes:
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
57 Description:
58
59 Texture format tests create a single texture with pre-configured dimensions
60 and format. Uncompressed images will be filled with gradient that exercises
61 the maximum value range allowed by the format. For compressed formats
62 randomized input bits are used to thoroughly exercise all decoding paths.
63
64 Each test case renders one or more times a plain quad that samples a slice
65 of 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
72 The viewport is configured to match the slice size. Texture coordinates
73 yield a 1:1 mapping from texels to framebuffer pixels. Thus filtering
74 shouldn't affect the resulting images.
75
76 The rendered image is compared against a reference that is produced by
77 reference renderer. A simple threshold-based comparison is used.