mesa: add logic_op() helper
authorTimothy Arceri <tarceri@itsqueeze.com>
Wed, 28 Jun 2017 03:40:09 +0000 (13:40 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Wed, 28 Jun 2017 22:54:10 +0000 (08:54 +1000)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/mesa/main/blend.c

index 881e9c8a79fe9a8597470ad3ea7baa441e6b3145..541c24852d594192aef5684a2352e371d2d537ee 100644 (file)
@@ -755,6 +755,21 @@ _mesa_AlphaFunc( GLenum func, GLclampf ref )
 }
 
 
+static void
+logic_op(struct gl_context *ctx, GLenum opcode)
+{
+   if (ctx->Color.LogicOp == opcode)
+      return;
+
+   FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLogicOp ? 0 : _NEW_COLOR);
+   ctx->NewDriverState |= ctx->DriverFlags.NewLogicOp;
+   ctx->Color.LogicOp = opcode;
+
+   if (ctx->Driver.LogicOpcode)
+      ctx->Driver.LogicOpcode(ctx, opcode);
+}
+
+
 /**
  * Specify a logic pixel operation for color index rendering.
  *
@@ -796,15 +811,7 @@ _mesa_LogicOp( GLenum opcode )
         return;
    }
 
-   if (ctx->Color.LogicOp == opcode)
-      return;
-
-   FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLogicOp ? 0 : _NEW_COLOR);
-   ctx->NewDriverState |= ctx->DriverFlags.NewLogicOp;
-   ctx->Color.LogicOp = opcode;
-
-   if (ctx->Driver.LogicOpcode)
-      ctx->Driver.LogicOpcode( ctx, opcode );
+   logic_op(ctx, opcode);
 }