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.