Mesa (master): mesa: set _NEW_VARYING_VP_INPUTS flag only if fixed-func VP is enabled & valid
Marek Olšák
mareko at kemper.freedesktop.org
Thu Apr 19 12:48:24 UTC 2012
Module: Mesa
Branch: master
Commit: fb4a34e60eb4c1bdc7b0fdcd98d1bf3038c354e8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb4a34e60eb4c1bdc7b0fdcd98d1bf3038c354e8
Author: Marek Olšák <maraeo at 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 <brianp at vmware.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at 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);*/
}
}
More information about the mesa-commit
mailing list