1 ------------------------------------------------------------------------- 2 drawElements Quality Program Test Specification 3 ----------------------------------------------- 4 5 Copyright 2014 The Android Open Source Project 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18 ------------------------------------------------------------------------- 19 Fence sync tests 20 21 Tests: 22 + dEQP-GLES3.functional.fence_sync.* 23 24 Includes: 25 + Creating and deleting sync objects 26 + Calling glWaitSync 27 - With varying number of primitive draws 28 + Calling glClientWaitSync and verifying return values 29 - With varying number of primitive draws 30 - With varying timeouts 31 - Flushing or finishing before wait 32 33 Description: 34 35 Fence sync functionality is tested by drawing a small or large number of 36 primitives with glDrawArrays(). Then a sync object is created, and 37 optionally glFlush() or glFinish() are called. 38 39 Wait is then performed with either glWaitSync() or glClientWaitSync(), and 40 different timeout values as well as the flag GL_SYNC_FLUSH_COMMANDS_BIT 41 are tested. Finally, errors are checked and the return value of 42 glClientWaitSync() is verified. 43 44 The testcase fails if errors are created or if glClientWaitSync() returns 45 GL_WAIT_FAILED. Additionally, if glFinish() was called before wait, return 46 value is required to be GL_ALREADY_SIGNALED. 47