Mesa (main): mesa/st: move msaa functionality into multisample.c

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Dec 20 05:03:42 UTC 2021


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Dec  9 16:55:18 2021 +1000

mesa/st: move msaa functionality into multisample.c

This moves some state track code into main

Reviewed-by: Emma Anholt <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14257>

---

 src/mesa/main/get.c                 |  6 ++--
 src/mesa/main/multisample.c         | 26 +++++++++++++++
 src/mesa/main/multisample.h         |  4 +++
 src/mesa/meson.build                |  2 --
 src/mesa/state_tracker/st_cb_msaa.c | 63 -------------------------------------
 src/mesa/state_tracker/st_cb_msaa.h | 36 ---------------------
 6 files changed, 33 insertions(+), 104 deletions(-)

diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 8df36f84464..bbe6e28fe42 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -33,6 +33,7 @@
 #include "extensions.h"
 #include "get.h"
 #include "macros.h"
+#include "multisample.h"
 #include "mtypes.h"
 #include "spirv_extensions.h"
 #include "state.h"
@@ -44,7 +45,6 @@
 #include "version.h"
 
 #include "state_tracker/st_cb_queryobj.h"
-#include "state_tracker/st_cb_msaa.h"
 #include "state_tracker/st_context.h"
 #include "api_exec_decl.h"
 
@@ -1321,8 +1321,8 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu
             break;
          }
 
-         st_GetProgrammableSampleCaps(ctx, ctx->DrawBuffer,
-                                      &bits, &width, &height);
+         _mesa_GetProgrammableSampleCaps(ctx, ctx->DrawBuffer,
+                                         &bits, &width, &height);
 
          if (d->pname == GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB)
             v->value_uint = width;
diff --git a/src/mesa/main/multisample.c b/src/mesa/main/multisample.c
index 68763e314be..bfc1b8d9eca 100644
--- a/src/mesa/main/multisample.c
+++ b/src/mesa/main/multisample.c
@@ -407,3 +407,29 @@ _mesa_AlphaToCoverageDitherControlNV(GLenum mode)
          _mesa_error(ctx, GL_INVALID_ENUM, "glAlphaToCoverageDitherControlNV(invalid parameter)");
    }
 }
+
+void
+_mesa_GetProgrammableSampleCaps(struct gl_context *ctx, const struct gl_framebuffer *fb,
+                                GLuint *outBits, GLuint *outWidth, GLuint *outHeight)
+{
+   struct st_context *st = st_context(ctx);
+   struct pipe_screen *screen = ctx->pipe->screen;
+
+   st_validate_state(st, ST_PIPELINE_UPDATE_FRAMEBUFFER);
+
+   *outBits = 4;
+   *outWidth = 1;
+   *outHeight = 1;
+
+   if (ctx->Extensions.ARB_sample_locations)
+      screen->get_sample_pixel_grid(screen, st->state.fb_num_samples,
+                                    outWidth, outHeight);
+
+   /* We could handle this better in some circumstances,
+    * but it's not really an issue */
+   if (*outWidth > MAX_SAMPLE_LOCATION_GRID_SIZE ||
+       *outHeight > MAX_SAMPLE_LOCATION_GRID_SIZE) {
+      *outWidth = 1;
+      *outHeight = 1;
+   }
+}
diff --git a/src/mesa/main/multisample.h b/src/mesa/main/multisample.h
index c3703070ada..1b78dae7559 100644
--- a/src/mesa/main/multisample.h
+++ b/src/mesa/main/multisample.h
@@ -30,6 +30,10 @@
 
 struct gl_context;
 
+void
+_mesa_GetProgrammableSampleCaps(struct gl_context *ctx, const struct gl_framebuffer *fb,
+                                GLuint *outBits, GLuint *outWidth, GLuint *outHeight);
+
 extern void
 _mesa_init_multisample(struct gl_context *ctx);
 
diff --git a/src/mesa/meson.build b/src/mesa/meson.build
index db3c41e872b..be9e0af3b44 100644
--- a/src/mesa/meson.build
+++ b/src/mesa/meson.build
@@ -351,8 +351,6 @@ files_libmesa = files(
   'state_tracker/st_cb_flush.h',
   'state_tracker/st_cb_memoryobjects.c',
   'state_tracker/st_cb_memoryobjects.h',
-  'state_tracker/st_cb_msaa.c',
-  'state_tracker/st_cb_msaa.h',
   'state_tracker/st_cb_perfmon.c',
   'state_tracker/st_cb_perfmon.h',
   'state_tracker/st_cb_perfquery.c',
diff --git a/src/mesa/state_tracker/st_cb_msaa.c b/src/mesa/state_tracker/st_cb_msaa.c
deleted file mode 100644
index bf6ebbe69ba..00000000000
--- a/src/mesa/state_tracker/st_cb_msaa.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2013 Red Hat
- * 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.
- *
- **************************************************************************/
-
-#include "main/bufferobj.h"
-
-#include "main/framebuffer.h"
-
-#include "state_tracker/st_cb_msaa.h"
-#include "state_tracker/st_context.h"
-#include "state_tracker/st_atom.h"
-#include "state_tracker/st_cb_fbo.h"
-
-#include "pipe/p_context.h"
-
-void
-st_GetProgrammableSampleCaps(struct gl_context *ctx, const struct gl_framebuffer *fb,
-                             GLuint *outBits, GLuint *outWidth, GLuint *outHeight)
-{
-   struct st_context *st = st_context(ctx);
-   struct pipe_screen *screen = st->screen;
-
-   st_validate_state(st, ST_PIPELINE_UPDATE_FRAMEBUFFER);
-
-   *outBits = 4;
-   *outWidth = 1;
-   *outHeight = 1;
-
-   if (ctx->Extensions.ARB_sample_locations)
-      screen->get_sample_pixel_grid(screen, st->state.fb_num_samples,
-                                    outWidth, outHeight);
-
-   /* We could handle this better in some circumstances,
-    * but it's not really an issue */
-   if (*outWidth > MAX_SAMPLE_LOCATION_GRID_SIZE ||
-       *outHeight > MAX_SAMPLE_LOCATION_GRID_SIZE) {
-      *outWidth = 1;
-      *outHeight = 1;
-   }
-}
diff --git a/src/mesa/state_tracker/st_cb_msaa.h b/src/mesa/state_tracker/st_cb_msaa.h
deleted file mode 100644
index af38aba0294..00000000000
--- a/src/mesa/state_tracker/st_cb_msaa.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/**************************************************************************
- * 
- * Copyright 2013 Red Hat
- * 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_MSAA_H
-#define ST_CB_MSAA_H
-
-#include "main/glheader.h"
-
-void st_GetProgrammableSampleCaps(struct gl_context *ctx, const struct gl_framebuffer *fb,
-                                  GLuint *outBits, GLuint *outWidth, GLuint *outHeight);
-#endif



More information about the mesa-commit mailing list