Prepare to support Vulkan 1.2
No way to test for now because no Vulkan SDK available.
diff --git a/src/VmaUsage.h b/src/VmaUsage.h
index 5d82451..3981d42 100644
--- a/src/VmaUsage.h
+++ b/src/VmaUsage.h
@@ -59,6 +59,7 @@
//#define VMA_DEBUG_GLOBAL_MUTEX 1
//#define VMA_MEMORY_BUDGET 0
+//#define VMA_VULKAN_VERSION 1002000 // Vulkan 1.2
#define VMA_VULKAN_VERSION 1001000 // Vulkan 1.1
//#define VMA_VULKAN_VERSION 1000000 // Vulkan 1.0
diff --git a/src/VulkanSample.cpp b/src/VulkanSample.cpp
index e9872d5..067c581 100644
--- a/src/VulkanSample.cpp
+++ b/src/VulkanSample.cpp
@@ -1172,7 +1172,15 @@
appInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0);
appInfo.pEngineName = "Adam Sawicki Engine";
appInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0);
- appInfo.apiVersion = VMA_VULKAN_VERSION == 1001000 ? VK_API_VERSION_1_1 : VK_API_VERSION_1_0;
+#if VMA_VULKAN_VERSION == 1002000
+ appInfo.apiVersion = VK_API_VERSION_1_2;
+#elif VMA_VULKAN_VERSION == 1001000
+ appInfo.apiVersion = VK_API_VERSION_1_1;
+#elif VMA_VULKAN_VERSION == 1000000
+ appInfo.apiVersion = VK_API_VERSION_1_0;
+#else
+ #error Invalid VMA_VULKAN_VERSION.
+#endif
VkInstanceCreateInfo instInfo = { VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO };
instInfo.pApplicationInfo = &appInfo;
diff --git a/src/vk_mem_alloc.h b/src/vk_mem_alloc.h
index 72cb358..f1d7048 100644
--- a/src/vk_mem_alloc.h
+++ b/src/vk_mem_alloc.h
@@ -1785,7 +1785,9 @@
// where AAA = major, BBB = minor, CCC = patch.
// If you want to use version > 1.0, it still needs to be enabled via VmaAllocatorCreateInfo::vulkanApiVersion.
#if !defined(VMA_VULKAN_VERSION)
- #if defined(VK_VERSION_1_1)
+ #if defined(VK_VERSION_1_2)
+ #define VMA_VULKAN_VERSION 1002000
+ #elif defined(VK_VERSION_1_1)
#define VMA_VULKAN_VERSION 1001000
#else
#define VMA_VULKAN_VERSION 1000000
@@ -14908,6 +14910,12 @@
VMA_ASSERT(0 && "VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT set but required extension is disabled by preprocessor macros.");
}
#endif
+#if VMA_VULKAN_VERSION < 1002000
+ if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 2, 0))
+ {
+ VMA_ASSERT(0 && "vulkanApiVersion >= VK_API_VERSION_1_2 but required Vulkan version is disabled by preprocessor macros.");
+ }
+#endif
#if VMA_VULKAN_VERSION < 1001000
if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0))
{