From 280cc0742ae60fdb45526a283ce896694cf65b07 Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Sun, 31 May 2026 23:07:57 -0400 Subject: [PATCH] Replace other 1.1 api device_features https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceFeatures2.html --- include/render/vulkan.h | 1 + render/vulkan/vulkan.c | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/render/vulkan.h b/include/render/vulkan.h index 145395da5..77664e5fd 100644 --- a/include/render/vulkan.h +++ b/include/render/vulkan.h @@ -26,6 +26,7 @@ struct wlr_vk_instance { } api; PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; + PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; }; // Creates and initializes a vulkan instance. diff --git a/render/vulkan/vulkan.c b/render/vulkan/vulkan.c index aa69733d2..9a0a82bcc 100644 --- a/render/vulkan/vulkan.c +++ b/render/vulkan/vulkan.c @@ -202,6 +202,13 @@ struct wlr_vk_instance *vulkan_instance_create(bool debug) { goto error; } + ini->vkGetPhysicalDeviceFeatures2KHR = (PFN_vkGetPhysicalDeviceFeatures2KHR) + vkGetInstanceProcAddr(ini->instance, "vkGetPhysicalDeviceFeatures2KHR"); + if (!ini->vkGetPhysicalDeviceFeatures2KHR) { + wlr_log(WLR_ERROR, "vkGetPhysicalDeviceFeatures2KHR not found"); + goto error; + } + return ini; @@ -555,7 +562,7 @@ struct wlr_vk_device *vulkan_device_create(struct wlr_vk_instance *ini, .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, .pNext = &phdev_sampler_ycbcr_features, }; - vkGetPhysicalDeviceFeatures2(phdev, &phdev_features); + ini->vkGetPhysicalDeviceFeatures2KHR(phdev, &phdev_features); dev->sampler_ycbcr_conversion = phdev_sampler_ycbcr_features.samplerYcbcrConversion; wlr_log(WLR_DEBUG, "Sampler YCbCr conversion %s",