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    GL3 conditional render stress tests
20
21Tests:
22 + dEQP-GL3.stress.conditional_render.*
23
24Includes:
25 + Multiple concurrent queries/renders
26 + Query and conditional geometry significantly apart
27   - For tiled renderers
28
29Excludes:
30
31Description:
32
33Conditional rendering stress tests use a large number of conditional rendering
34calls under various conditions.
35
36Call count and distant query tests prepare all vertex arrays before rendering.
37All tests are based on using occlusion queries with known results and rendering
38the same scene with geometry culled either by conditional rendering or the
39test logic. The results are compared to verify correctness.
40
41Rendering is ordered so that all occlusion queries are started before any
42conditional rendering is done.
43
44Call count test use many occlusion queries and simple occluder geometry. Every
45second occlusion query is set to fail. Failing occlusion query geometry is
46limited within a small region of the screen. Passing query geometry is evenly
47spread around the screen. Conditionally rendered geometry is evenly spread.
48
49Distant query tests have maximal screen distance between the query geometry
50and the rendering the query controls. The setup is equivalent to the call
51count cases with the exception of the distribution of the primitives rendered.
52Occlusion query geometry is roughly on the opposing edge of the screen as the
53geometry it controls. All edges have occluders.