Mesa (main): zink; add a pipe_screen::get_sample_pixel_grid hook

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 9 17:40:57 UTC 2021


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

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Apr  2 17:31:44 2021 -0400

zink; add a pipe_screen::get_sample_pixel_grid hook

Reviewed-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11189>

---

 src/gallium/drivers/zink/zink_screen.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c
index 62711ce81bc..ffbb9381702 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -1632,6 +1632,17 @@ check_base_requirements(struct zink_screen *screen)
    }
 }
 
+static void
+zink_get_sample_pixel_grid(struct pipe_screen *pscreen, unsigned sample_count,
+                           unsigned *width, unsigned *height)
+{
+   struct zink_screen *screen = zink_screen(pscreen);
+   unsigned idx = util_logbase2_ceil(MAX2(sample_count, 1));
+   assert(idx < ARRAY_SIZE(screen->maxSampleLocationGridSize));
+   *width = screen->maxSampleLocationGridSize[idx].width;
+   *height = screen->maxSampleLocationGridSize[idx].height;
+}
+
 static struct zink_screen *
 zink_internal_create_screen(const struct pipe_screen_config *config)
 {
@@ -1703,6 +1714,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config)
    screen->base.get_paramf = zink_get_paramf;
    screen->base.get_shader_param = zink_get_shader_param;
    screen->base.get_compiler_options = zink_get_compiler_options;
+   screen->base.get_sample_pixel_grid = zink_get_sample_pixel_grid;
    screen->base.is_format_supported = zink_is_format_supported;
    screen->base.context_create = zink_context_create;
    screen->base.flush_frontbuffer = zink_flush_frontbuffer;



More information about the mesa-commit mailing list