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