Mesa (master): mesa: set _NEW_FRAG_CLAMP only when needed

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 30 22:24:57 UTC 2020


Module: Mesa
Branch: master
Commit: b2b4afdc17294d628532593b084bd6105dd995a5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b2b4afdc17294d628532593b084bd6105dd995a5

Author: Mathias Fröhlich <mathias.froehlich at web.de>
Date:   Thu Feb 27 08:13:07 2020 +0100

mesa: set _NEW_FRAG_CLAMP only when needed

Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314>

---

 src/mesa/main/blend.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c
index 0bf27b1f46e..1b84c9077f0 100644
--- a/src/mesa/main/blend.c
+++ b/src/mesa/main/blend.c
@@ -1063,9 +1063,10 @@ _mesa_ClampColor(GLenum target, GLenum clamp)
    case GL_CLAMP_FRAGMENT_COLOR_ARB:
       if (ctx->API == API_OPENGL_CORE)
          goto invalid_enum;
-      FLUSH_VERTICES(ctx, _NEW_FRAG_CLAMP);
-      ctx->Color.ClampFragmentColor = clamp;
-      _mesa_update_clamp_fragment_color(ctx, ctx->DrawBuffer);
+      if (ctx->Color.ClampFragmentColor != clamp) {
+         ctx->Color.ClampFragmentColor = clamp;
+         _mesa_update_clamp_fragment_color(ctx, ctx->DrawBuffer);
+      }
       break;
    case GL_CLAMP_READ_COLOR_ARB:
       ctx->Color.ClampReadColor = clamp;
@@ -1137,6 +1138,7 @@ _mesa_update_clamp_fragment_color(struct gl_context *ctx,
    if (ctx->Color._ClampFragmentColor == clamp)
       return;
 
+   ctx->NewState |= _NEW_FRAG_CLAMP; /* for state constants */
    ctx->NewDriverState |= ctx->DriverFlags.NewFragClamp;
    ctx->Color._ClampFragmentColor = clamp;
 }



More information about the mesa-commit mailing list