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