Module: Mesa Branch: master Commit: fb4a34e60eb4c1bdc7b0fdcd98d1bf3038c354e8 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb4a34e60eb4c1bdc7b0fdcd98d1bf3038c354e8
Author: Marek Olšák <mar...@gmail.com> Date: Mon Apr 16 16:04:52 2012 +0200 mesa: set _NEW_VARYING_VP_INPUTS flag only if fixed-func VP is enabled & valid Reviewed-by: Brian Paul <bri...@vmware.com> Reviewed-by: Mathias Fröhlich <mathias.froehl...@web.de> --- src/mesa/main/state.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 627bf83..6efc45a 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -627,7 +627,16 @@ _mesa_set_varying_vp_inputs( struct gl_context *ctx, { if (ctx->varying_vp_inputs != varying_inputs) { ctx->varying_vp_inputs = varying_inputs; - ctx->NewState |= _NEW_VARYING_VP_INPUTS; + + /* Only the fixed-func generated programs need to use the flag + * and the fixed-func fragment program uses it only if there is also + * a fixed-func vertex program, so this only depends on the latter. + * + * It's okay to check the VP pointer here, because this is called after + * _mesa_update_state in the vbo module. */ + if (ctx->VertexProgram._TnlProgram) { + ctx->NewState |= _NEW_VARYING_VP_INPUTS; + } /*printf("%s %x\n", __FUNCTION__, varying_inputs);*/ } } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit