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