aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/main/state.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-03-12 15:21:19 +0000
committermarha <marha@users.sourceforge.net>2011-03-12 15:21:19 +0000
commite0058f158bae56c5a10cad4f9ace808a27022a9d (patch)
tree0daf3e4bafd8a1c53f8228c41ffd1637c158bb29 /mesalib/src/mesa/main/state.h
parentb639ce1e238ac06882d504aca591ab62475459c1 (diff)
parent77ec02adbc8f9657e7749b307d3cc86ccbd163ea (diff)
downloadvcxsrv-e0058f158bae56c5a10cad4f9ace808a27022a9d.tar.gz
vcxsrv-e0058f158bae56c5a10cad4f9ace808a27022a9d.tar.bz2
vcxsrv-e0058f158bae56c5a10cad4f9ace808a27022a9d.zip
svn merge ^/branches/released .
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