diff --git a/src/gpu.cpp b/src/gpu.cpp index fb6f80144..28c946e74 100644 --- a/src/gpu.cpp +++ b/src/gpu.cpp @@ -1272,6 +1272,12 @@ void VulkanDevice::destroy_shader_module() int VulkanDevice::init_device_extension() { + if (info.support_VK_KHR_bind_memory2) + { + vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)vkGetDeviceProcAddr(device, "vkBindBufferMemory2KHR"); + vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)vkGetDeviceProcAddr(device, "vkBindImageMemory2KHR"); + } + if (info.support_VK_KHR_descriptor_update_template) { vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)vkGetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR"); diff --git a/src/gpu.h b/src/gpu.h index c096ee3a1..3d99290f3 100644 --- a/src/gpu.h +++ b/src/gpu.h @@ -164,6 +164,10 @@ public: VkAllocator* acquire_staging_allocator() const; void reclaim_staging_allocator(VkAllocator* allocator) const; + // VK_KHR_bind_memory2 + PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; + PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; + // VK_KHR_descriptor_update_template PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;