Multiple draw buffers in blend_equation_advanced am: 123de4f307
authorMark Adams <marka@nvidia.com>
Fri, 12 Jan 2018 21:49:19 +0000 (21:49 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Fri, 12 Jan 2018 21:49:19 +0000 (21:49 +0000)
am: f3ca3bb9be

Change-Id: I0071405c90f5a9498d702f1000c38c663fd153cf

modules/gles31/functional/es31fNegativeAdvancedBlendEquationTests.cpp

index 2613282..abc1f5e 100644 (file)
@@ -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();