diff --git a/src/modules/graphics/vulkan/Graphics.cpp b/src/modules/graphics/vulkan/Graphics.cpp index de458a950..8687823fe 100644 --- a/src/modules/graphics/vulkan/Graphics.cpp +++ b/src/modules/graphics/vulkan/Graphics.cpp @@ -879,29 +879,32 @@ void Graphics::initVMA() { vulkanFunctions.vkMapMemory = vkMapMemory; vulkanFunctions.vkUnmapMemory = vkUnmapMemory; vulkanFunctions.vkFlushMappedMemoryRanges = vkFlushMappedMemoryRanges; - vulkanFunctions.vkInvalidateMappedMemoryRanges = vkInvalidateMappedMemoryRanges; + vulkanFunctions.vkInvalidateMappedMemoryRanges = vkInvalidateMappedMemoryRanges; vulkanFunctions.vkBindBufferMemory = vkBindBufferMemory; vulkanFunctions.vkBindImageMemory = vkBindImageMemory; vulkanFunctions.vkGetBufferMemoryRequirements = vkGetBufferMemoryRequirements; vulkanFunctions.vkGetImageMemoryRequirements = vkGetImageMemoryRequirements; vulkanFunctions.vkCreateBuffer = vkCreateBuffer; vulkanFunctions.vkCreateImage = vkCreateImage; - vulkanFunctions.vkDestroyBuffer = vkDestroyBuffer; - vulkanFunctions.vkDestroyImage = vkDestroyImage; + vulkanFunctions.vkDestroyBuffer = vkDestroyBuffer; + vulkanFunctions.vkDestroyImage = vkDestroyImage; vulkanFunctions.vkCmdCopyBuffer = vkCmdCopyBuffer; - vulkanFunctions.vkGetBufferMemoryRequirements2KHR = vkGetBufferMemoryRequirements2KHR; - vulkanFunctions.vkGetImageMemoryRequirements2KHR = vkGetImageMemoryRequirements2KHR; - vulkanFunctions.vkBindBufferMemory2KHR = vkBindBufferMemory2KHR; - vulkanFunctions.vkBindImageMemory2KHR = vkBindImageMemory2KHR; - vulkanFunctions.vkGetPhysicalDeviceMemoryProperties2KHR = vkGetPhysicalDeviceMemoryProperties2KHR; + vulkanFunctions.vkGetBufferMemoryRequirements2KHR = vkGetBufferMemoryRequirements2KHR; + vulkanFunctions.vkGetImageMemoryRequirements2KHR = vkGetImageMemoryRequirements2KHR; + vulkanFunctions.vkBindBufferMemory2KHR = vkBindBufferMemory2KHR; + vulkanFunctions.vkBindImageMemory2KHR = vkBindImageMemory2KHR; + vulkanFunctions.vkGetPhysicalDeviceMemoryProperties2KHR = vkGetPhysicalDeviceMemoryProperties2KHR; vulkanFunctions.vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirements; vulkanFunctions.vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirements; allocatorCreateInfo.pVulkanFunctions = &vulkanFunctions; #else - allocatorCreateInfo.pVulkanFunctions = nullptr; + VmaVulkanFunctions vulkanFunctions{}; + vulkanFunctions.vkGetInstanceProcAddr = &vkGetInstanceProcAddr; + vulkanFunctions.vkGetDeviceProcAddr = &vkGetDeviceProcAddr; + allocatorCreateInfo.pVulkanFunctions = &vulkanFunctions; #endif if (vmaCreateAllocator(&allocatorCreateInfo, &vmaAllocator) != VK_SUCCESS) { diff --git a/src/modules/graphics/vulkan/UseVMA.cpp b/src/modules/graphics/vulkan/UseVMA.cpp index a2023d33b..ffba789e9 100644 --- a/src/modules/graphics/vulkan/UseVMA.cpp +++ b/src/modules/graphics/vulkan/UseVMA.cpp @@ -1,2 +1,4 @@ +#include "VulkanWrapper.h" + #define VMA_IMPLEMENTATION #include "vk_mem_alloc.h" diff --git a/src/modules/graphics/vulkan/VulkanWrapper.h b/src/modules/graphics/vulkan/VulkanWrapper.h index 174367676..262c42d68 100644 --- a/src/modules/graphics/vulkan/VulkanWrapper.h +++ b/src/modules/graphics/vulkan/VulkanWrapper.h @@ -9,6 +9,8 @@ #define VMA_DYNAMIC_VULKAN_FUNCTIONS 0 #else #include +#define VMA_STATIC_VULKAN_FUNCTIONS 0 +#define VMA_DYNAMIC_VULKAN_FUNCTIONS 1 #endif #endif //LOVE_GRAPHICS_VULKAN_VULKANWRAPPER_H