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    Mipmapping tests
20
21Tests:
22 + dEQP-GLES3.functional.texture.mipmap.*
23
24Includes:
25 + All mipmap filtering modes
26 + Lod computation verification
27 + Affine and projected transforms
28 + User-supplied bias to texture lookup
29 + Lod controls: min and max lod
30 + 2D and cube map textures
31
32Excludes:
33 + Only selected texture formats are exercised
34
35Description:
36
37Mipmapping tests render a pre-defined grid of quads. For 2D textures regular
384x4 grid layout is used. For cube map textures the viewport is recursively
39subdivided into smaller areas and each is filled with samples from single
40cube face.
41
42Each texture level is filled with single color. However, each mipmap level
43gets assigned a different color from a continuous gradient. Thus it is possible
44to evaluate how accurately the lod was computed by inspecting the resulting
45colorbuffer.
46
47OpenGL ES specification allows approximating both derivate- and lod computation.
48Thus two reference images are rendered: one rendered according to the minimum
49bound for the approximation and another based on the maximum bound. The rendered
50pixels must be in between the two bounds in order to be valid. In order to
51compensate the derivate approximation the pixels are actually checked against
52a 3x3 neighbor around the pixel.
53