mesa: Fix test for setting the _NEW_VARYING_VP_INPUTS flag.
authorMathias Fröhlich <mathias.froehlich@web.de>
Sun, 12 May 2019 08:35:52 +0000 (10:35 +0200)
committerMathias Fröhlich <Mathias.Froehlich@gmx.net>
Tue, 14 May 2019 16:09:49 +0000 (18:09 +0200)
The precondition stated in the comment is not true. The values mentioned are
only set from _mesa_update_state which in turn may not yet be called.
For now set the _NEW_VARYING_VP_INPUTS flag a bit more often, we will narrow
that down to a minimum again in a later patch.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
src/mesa/main/state.c

index 217232b..3ca6f58 100644 (file)
@@ -430,14 +430,9 @@ set_varying_vp_inputs(struct gl_context *ctx, GLbitfield varying_inputs)
    if (ctx->varying_vp_inputs != varying_inputs) {
       ctx->varying_vp_inputs = varying_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->FragmentProgram._TexEnvProgram) {
+      /* Only fixed-func generated programs ever use varying_vp_inputs. */
+      if (ctx->VertexProgram._MaintainTnlProgram ||
+          ctx->FragmentProgram._MaintainTexEnvProgram) {
          ctx->NewState |= _NEW_VARYING_VP_INPUTS;
       }
       /*printf("%s %x\n", __func__, varying_inputs);*/