summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/blend.c
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2017-07-17 22:31:24 +0200
committerSamuel Pitoiset <[email protected]>2017-07-31 13:53:39 +0200
commit474f4b343be9b50fbe61d5f92676a9913197a6f5 (patch)
tree17e00668a985b9ca3401dabc219aeabed1f4ed6f /src/mesa/main/blend.c
parent6c15260ecc45f8418457eb1f93ae90ba71926fae (diff)
mesa: add blend_equationi() helper
Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/mesa/main/blend.c')
-rw-r--r--src/mesa/main/blend.c29
1 files changed, 18 insertions, 11 deletions
diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c
index 32656283115..84029ac6be9 100644
--- a/src/mesa/main/blend.c
+++ b/src/mesa/main/blend.c
@@ -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);
}