[Mesa-users] Help understanding VK_KHR_display and VK_KHR_display_swapchain please?

Braden Gammon braden at bgammon.me
Thu Aug 1 22:45:14 UTC 2019


I am new to graphics, mesa, and Vulkan, so I have some newbie questions.

My Linux distribution has a package which installs libvulkan_intel.so. I've been using Vulkan with Wayland, but I wanted to try out VK_KHR_display.

The vulkaninfo tool shows I have the VK_KHR_display instance extension. It doesn't show the physical device has the VK_KHR_display_swapchain device extension. I'm not sure if vulkaninfo source code needs to be updated to check for that extension explicitly, but that's a side point.

I think I see where in mesa branch master the VK_KHR_display extension is implemented, which is in src/vulkan/wsi/wsi_common_display.c. I take this to mean that the implementation is not specific to anv, but is common to both radv and anv.

One point I am confused about, with my libvulkan_intel.so, vkGetPhysicalDeviceDisplayPropertiesKHR sets a count of 0, meaning no display detected, but vkGetPhysicalDeviceDisplayProperties2KHR sets a count of 1, meaning display detected. What is with these two separate APIs? I cannot find relevant discussion on the Vulkan spec.

The other point I am confused about, while docs/features.txt says both VK_KHR_display and VK_KHR_display_swapchain are implemented for both anv and radv, I don't see any mention of the implementation for the VK_KHR_display_swapchain API vkCreateSharedSwapchainsKHR. Is this implemented in mesa, and if so, where?

Thank you.
Braden


More information about the mesa-users mailing list