Mesa (main): radv: Implement VK_EXT_acquire_drm_display

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 24 16:13:32 UTC 2021


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

Author: Simon Zeni <simon at bl4ckb0ne.ca>
Date:   Mon Jun 21 11:56:35 2021 -0400

radv: Implement VK_EXT_acquire_drm_display

Signed-off-by: Simon Zeni <simon at bl4ckb0ne.ca>
Reviewed-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11014>

---

 docs/features.txt                 |  1 +
 docs/relnotes/new_features.txt    |  1 +
 src/amd/vulkan/radv_device.c      |  1 +
 src/amd/vulkan/radv_wsi_display.c | 17 +++++++++++++++++
 4 files changed, 20 insertions(+)

diff --git a/docs/features.txt b/docs/features.txt
index e70fdb85119..f3004f61fd8 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -560,6 +560,7 @@ Khronos extensions that are not part of any Vulkan version:
   VK_GOOGLE_user_type                                   DONE (anv, radv)
   VK_IMG_filter_cubic                                   DONE (tu/a650)
   VK_NV_compute_shader_derivatives                      DONE (anv, radv)
+  VK_EXT_acquire_drm_display                            DONE (radv)
 
 
 OpenCL 1.0 -- all DONE:
diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt
index 15c04e13aaa..b49ef0be5f1 100644
--- a/docs/relnotes/new_features.txt
+++ b/docs/relnotes/new_features.txt
@@ -5,3 +5,4 @@ VK_EXT_global_priority_query on RADV.
 VK_EXT_physical_device_drm on RADV.
 32-bit x86 builds now default disable x87 math and use sse2.
 GL ES 3.1 on GT21x hardware.
+VK_EXT_acquire_drm_display on RADV.
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index e64a4cebf9c..321dff3e5d5 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -380,6 +380,7 @@ static const struct vk_instance_extension_table radv_instance_extensions_support
    .KHR_get_display_properties2 = true,
    .EXT_direct_mode_display = true,
    .EXT_display_surface_counter = true,
+   .EXT_acquire_drm_display = true,
 #endif
 };
 
diff --git a/src/amd/vulkan/radv_wsi_display.c b/src/amd/vulkan/radv_wsi_display.c
index 6548466e5b5..3f1a41aafd1 100644
--- a/src/amd/vulkan/radv_wsi_display.c
+++ b/src/amd/vulkan/radv_wsi_display.c
@@ -291,3 +291,20 @@ radv_GetSwapchainCounterEXT(VkDevice _device, VkSwapchainKHR swapchain,
    return wsi_get_swapchain_counter(_device, &device->physical_device->wsi_device, swapchain,
                                     flag_bits, value);
 }
+
+VkResult
+radv_AcquireDrmDisplayEXT(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display)
+{
+   RADV_FROM_HANDLE(radv_physical_device, pdevice, physicalDevice);
+
+   return wsi_acquire_drm_display(physicalDevice, &pdevice->wsi_device, drmFd, display);
+}
+
+VkResult radv_GetDrmDisplayEXT(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId,
+                               VkDisplayKHR* display)
+{
+   RADV_FROM_HANDLE(radv_physical_device, pdevice, physicalDevice);
+
+   return wsi_get_drm_display(physicalDevice, &pdevice->wsi_device, drmFd, connectorId, display);
+}
+



More information about the mesa-commit mailing list