1e5c31af7Sopenharmony_ci------------------------------------------------------------------------- 2e5c31af7Sopenharmony_cidrawElements Quality Program Test Specification 3e5c31af7Sopenharmony_ci----------------------------------------------- 4e5c31af7Sopenharmony_ci 5e5c31af7Sopenharmony_ciCopyright 2014 The Android Open Source Project 6e5c31af7Sopenharmony_ci 7e5c31af7Sopenharmony_ciLicensed under the Apache License, Version 2.0 (the "License"); 8e5c31af7Sopenharmony_ciyou may not use this file except in compliance with the License. 9e5c31af7Sopenharmony_ciYou may obtain a copy of the License at 10e5c31af7Sopenharmony_ci 11e5c31af7Sopenharmony_ci http://www.apache.org/licenses/LICENSE-2.0 12e5c31af7Sopenharmony_ci 13e5c31af7Sopenharmony_ciUnless required by applicable law or agreed to in writing, software 14e5c31af7Sopenharmony_cidistributed under the License is distributed on an "AS IS" BASIS, 15e5c31af7Sopenharmony_ciWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16e5c31af7Sopenharmony_ciSee the License for the specific language governing permissions and 17e5c31af7Sopenharmony_cilimitations under the License. 18e5c31af7Sopenharmony_ci------------------------------------------------------------------------- 19e5c31af7Sopenharmony_ci Texture image specification tests 20e5c31af7Sopenharmony_ci 21e5c31af7Sopenharmony_ciTests: 22e5c31af7Sopenharmony_ci + dEQP-GLES2.functional.texture.teximage.* 23e5c31af7Sopenharmony_ci 24e5c31af7Sopenharmony_ciIncludes: 25e5c31af7Sopenharmony_ci + Texture upload using: 26e5c31af7Sopenharmony_ci - glTexImage2D() 27e5c31af7Sopenharmony_ci - glTexSubImage2D() 28e5c31af7Sopenharmony_ci + Copy from framebuffer using: 29e5c31af7Sopenharmony_ci - glCopyTexImage2D() 30e5c31af7Sopenharmony_ci - glCopyTexSubImage2D() 31e5c31af7Sopenharmony_ci + 2D and cube map texture targets 32e5c31af7Sopenharmony_ci + Different pixel alignments in upload (GL_UNPACK_ALIGNMENT) 33e5c31af7Sopenharmony_ci + All supported pixel formats 34e5c31af7Sopenharmony_ci + Named and default texture objects 35e5c31af7Sopenharmony_ci 36e5c31af7Sopenharmony_ciExcludes: 37e5c31af7Sopenharmony_ci + Compressed texture formats 38e5c31af7Sopenharmony_ci 39e5c31af7Sopenharmony_ciDescription: 40e5c31af7Sopenharmony_ci 41e5c31af7Sopenharmony_ciTexture image specification tests build a complete 2D or cubemap texture 42e5c31af7Sopenharmony_ciusing the texture image specification functions. The exact order and functions 43e5c31af7Sopenharmony_ciused depends on the test case. 44e5c31af7Sopenharmony_ci 45e5c31af7Sopenharmony_ciFor glCopyTexImage2D() and glCopyTexSubImage2D() usage the rendering target 46e5c31af7Sopenharmony_ciis first filled with meaningful data by rendering a simple textured quad first. 47e5c31af7Sopenharmony_ci 48e5c31af7Sopenharmony_ciReference texture object is constructed by applying reference versions of the 49e5c31af7Sopenharmony_cisame operations to a reference pixel buffer. 50e5c31af7Sopenharmony_ci 51e5c31af7Sopenharmony_ciFinally both the constructed texture is rendered using a simple quad and the 52e5c31af7Sopenharmony_ciresulting images are compared against the reference. Nearest-neighbor -filtering 53e5c31af7Sopenharmony_ciis used. For cubemap textures each face is rendered separately and all are 54e5c31af7Sopenharmony_civerified. If mipmaps were constructed, texture is rendered multiple times 55e5c31af7Sopenharmony_cisampling texels from different mipmap levels. 56