blob: 20ebece4d0f61c2f8f4712dd356cc6aa0820e5a7 [file] [log] [blame]
-------------------------------------------------------------------------
drawElements Quality Program Test Specification
-----------------------------------------------
Copyright 2014 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-------------------------------------------------------------------------
Fence sync tests
Tests:
+ dEQP-GLES3.functional.fence_sync.*
Includes:
+ Creating and deleting sync objects
+ Calling glWaitSync
- With varying number of primitive draws
+ Calling glClientWaitSync and verifying return values
- With varying number of primitive draws
- With varying timeouts
- Flushing or finishing before wait
Description:
Fence sync functionality is tested by drawing a small or large number of
primitives with glDrawArrays(). Then a sync object is created, and
optionally glFlush() or glFinish() are called.
Wait is then performed with either glWaitSync() or glClientWaitSync(), and
different timeout values as well as the flag GL_SYNC_FLUSH_COMMANDS_BIT
are tested. Finally, errors are checked and the return value of
glClientWaitSync() is verified.
The testcase fails if errors are created or if glClientWaitSync() returns
GL_WAIT_FAILED. Additionally, if glFinish() was called before wait, return
value is required to be GL_ALREADY_SIGNALED.