mesa: don't update fixed-func programs on irrelevant _NEW_RENDER_MODE changes
authorMarek Olšák <marek.olsak@amd.com>
Wed, 3 Feb 2021 18:13:51 +0000 (13:13 -0500)
committerMarge Bot <eric+marge@anholt.net>
Fri, 26 Feb 2021 23:38:02 +0000 (23:38 +0000)
The fixed-func vertex program uses it too, which was ignored. This commit
fixes it.

Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8850>

src/mesa/main/feedback.c
src/mesa/main/state.c

index fbac508..b6776a1 100644 (file)
@@ -416,7 +416,8 @@ _mesa_RenderMode( GLenum mode )
    if (MESA_VERBOSE & VERBOSE_API)
       _mesa_debug(ctx, "glRenderMode %s\n", _mesa_enum_to_string(mode));
 
-   FLUSH_VERTICES(ctx, _NEW_RENDERMODE, 0);
+   FLUSH_VERTICES(ctx, _NEW_RENDERMODE | _NEW_FF_VERT_PROGRAM |
+                  _NEW_FF_FRAG_PROGRAM, 0);
 
    switch (ctx->RenderMode) {
       case GL_RENDER:
index 4b2b3ae..389db5f 100644 (file)
@@ -487,9 +487,8 @@ _mesa_update_state_locked( struct gl_context *ctx )
       GLbitfield prog_flags = _NEW_PROGRAM;
 
       if (ctx->FragmentProgram._UsesTexEnvProgram) {
-         prog_flags |= _NEW_BUFFERS | _NEW_TEXTURE_OBJECT |
-                       _NEW_FF_FRAG_PROGRAM | _NEW_RENDERMODE |
-                       _NEW_COLOR | _NEW_TEXTURE_STATE;
+         prog_flags |= _NEW_BUFFERS | _NEW_TEXTURE_OBJECT | _NEW_COLOR |
+                       _NEW_FF_FRAG_PROGRAM | _NEW_TEXTURE_STATE;
       }
 
       if (ctx->VertexProgram._UsesTnlProgram)