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 performance tests
20
21Tests:
22 + dEQP-GLES2.performance.texture.format.*
23
24Includes:
25 + Texture lookup performance with all uncompressed texture formats
26 + 2D and cubemap textures
27 + Texture lookup in vertex and fragment shaders
28 + Nearest neighbor -filtering and clamp to edge -wrap mode
29
30Excludes:
31 + Performance of other filtering or wrap modes
32   - Covered performance.texture.filtering and performance.texture.wrap
33
34Description:
35
36Test cases measure performance of 2D and cubemap texture lookups without
37filtering (nearest neighbor mode). Shader body is populated with one or
38more texture lookups, each targeting different texture unit. There are
39test cases for the most relevant texture lookup counts.
40
41Texture lookups use same coordinates and lookup results are multiplied
42together to produce the final color for vertex or fragment. Additive
43blending is used to force fragment shader execution for all fragments.
44
45Texture size is the same as viewport size. Each texture unit uses a unique
46texture object. Texture objects are however re-used across draw calls.
47Textures are sampled in range (0, 0) -> (1, 1). Vertex-side tests use
482x2 pixel quads, e.g. each vertex gives a color for single pixel.
49In this configuration viewportW*viewportH*numTextures unique texels are
50sampled in each draw call.
51
52Per-iteration draw call count is automatically chosen so that rendering runs
53approximately 30fps. Result is MPix/s or MVert/s computed from number of draw
54calls and actual frame time.
55
56See performance.txt for more details on shader performance testing.
57