mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-06-13 14:32:57 -04:00
render/vulkan: negotiate instance API version
Use vkEnumerateInstanceVersion to pick the instance API version and load vkGetPhysicalDevice*2 entrypoints via core or KHR depending on that. This avoids API version validation errors when running with Vulkan 1.0.
This commit is contained in:
parent
280cc0742a
commit
c26c8ba315
2 changed files with 70 additions and 18 deletions
|
|
@ -19,14 +19,15 @@ struct wlr_vk_texture;
|
|||
struct wlr_vk_instance {
|
||||
VkInstance instance;
|
||||
VkDebugUtilsMessengerEXT messenger;
|
||||
uint32_t api_version;
|
||||
|
||||
struct {
|
||||
PFN_vkCreateDebugUtilsMessengerEXT createDebugUtilsMessengerEXT;
|
||||
PFN_vkDestroyDebugUtilsMessengerEXT destroyDebugUtilsMessengerEXT;
|
||||
} api;
|
||||
|
||||
PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
|
||||
PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
|
||||
PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;
|
||||
PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;
|
||||
};
|
||||
|
||||
// Creates and initializes a vulkan instance.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue