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 GL3 texture buffer object tests. 20e5c31af7Sopenharmony_ci 21e5c31af7Sopenharmony_ciTests: 22e5c31af7Sopenharmony_ci + dEQP-GL3.functional.texture_buffer.* 23e5c31af7Sopenharmony_ci 24e5c31af7Sopenharmony_ciIncludes: 25e5c31af7Sopenharmony_ci + Rendering 26e5c31af7Sopenharmony_ci - As vertex texture 27e5c31af7Sopenharmony_ci - As fragment texture 28e5c31af7Sopenharmony_ci - As vertex array 29e5c31af7Sopenharmony_ci - As index array 30e5c31af7Sopenharmony_ci - All combinations of above 31e5c31af7Sopenharmony_ci + Different buffer sizes 32e5c31af7Sopenharmony_ci - Including larger than max texture size 33e5c31af7Sopenharmony_ci 34e5c31af7Sopenharmony_ci + Modifications 35e5c31af7Sopenharmony_ci - glBufferData 36e5c31af7Sopenharmony_ci - glBufferSubData 37e5c31af7Sopenharmony_ci - glMapBufferRange with write-only and read-write 38e5c31af7Sopenharmony_ci 39e5c31af7Sopenharmony_ciExcludes: 40e5c31af7Sopenharmony_ci + Reading pixels to buffer 41e5c31af7Sopenharmony_ci + Transform feedback 42e5c31af7Sopenharmony_ci + Negative test 43e5c31af7Sopenharmony_ci 44e5c31af7Sopenharmony_ciDescription: 45e5c31af7Sopenharmony_ci 46e5c31af7Sopenharmony_ciRendering tests create a texture buffer object and render to the default 47e5c31af7Sopenharmony_ciframebuffer using the texture buffer as different data sources. The texture 48e5c31af7Sopenharmony_cibuffer object is used as vertex array, index array, vertex texture and fragment 49e5c31af7Sopenharmony_citexture. Rendering using the texture buffer object simultaneously in different 50e5c31af7Sopenharmony_ciways is also tested. 51e5c31af7Sopenharmony_ci 52e5c31af7Sopenharmony_ciModifying tests create a texture buffer object, modify it and render it to the 53e5c31af7Sopenharmony_cidefault framebuffer using it as fragment texture. 54e5c31af7Sopenharmony_ci 55e5c31af7Sopenharmony_ciModify render tests will create texture buffer object, modify it and render it 56e5c31af7Sopenharmony_cito the default framebuffer. 57e5c31af7Sopenharmony_ci 58e5c31af7Sopenharmony_ciRender modify tests will create a tests buffer object render it to default 59e5c31af7Sopenharmony_ciframebuffer, modify it and render it again to default framebuffer as fragment 60e5c31af7Sopenharmony_citexture. 61e5c31af7Sopenharmony_ci 62e5c31af7Sopenharmony_ciAll textures use RGBA8 format and buffer data is always used as unsigned bytes. 63e5c31af7Sopenharmony_ciUsed values for bytes are also limited to simplify verification. Verification 64e5c31af7Sopenharmony_ciis always performed at the end of the test. 65