radv: Implement VK_EXT_acquire_drm_display

Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11014>
This commit is contained in:
Simon Zeni 2021-06-21 11:56:35 -04:00 committed by Marge Bot
parent f9944899a7
commit 2fe2eb1911
4 changed files with 20 additions and 0 deletions

View File

@ -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:

View File

@ -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.

View File

@ -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
};

View File

@ -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);
}