diff options
author | Brian Paul <brianp@vmware.com> | 2011-03-11 09:25:21 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2011-03-11 09:25:21 -0700 |
commit | decc6e2a32ef49e673c081f30e19b8970155d887 (patch) | |
tree | 463640956b098e3fd16af78694c2d48c07f23e95 /src/mesa/main/state.h | |
parent | 4293a12c7f0d4fd7ac3a278570f3fe55fc4433a6 (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.h | 39 |
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 |