Presenting Directly to Display Devices.

How i understood , Vulkan API have exclusive mode.
In docs say create instance with extension “VK_KHR_display” or “VK_EXT_KHR_display”.
But in all cases my instance not created.

If i created instance with extension “VK_KHR_swapchain” or “VK_KHR_surface” or “VK_KHR_win32_surface” or “VK_EXT_debug_report”.
Instance created.
But vkGetInstanceProcAddr(engine.instance, “vkGetDisplayModePropertiesKHR”); get me NULL
vkGetInstanceProcAddr(engine.instance, “vkGetPhysicalDeviceDisplayPlanePropertiesKHR”); get me NULL
vkGetInstanceProcAddr(engine.instance, “vkGetPhysicalDeviceDisplayPropertiesKHR”); get me NULL
vkGetInstanceProcAddr(engine.instance, “vkGetDisplayPlaneSupportedDisplaysKHR”); get me NULL
vkGetInstanceProcAddr(engine.instance, “vkCreateDisplayPlaneSurfaceKHR”); get me NULL

If you implementation does not support VK_KHR_display, then you obviously can’t get the pointers to the functions from that extension. Because your implementation doesn’t support it.

Implementations are not required to support VK_KHR_display. And there is no VK_EXT_KHR_display extension at all.

That being said, VK_KHR_display has a dependency on VK_KHR_surface. So if you asked for the display extension and didn’t ask for the surface one, your instance won’t be able to be created even if the implementation allows both.

That being said, VK_KHR_display has a dependency on VK_KHR_surface. So if you asked for the display extension and didn’t ask for the surface one, your instance won’t be able to be created even if the implementation allows both.
And how i must do ?
Create instance with two extensions ? VK_KHR_surface and VK_KHR_display.
I try , not created instance. But create instance with one extension VK_KHR_surface

And my device created only with “VK_KHR_swapchain”

All other extensions give me createDevice error.