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