From 123de4f307909a3b79895155653a9ffacedbc0cd Mon Sep 17 00:00:00 2001 From: Mark Adams Date: Fri, 20 Oct 2017 09:49:08 -0400 Subject: [PATCH] Multiple draw buffers in blend_equation_advanced GL_NVX_blend_equation_advanced_multi_draw_buffers adds support for multiple draw buffers with advanced blend equations. This change modifies the below test to check for this extension and to expect GL_NO_ERROR if it is present. Components: AOSP VK-GL-CTS issue: 770 Bug: b/71901344 Affects: dEQP-GLES31.functional.debug.negative_coverage.get_error.advanced_blend.attachment_advanced_equation (cherry picked from commit 2cb35a235c1a7bd3c63b296c37e186eec34e08e2) Change-Id: I865fa30e527b5899197bade465602bafc92a54a1 --- .../gles31/functional/es31fNegativeAdvancedBlendEquationTests.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/gles31/functional/es31fNegativeAdvancedBlendEquationTests.cpp b/modules/gles31/functional/es31fNegativeAdvancedBlendEquationTests.cpp index 2613282..abc1f5e 100644 --- a/modules/gles31/functional/es31fNegativeAdvancedBlendEquationTests.cpp +++ b/modules/gles31/functional/es31fNegativeAdvancedBlendEquationTests.cpp @@ -224,7 +224,7 @@ void attachment_advanced_equation (NegativeTestContext& ctx) ctx.expectError(GL_NO_ERROR); ctx.glCheckFramebufferStatus(GL_FRAMEBUFFER); - ctx.beginSection("GL_INVALID_OPERATION is generated if blending is enabled, advanced equations are used, and the draw buffer for other color outputs is not NONE."); + ctx.beginSection("GL_INVALID_OPERATION is generated if blending is enabled, advanced equations are used, and the draw buffer for other color outputs is not NONE unless NVX_blend_equation_advanced_multi_draw_buffers is supported."); for (int ndx = 0; ndx < DE_LENGTH_OF_ARRAY(s_equations); ++ndx) { glu::ShaderProgram program(ctx.getRenderContext(), generateProgramSources(ctx, s_equations[ndx])); @@ -237,7 +237,10 @@ void attachment_advanced_equation (NegativeTestContext& ctx) ctx.expectError(GL_NO_ERROR); ctx.glBlendEquation(getEquation(s_equations[ndx])); ctx.glDrawElements(GL_TRIANGLES, 0, GL_UNSIGNED_INT, 0); - ctx.expectError(GL_INVALID_OPERATION); + if (ctx.isExtensionSupported("GL_NVX_blend_equation_advanced_multi_draw_buffers")) + ctx.expectError(GL_NO_ERROR); + else + ctx.expectError(GL_INVALID_OPERATION); } ctx.endSection(); -- 2.7.4