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 Blend Equation Advanced (GL_KHR_blend_equation_advanced) 20 21 Tests: 22 + dEQP-GLES31.functional.blend_equation_advanced.* 23 24 Includes: 25 + Validation of all advanced blending modes 26 + Rendering into default framebuffer 27 + Rendering into sRGB FBO 28 + Rendering into MSAA FBO 29 + glBlendBarrierKHR() usage 30 + Validation of coherent blending (if supported) 31 32 Excludes (will be added later): 33 + Use of blend_support_all qualifier 34 + Interaction with other per-fragment operations 35 + Non-premultiplied / invalid color inputs 36 + Negative tests 37 38 Description: 39 40 Advanced blending tests render two or more overlapping quads. First quad is 41 rendered without blending, while subsequent quads have the advanced blend mode 42 enabled. Results are always verified against a reference implementation. In 43 modes other than HSL, bilinear comparison is used. in HSL modes fuzzy 44 comparison is used as minor precision differences can cause relatively large 45 deviations in rendered images. 46 47 In basic, srgb, and msaa tests, only two quads are rendered. In barrier tests 48 multiple quads are rendered, one quad per draw call. A blend barrier call is 49 made between each overlapping quad with advanced blending enabled. In coherent 50 and coherent_msaa tests all quads that have blending enabled are rendered in a 51 single draw call. 52