aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/main/state.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-03-12 14:57:48 +0000
committermarha <marha@users.sourceforge.net>2011-03-12 14:57:48 +0000
commit77ec02adbc8f9657e7749b307d3cc86ccbd163ea (patch)
tree8b11e4e5002a05a69a7b7dfe5ce79162448f2aa2 /mesalib/src/mesa/main/state.h
parentf81bb3160c5f39d8f7ad329e99865af88f02b96a (diff)
downloadvcxsrv-77ec02adbc8f9657e7749b307d3cc86ccbd163ea.tar.gz
vcxsrv-77ec02adbc8f9657e7749b307d3cc86ccbd163ea.tar.bz2
vcxsrv-77ec02adbc8f9657e7749b307d3cc86ccbd163ea.zip
libX11 pixman mesa git update 12 Mar 2011
Diffstat (limited to 'mesalib/src/mesa/main/state.h')
-rw-r--r--mesalib/src/mesa/main/state.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/mesalib/src/mesa/main/state.h b/mesalib/src/mesa/main/state.h
index 6714196dc..31573fe5b 100644
--- a/mesalib/src/mesa/main/state.h
+++ b/mesalib/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