Mesa (main): mesa/st: move invalidate_on_gl_viewport to ctx

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jan 24 21:35:12 UTC 2022


Module: Mesa
Branch: main
Commit: 840aabe7523e9b8d915ce4368ac27628b6154c39
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=840aabe7523e9b8d915ce4368ac27628b6154c39

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jan 24 16:30:18 2022 +1000

mesa/st: move invalidate_on_gl_viewport to ctx

This is cleaner in the gl context now.

Reviewed-by: Kristian H. Kristensen <hoegsberg at google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14675>

---

 src/mesa/main/attrib.c              | 3 +--
 src/mesa/main/mtypes.h              | 5 +++++
 src/mesa/main/viewport.c            | 6 +++---
 src/mesa/state_tracker/st_context.h | 4 ----
 src/mesa/state_tracker/st_manager.c | 2 +-
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index 667b890913f..b69edd7375d 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -62,7 +62,6 @@
 
 #include "state_tracker/st_cb_texture.h"
 #include "state_tracker/st_manager.h"
-#include "state_tracker/st_context.h"
 #include "state_tracker/st_sampler_view.h"
 
 static inline bool
@@ -1093,7 +1092,7 @@ _mesa_PopAttrib(void)
 
             memcpy(&ctx->ViewportArray[i].X, &vp->X, sizeof(float) * 6);
 
-            if (st_context(ctx)->invalidate_on_gl_viewport)
+            if (ctx->invalidate_on_gl_viewport)
                st_manager_invalidate_drawables(ctx);
          }
       }
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index a5adc7facb2..62ad6bc71c2 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -3585,6 +3585,11 @@ struct gl_context
    struct st_config_options *st_opts;
    struct cso_context *cso_context;
    bool has_invalidate_buffer;
+   /* On old libGL's for linux we need to invalidate the drawables
+    * on glViewpport calls, this is set via a option.
+    */
+   bool invalidate_on_gl_viewport;
+
    /*@}*/
 
    /**
diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
index da4d87315b7..9b31eb9ca1e 100644
--- a/src/mesa/main/viewport.c
+++ b/src/mesa/main/viewport.c
@@ -116,7 +116,7 @@ viewport(struct gl_context *ctx, GLint x, GLint y, GLsizei width,
    for (unsigned i = 0; i < ctx->Const.MaxViewports; i++)
       set_viewport_no_notify(ctx, i, input.X, input.Y, input.Width, input.Height);
 
-   if (st_context(ctx)->invalidate_on_gl_viewport)
+   if (ctx->invalidate_on_gl_viewport)
       st_manager_invalidate_drawables(ctx);
 }
 
@@ -169,7 +169,7 @@ _mesa_set_viewport(struct gl_context *ctx, unsigned idx, GLfloat x, GLfloat y,
    clamp_viewport(ctx, &x, &y, &width, &height);
    set_viewport_no_notify(ctx, idx, x, y, width, height);
 
-   if (st_context(ctx)->invalidate_on_gl_viewport)
+   if (ctx->invalidate_on_gl_viewport)
       st_manager_invalidate_drawables(ctx);
 }
 
@@ -185,7 +185,7 @@ viewport_array(struct gl_context *ctx, GLuint first, GLsizei count,
                              inputs[i].Width, inputs[i].Height);
    }
 
-   if (st_context(ctx)->invalidate_on_gl_viewport)
+   if (ctx->invalidate_on_gl_viewport)
       st_manager_invalidate_drawables(ctx);
 }
 
diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h
index 90651108f70..af629ba2215 100644
--- a/src/mesa/state_tracker/st_context.h
+++ b/src/mesa/state_tracker/st_context.h
@@ -186,10 +186,6 @@ struct st_context
    boolean emulate_gl_clamp;
    boolean texture_buffer_sampler;
 
-   /* On old libGL's for linux we need to invalidate the drawables
-    * on glViewpport calls, this is set via a option.
-    */
-   boolean invalidate_on_gl_viewport;
    boolean draw_needs_minmax_index;
    boolean has_hw_atomics;
 
diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
index 04c22fe70f4..a3ac106a77e 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -1118,7 +1118,7 @@ st_api_create_context(struct st_api *stapi, struct st_manager *smapi,
 
    st->can_scissor_clear = !!st->screen->get_param(st->screen, PIPE_CAP_CLEAR_SCISSORED);
 
-   st->invalidate_on_gl_viewport =
+   st->ctx->invalidate_on_gl_viewport =
       smapi->get_param(smapi, ST_MANAGER_BROKEN_INVALIDATE);
 
    st->iface.destroy = st_context_destroy;



More information about the mesa-commit mailing list