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 Fence sync tests 20 21Tests: 22 + dEQP-GLES3.functional.fence_sync.* 23 24Includes: 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 33Description: 34 35Fence sync functionality is tested by drawing a small or large number of 36primitives with glDrawArrays(). Then a sync object is created, and 37optionally glFlush() or glFinish() are called. 38 39Wait is then performed with either glWaitSync() or glClientWaitSync(), and 40different timeout values as well as the flag GL_SYNC_FLUSH_COMMANDS_BIT 41are tested. Finally, errors are checked and the return value of 42glClientWaitSync() is verified. 43 44The testcase fails if errors are created or if glClientWaitSync() returns 45GL_WAIT_FAILED. Additionally, if glFinish() was called before wait, return 46value is required to be GL_ALREADY_SIGNALED. 47