Mesa (main): mesa/st: merge condrender code from st into mesa.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jan 20 01:28:52 UTC 2022


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Dec 10 04:52:37 2021 +1000

mesa/st: merge condrender code from st into mesa.

This merges conditional render code from state tracker into mesa.

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

---

 src/mesa/main/condrender.c                |  66 ++++++++++++++++++-
 src/mesa/meson.build                      |   2 -
 src/mesa/state_tracker/st_cb_condrender.c | 104 ------------------------------
 src/mesa/state_tracker/st_cb_condrender.h |  35 ----------
 src/mesa/state_tracker/st_context.c       |   1 -
 5 files changed, 63 insertions(+), 145 deletions(-)

diff --git a/src/mesa/main/condrender.c b/src/mesa/main/condrender.c
index db4fde33732..9489aac3cee 100644
--- a/src/mesa/main/condrender.c
+++ b/src/mesa/main/condrender.c
@@ -36,8 +36,68 @@
 #include "mtypes.h"
 #include "queryobj.h"
 
-#include "state_tracker/st_cb_condrender.h"
 #include "api_exec_decl.h"
+#include "state_tracker/st_cb_bitmap.h"
+#include "state_tracker/st_context.h"
+
+static void
+BeginConditionalRender(struct gl_context *ctx, struct gl_query_object *q,
+                       GLenum mode)
+{
+   struct st_context *st = st_context(ctx);
+   uint m;
+   /* Don't invert the condition for rendering by default */
+   boolean inverted = FALSE;
+
+   st_flush_bitmap_cache(st);
+
+   switch (mode) {
+   case GL_QUERY_WAIT:
+      m = PIPE_RENDER_COND_WAIT;
+      break;
+   case GL_QUERY_NO_WAIT:
+      m = PIPE_RENDER_COND_NO_WAIT;
+      break;
+   case GL_QUERY_BY_REGION_WAIT:
+      m = PIPE_RENDER_COND_BY_REGION_WAIT;
+      break;
+   case GL_QUERY_BY_REGION_NO_WAIT:
+      m = PIPE_RENDER_COND_BY_REGION_NO_WAIT;
+      break;
+   case GL_QUERY_WAIT_INVERTED:
+      m = PIPE_RENDER_COND_WAIT;
+      inverted = TRUE;
+      break;
+   case GL_QUERY_NO_WAIT_INVERTED:
+      m = PIPE_RENDER_COND_NO_WAIT;
+      inverted = TRUE;
+      break;
+   case GL_QUERY_BY_REGION_WAIT_INVERTED:
+      m = PIPE_RENDER_COND_BY_REGION_WAIT;
+      inverted = TRUE;
+      break;
+   case GL_QUERY_BY_REGION_NO_WAIT_INVERTED:
+      m = PIPE_RENDER_COND_BY_REGION_NO_WAIT;
+      inverted = TRUE;
+      break;
+   default:
+      assert(0 && "bad mode in st_BeginConditionalRender");
+      m = PIPE_RENDER_COND_WAIT;
+   }
+
+   cso_set_render_condition(st->cso_context, q->pq, inverted, m);
+}
+
+static void
+EndConditionalRender(struct gl_context *ctx, struct gl_query_object *q)
+{
+   struct st_context *st = st_context(ctx);
+   (void) q;
+
+   st_flush_bitmap_cache(st);
+
+   cso_set_render_condition(st->cso_context, NULL, FALSE, 0);
+}
 
 static ALWAYS_INLINE void
 begin_conditional_render(struct gl_context *ctx, GLuint queryId, GLenum mode,
@@ -101,7 +161,7 @@ begin_conditional_render(struct gl_context *ctx, GLuint queryId, GLenum mode,
    ctx->Query.CondRenderQuery = q;
    ctx->Query.CondRenderMode = mode;
 
-   st_BeginConditionalRender(ctx, q, mode);
+   BeginConditionalRender(ctx, q, mode);
 }
 
 
@@ -139,7 +199,7 @@ end_conditional_render(struct gl_context *ctx)
 {
    FLUSH_VERTICES(ctx, 0, 0);
 
-   st_EndConditionalRender(ctx, ctx->Query.CondRenderQuery);
+   EndConditionalRender(ctx, ctx->Query.CondRenderQuery);
 
    ctx->Query.CondRenderQuery = NULL;
    ctx->Query.CondRenderMode = GL_NONE;
diff --git a/src/mesa/meson.build b/src/mesa/meson.build
index 23af754f499..d7db0842b79 100644
--- a/src/mesa/meson.build
+++ b/src/mesa/meson.build
@@ -327,8 +327,6 @@ files_libmesa = files(
   'state_tracker/st_cb_blit.h',
   'state_tracker/st_cb_clear.c',
   'state_tracker/st_cb_clear.h',
-  'state_tracker/st_cb_condrender.c',
-  'state_tracker/st_cb_condrender.h',
   'state_tracker/st_cb_copyimage.c',
   'state_tracker/st_cb_copyimage.h',
   'state_tracker/st_cb_drawpixels.c',
diff --git a/src/mesa/state_tracker/st_cb_condrender.c b/src/mesa/state_tracker/st_cb_condrender.c
deleted file mode 100644
index ed93ec81198..00000000000
--- a/src/mesa/state_tracker/st_cb_condrender.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2009 VMware, Inc.
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- **************************************************************************/
-
-
-/**
- * glBegin/EndCondtionalRender functions
- *
- * \author Brian Paul
- */
-
-
-
-#include "main/context.h"
-
-#include "pipe/p_context.h"
-#include "pipe/p_defines.h"
-#include "cso_cache/cso_context.h"
-#include "st_context.h"
-#include "st_cb_condrender.h"
-#include "st_cb_bitmap.h"
-
-
-void
-st_BeginConditionalRender(struct gl_context *ctx, struct gl_query_object *q,
-                          GLenum mode)
-{
-   struct st_context *st = st_context(ctx);
-   uint m;
-   /* Don't invert the condition for rendering by default */
-   boolean inverted = FALSE;
-
-   st_flush_bitmap_cache(st);
-
-   switch (mode) {
-   case GL_QUERY_WAIT:
-      m = PIPE_RENDER_COND_WAIT;
-      break;
-   case GL_QUERY_NO_WAIT:
-      m = PIPE_RENDER_COND_NO_WAIT;
-      break;
-   case GL_QUERY_BY_REGION_WAIT:
-      m = PIPE_RENDER_COND_BY_REGION_WAIT;
-      break;
-   case GL_QUERY_BY_REGION_NO_WAIT:
-      m = PIPE_RENDER_COND_BY_REGION_NO_WAIT;
-      break;
-   case GL_QUERY_WAIT_INVERTED:
-      m = PIPE_RENDER_COND_WAIT;
-      inverted = TRUE;
-      break;
-   case GL_QUERY_NO_WAIT_INVERTED:
-      m = PIPE_RENDER_COND_NO_WAIT;
-      inverted = TRUE;
-      break;
-   case GL_QUERY_BY_REGION_WAIT_INVERTED:
-      m = PIPE_RENDER_COND_BY_REGION_WAIT;
-      inverted = TRUE;
-      break;
-   case GL_QUERY_BY_REGION_NO_WAIT_INVERTED:
-      m = PIPE_RENDER_COND_BY_REGION_NO_WAIT;
-      inverted = TRUE;
-      break;
-   default:
-      assert(0 && "bad mode in st_BeginConditionalRender");
-      m = PIPE_RENDER_COND_WAIT;
-   }
-
-   cso_set_render_condition(st->cso_context, q->pq, inverted, m);
-}
-
-void
-st_EndConditionalRender(struct gl_context *ctx, struct gl_query_object *q)
-{
-   struct st_context *st = st_context(ctx);
-   (void) q;
-
-   st_flush_bitmap_cache(st);
-
-   cso_set_render_condition(st->cso_context, NULL, FALSE, 0);
-}
diff --git a/src/mesa/state_tracker/st_cb_condrender.h b/src/mesa/state_tracker/st_cb_condrender.h
deleted file mode 100644
index 2a4e8e8355f..00000000000
--- a/src/mesa/state_tracker/st_cb_condrender.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/**************************************************************************
- * 
- * Copyright 2009 VMware, Inc.
- * All Rights Reserved.
- * 
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- * 
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- * 
- **************************************************************************/
-
-#ifndef ST_CB_CONDRENDER_H
-#define ST_CB_CONDRENDER_H
-
-void st_BeginConditionalRender(struct gl_context *ctx, struct gl_query_object *q,
-                               GLenum mode);
-void st_EndConditionalRender(struct gl_context *ctx, struct gl_query_object *q);
-
-#endif
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index b477015be3b..674c436484f 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -42,7 +42,6 @@
 #include "st_debug.h"
 #include "st_cb_bitmap.h"
 #include "st_cb_clear.h"
-#include "st_cb_condrender.h"
 #include "st_cb_drawpixels.h"
 #include "st_cb_drawtex.h"
 #include "st_cb_eglimage.h"



More information about the mesa-commit mailing list