[Mesa-dev] [PATCH 05/10] mesa: set _NEW_VARYING_VP_INPUTS flag only if fixed-func VP is enabled & valid

Marek Olšák maraeo at gmail.com
Wed Apr 18 07:16:39 PDT 2012


---
 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);*/
    }
 }
-- 
1.7.5.4



More information about the mesa-dev mailing list