Merge "Remove broken record_variable_selection test from MR1 must-pass." into lollipo...
[platform/upstream/VK-GL-CTS.git] / doc / testspecs / GLES3 / functional.fence_sync.txt
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.