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 Blend Equation Advanced (GL_KHR_blend_equation_advanced) 20 21Tests: 22 + dEQP-GLES31.functional.blend_equation_advanced.* 23 24Includes: 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 32Excludes (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 38Description: 39 40Advanced blending tests render two or more overlapping quads. First quad is 41rendered without blending, while subsequent quads have the advanced blend mode 42enabled. Results are always verified against a reference implementation. In 43modes other than HSL, bilinear comparison is used. in HSL modes fuzzy 44comparison is used as minor precision differences can cause relatively large 45deviations in rendered images. 46 47In basic, srgb, and msaa tests, only two quads are rendered. In barrier tests 48multiple quads are rendered, one quad per draw call. A blend barrier call is 49made between each overlapping quad with advanced blending enabled. In coherent 50and coherent_msaa tests all quads that have blending enabled are rendered in a 51single draw call. 52