mesa: add blend_equationi() helper
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 17 Jul 2017 20:31:24 +0000 (22:31 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 31 Jul 2017 11:53:39 +0000 (13:53 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mesa/main/blend.c

index 32656283115628884902aae6b4d767164ca52e74..84029ac6be99132ec093a08f5c74342734dd57f8 100644 (file)
@@ -552,6 +552,23 @@ _mesa_BlendEquation( GLenum mode )
 /**
  * Set blend equation for one color buffer/target.
  */
+static void
+blend_equationi(struct gl_context *ctx, GLuint buf, GLenum mode,
+                enum gl_advanced_blend_mode advanced_mode)
+{
+   if (ctx->Color.Blend[buf].EquationRGB == mode &&
+       ctx->Color.Blend[buf].EquationA == mode)
+      return;  /* no change */
+
+   _mesa_flush_vertices_for_blend_state(ctx);
+   ctx->Color.Blend[buf].EquationRGB = mode;
+   ctx->Color.Blend[buf].EquationA = mode;
+   ctx->Color._BlendEquationPerBuffer = GL_TRUE;
+
+   if (buf == 0)
+      ctx->Color._AdvancedBlendMode = advanced_mode;
+}
+
 void GLAPIENTRY
 _mesa_BlendEquationiARB(GLuint buf, GLenum mode)
 {
@@ -573,17 +590,7 @@ _mesa_BlendEquationiARB(GLuint buf, GLenum mode)
       return;
    }
 
-   if (ctx->Color.Blend[buf].EquationRGB == mode &&
-       ctx->Color.Blend[buf].EquationA == mode)
-      return;  /* no change */
-
-   _mesa_flush_vertices_for_blend_state(ctx);
-   ctx->Color.Blend[buf].EquationRGB = mode;
-   ctx->Color.Blend[buf].EquationA = mode;
-   ctx->Color._BlendEquationPerBuffer = GL_TRUE;
-
-   if (buf == 0)
-      ctx->Color._AdvancedBlendMode = advanced_mode;
+   blend_equationi(ctx, buf, mode, advanced_mode);
 }