summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/state.h
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2011-03-11 09:25:21 -0700
committerBrian Paul <brianp@vmware.com>2011-03-11 09:25:21 -0700
commitdecc6e2a32ef49e673c081f30e19b8970155d887 (patch)
tree463640956b098e3fd16af78694c2d48c07f23e95 /src/mesa/main/state.h
parent4293a12c7f0d4fd7ac3a278570f3fe55fc4433a6 (diff)
mesa: replace NEED_SECONDARY_COLOR(), RGBA_LOGICOP_ENABLED() with inlines
and rename them.
Diffstat (limited to 'src/mesa/main/state.h')
-rw-r--r--src/mesa/main/state.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/mesa/main/state.h b/src/mesa/main/state.h
index f0eb43d8ee3..a48c777567f 100644
--- a/src/mesa/main/state.h
+++ b/src/mesa/main/state.h
@@ -46,4 +46,43 @@ extern void
_mesa_set_vp_override(struct gl_context *ctx, GLboolean flag);
+/**
+ * Is the secondary color needed?
+ */
+static INLINE GLboolean
+_mesa_need_secondary_color(const struct gl_context *ctx)
+{
+ if (ctx->Light.Enabled &&
+ ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)
+ return GL_TRUE;
+
+ if (ctx->Fog.ColorSumEnabled)
+ return GL_TRUE;
+
+ if (ctx->VertexProgram._Current &&
+ (ctx->VertexProgram._Current != ctx->VertexProgram._TnlProgram) &&
+ (ctx->VertexProgram._Current->Base.InputsRead & VERT_BIT_COLOR1))
+ return GL_TRUE;
+
+ if (ctx->FragmentProgram._Current &&
+ (ctx->FragmentProgram._Current != ctx->FragmentProgram._TexEnvProgram) &&
+ (ctx->FragmentProgram._Current->Base.InputsRead & FRAG_BIT_COL1))
+ return GL_TRUE;
+
+ return GL_FALSE;
+}
+
+
+/**
+ * Is RGBA LogicOp enabled?
+ */
+static INLINE GLboolean
+_mesa_rgba_logicop_enabled(const struct gl_context *ctx)
+{
+ return ctx->Color.ColorLogicOpEnabled ||
+ (ctx->Color.BlendEnabled && ctx->Color.Blend[0].EquationRGB == GL_LOGIC_OP);
+}
+
+
+
#endif