Mesa (master): zink: hook up VK_EXT_sample_locations

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 29 12:43:25 UTC 2021


Module: Mesa
Branch: master
Commit: 817a8fa22f9bb32431aef1b4309a9bb92d290b80
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=817a8fa22f9bb32431aef1b4309a9bb92d290b80

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Apr  2 15:15:45 2021 -0400

zink: hook up VK_EXT_sample_locations

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

---

 src/gallium/drivers/zink/zink_device_info.py | 3 +++
 src/gallium/drivers/zink/zink_screen.c       | 5 +++++
 src/gallium/drivers/zink/zink_screen.h       | 3 +++
 3 files changed, 11 insertions(+)

diff --git a/src/gallium/drivers/zink/zink_device_info.py b/src/gallium/drivers/zink/zink_device_info.py
index 205126f195b..57078b2a861 100644
--- a/src/gallium/drivers/zink/zink_device_info.py
+++ b/src/gallium/drivers/zink/zink_device_info.py
@@ -79,6 +79,9 @@ EXTENSIONS = [
        alias="interlock",
        features=True,
        conditions=["$feats.fragmentShaderSampleInterlock", "$feats.fragmentShaderPixelInterlock"]),
+    Extension("VK_EXT_sample_locations",
+       alias="sample_locations",
+       properties=True),
     Extension("VK_KHR_shader_draw_parameters"),
     Extension("VK_KHR_sampler_mirror_clamp_to_edge"),
     Extension("VK_EXT_conditional_rendering",
diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c
index 4e82e1a1f5b..9bbb172e8f4 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -1209,6 +1209,11 @@ load_device_extensions(struct zink_screen *screen)
       GET_PROC_ADDR(DestroySwapchainKHR);
    }
 
+   if (screen->info.have_EXT_sample_locations) {
+      GET_PROC_ADDR(CmdSetSampleLocationsEXT);
+      GET_PROC_ADDR_INSTANCE(GetPhysicalDeviceMultisamplePropertiesEXT);
+   }
+
    return true;
 }
 
diff --git a/src/gallium/drivers/zink/zink_screen.h b/src/gallium/drivers/zink/zink_screen.h
index ebfd231a2dd..d8610b63dcd 100644
--- a/src/gallium/drivers/zink/zink_screen.h
+++ b/src/gallium/drivers/zink/zink_screen.h
@@ -159,6 +159,9 @@ struct zink_screen {
       uint32_t image_view;
       uint32_t buffer_view;
    } null_descriptor_hashes;
+
+   PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vk_GetPhysicalDeviceMultisamplePropertiesEXT;
+   PFN_vkCmdSetSampleLocationsEXT vk_CmdSetSampleLocationsEXT;
 };
 
 



More information about the mesa-commit mailing list