Merge pull request #526 from sawickiap/master

New updates to Vulkan Memory Allocator
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3e21d9d..26f4e9b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,16 @@
+# 3.4.0 (2026-??-??)
+
+- Added member `VmaAllocationCreateInfo::minAlignment` (#523).
+  - Remember to always fully initialize structures with zeros and don't rely on their specific `sizeof` to ensure backward compatibility!
+  - Function `vmaCreateBufferWithAlignment` is now deprecated.
+- Improvements for external memory export & import (#503):
+  - Added functions `vmaCreateDedicatedBuffer`, `vmaCreateDedicatedImage`, `vmaAllocateDedicatedMemory` offering extra parameter `void* pMemoryAllocateNext`.
+  - Added function `vmaGetMemoryWin32Handle2` offering extra parameter `VkExternalMemoryHandleTypeFlagBits handleType`.
+- Added `VMA_VERSION` macro with library version number (#507).
+- Improvements in the algorithm choosing memory type when `VMA_MEMORY_USAGE_AUTO*` is used (#520).
+- Fixes for compatibility with C++20 modules on Clang 21 and GCC15 (#513, #514).
+- Other fixes and improvements, including compatibility with various platforms and compilers, improvements in documentation, sample application, and tests.
+
 # 3.3.0 (2025-05-12)
 
 Additions to the library API:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c284c58..1547f47 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+# Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
@@ -26,6 +26,7 @@
 
 add_library(VulkanMemoryAllocator INTERFACE)
 add_library(GPUOpen::VulkanMemoryAllocator ALIAS VulkanMemoryAllocator)
+add_library(VulkanMemoryAllocator::Headers ALIAS VulkanMemoryAllocator)
 
 target_include_directories(VulkanMemoryAllocator INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
 
diff --git a/LICENSE.txt b/LICENSE.txt
index a080d9b..be95175 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/docs/html/allocation_annotation.html b/docs/html/allocation_annotation.html
index 7345468..bfe2afd 100644
--- a/docs/html/allocation_annotation.html
+++ b/docs/html/allocation_annotation.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Allocation names and user data</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -80,7 +80,7 @@
 <div class="contents">
 <div class="textblock"><h1 class="doxsection"><a class="anchor" id="allocation_user_data"></a>
 Allocation user data</h1>
-<p>You can annotate allocations with your own information, e.g. for debugging purposes. To do that, fill <a class="el" href="struct_vma_allocation_create_info.html#a8259e85c272683434f4abb4ddddffe19" title="Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...">VmaAllocationCreateInfo::pUserData</a> field when creating an allocation. It is an opaque <span class="tt">void*</span> pointer. You can use it e.g. as a pointer, some handle, index, key, ordinal number or any other value that would associate the allocation with your custom metadata. It is useful to identify appropriate data structures in your engine given <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>, e.g. when doing <a class="el" href="defragmentation.html">Defragmentation</a>.</p>
+<p>You can annotate allocations with your own information, e.g. for debugging purposes. To do that, fill <a class="el" href="struct_vma_allocation_create_info.html#a8259e85c272683434f4abb4ddddffe19" title="Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...">VmaAllocationCreateInfo::pUserData</a> field when creating an allocation. It is an opaque <span class="tt">void*</span> pointer. You can use it e.g. as a pointer, some handle, index, key, ordinal number or any other value that would associate the allocation with your custom metadata. It is useful to identify appropriate data structures in your engine given <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>, e.g. when doing <a class="el" href="defragmentation.html" title="Defragmentation">Defragmentation</a>.</p>
 <div class="fragment"><div class="line">VkBufferCreateInfo bufCreateInfo = ...</div>
 <div class="line"> </div>
 <div class="line">MyBufferMetadata* pMetadata = CreateBufferMetadata();</div>
@@ -103,8 +103,8 @@
 <div class="line"><a class="code hl_function" href="group__group__alloc.html#ga86dd08aba8633bfa4ad0df2e76481d8b">vmaGetAllocationInfo</a>(allocator, allocation, &amp;allocInfo);</div>
 <div class="line">MyBufferMetadata* pMetadata = (MyBufferMetadata*)allocInfo.<a class="code hl_variable" href="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13">pUserData</a>;</div>
 <div class="ttc" id="agroup__group__alloc_html_ga86dd08aba8633bfa4ad0df2e76481d8b"><div class="ttname"><a href="group__group__alloc.html#ga86dd08aba8633bfa4ad0df2e76481d8b">vmaGetAllocationInfo</a></div><div class="ttdeci">void vmaGetAllocationInfo(VmaAllocator allocator, VmaAllocation allocation, VmaAllocationInfo *pAllocationInfo)</div><div class="ttdoc">Returns current information about specified allocation.</div></div>
-<div class="ttc" id="astruct_vma_allocation_info_html"><div class="ttname"><a href="struct_vma_allocation_info.html">VmaAllocationInfo</a></div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1413</div></div>
-<div class="ttc" id="astruct_vma_allocation_info_html_adc507656149c04de7ed95d0042ba2a13"><div class="ttname"><a href="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13">VmaAllocationInfo::pUserData</a></div><div class="ttdeci">void * pUserData</div><div class="ttdoc">Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1460</div></div>
+<div class="ttc" id="astruct_vma_allocation_info_html"><div class="ttname"><a href="struct_vma_allocation_info.html">VmaAllocationInfo</a></div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1432</div></div>
+<div class="ttc" id="astruct_vma_allocation_info_html_adc507656149c04de7ed95d0042ba2a13"><div class="ttname"><a href="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13">VmaAllocationInfo::pUserData</a></div><div class="ttdeci">void * pUserData</div><div class="ttdoc">Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1479</div></div>
 </div><!-- fragment --><p>It can also be changed using function <a class="el" href="group__group__alloc.html#gaf9147d31ffc11d62fc187bde283ed14f" title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a>.</p>
 <p>Values of (non-zero) allocations' <span class="tt">pUserData</span> are printed in JSON report created by <a class="el" href="group__group__stats.html#gaa4fee7eb5253377599ef4fd38c93c2a0" title="Builds and returns statistics as a null-terminated string in JSON format.">vmaBuildStatsString()</a> in hexadecimal form.</p>
 <h1 class="doxsection"><a class="anchor" id="allocation_names"></a>
@@ -120,7 +120,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/annotated.html b/docs/html/annotated.html
index 4080b50..b479d00 100644
--- a/docs/html/annotated.html
+++ b/docs/html/annotated.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Class List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -106,7 +106,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/choosing_memory_type.html b/docs/html/choosing_memory_type.html
index 3e83c9b..b258de8 100644
--- a/docs/html/choosing_memory_type.html
+++ b/docs/html/choosing_memory_type.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Choosing memory type</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -123,9 +123,9 @@
 <div class="line"><a class="code hl_function" href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51">vmaCreateBuffer</a>(allocator, &amp;stagingBufferInfo, &amp;stagingAllocInfo, &amp;stagingBuffer, &amp;stagingAllocation, <span class="keyword">nullptr</span>);</div>
 <div class="ttc" id="agroup__group__alloc_html_ggad9889c10c798b040d59c92f257cae597a9be224df3bfc1cfa06203aed689a30c5"><div class="ttname"><a href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a9be224df3bfc1cfa06203aed689a30c5">VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT</a></div><div class="ttdeci">@ VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:662</div></div>
 <div class="ttc" id="astruct_vma_allocation_create_info_html_add09658ac14fe290ace25470ddd6d41b"><div class="ttname"><a href="struct_vma_allocation_create_info.html#add09658ac14fe290ace25470ddd6d41b">VmaAllocationCreateInfo::flags</a></div><div class="ttdeci">VmaAllocationCreateFlags flags</div><div class="ttdoc">Use VmaAllocationCreateFlagBits enum.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1296</div></div>
-</div><!-- fragment --><p>For more examples of creating different kinds of resources, see chapter <a class="el" href="usage_patterns.html">Recommended usage patterns</a>. See also: <a class="el" href="memory_mapping.html">Memory mapping</a>.</p>
+</div><!-- fragment --><p>For more examples of creating different kinds of resources, see chapter <a class="el" href="usage_patterns.html" title="Recommended usage patterns">Recommended usage patterns</a>. See also: <a class="el" href="memory_mapping.html" title="Memory mapping">Memory mapping</a>.</p>
 <p>Usage values <span class="tt">VMA_MEMORY_USAGE_AUTO*</span> are legal to use only when the library knows about the resource being created by having <span class="tt">VkBufferCreateInfo</span> / <span class="tt">VkImageCreateInfo</span> passed, so they work with functions like: <a class="el" href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>, <a class="el" href="group__group__alloc.html#ga02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer() but for images.">vmaCreateImage()</a>, <a class="el" href="group__group__alloc.html#gae790ab9ffaf7667fb8f62523e6897888" title="Helps to find memoryTypeIndex, given VkBufferCreateInfo and VmaAllocationCreateInfo.">vmaFindMemoryTypeIndexForBufferInfo()</a> etc. If you allocate raw memory using function <a class="el" href="group__group__alloc.html#gabf28077dbf82d0908b8acbe8ee8dd9b8" title="General purpose memory allocation.">vmaAllocateMemory()</a>, you have to use other means of selecting memory type, as described below.</p>
-<dl class="section note"><dt>Note</dt><dd>Old usage values (<span class="tt">VMA_MEMORY_USAGE_GPU_ONLY</span>, <span class="tt">VMA_MEMORY_USAGE_CPU_ONLY</span>, <span class="tt">VMA_MEMORY_USAGE_CPU_TO_GPU</span>, <span class="tt">VMA_MEMORY_USAGE_GPU_TO_CPU</span>, <span class="tt">VMA_MEMORY_USAGE_CPU_COPY</span>) are still available and work same way as in previous versions of the library for backward compatibility, but they are deprecated.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>Old usage values (<span class="tt"><a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305ccac6b5dc1432d88647aa4cd456246eadf7">VMA_MEMORY_USAGE_GPU_ONLY</a></span>, <span class="tt"><a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305cca40bdf4cddeffeb12f43d45ca1286e0a5">VMA_MEMORY_USAGE_CPU_ONLY</a></span>, <span class="tt"><a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305cca9066b52c5a7079bb74a69aaf8b92ff67">VMA_MEMORY_USAGE_CPU_TO_GPU</a></span>, <span class="tt"><a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305cca7b586d2fdaf82a463b58f581ed72be27">VMA_MEMORY_USAGE_GPU_TO_CPU</a></span>, <span class="tt"><a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305cca416a444d4d0fc20067c3f76f32ff2500">VMA_MEMORY_USAGE_CPU_COPY</a></span>) are still available and work same way as in previous versions of the library for backward compatibility, but they are deprecated.</dd></dl>
 <h1 class="doxsection"><a class="anchor" id="choosing_memory_type_required_preferred_flags"></a>
 Required and preferred flags</h1>
 <p>You can specify more detailed requirements by filling members <a class="el" href="struct_vma_allocation_create_info.html#a9166390303ff42d783305bc31c2b6b90" title="Flags that must be set in a Memory Type chosen for an allocation.">VmaAllocationCreateInfo::requiredFlags</a> and <a class="el" href="struct_vma_allocation_create_info.html#a7fe8d81a1ad10b2a2faacacee5b15d6d" title="Flags that preferably should be set in a memory type chosen for an allocation.">VmaAllocationCreateInfo::preferredFlags</a> with a combination of bits from enum <span class="tt">VkMemoryPropertyFlags</span>. For example, if you want to create a buffer that will be persistently mapped on host (so it must be <span class="tt">HOST_VISIBLE</span>) and preferably will also be <span class="tt">HOST_COHERENT</span> and <span class="tt">HOST_CACHED</span>, use following code:</p>
@@ -165,20 +165,20 @@
 <div class="line"><span class="comment">// ...</span></div>
 </div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="choosing_memory_type_custom_memory_pools"></a>
 Custom memory pools</h1>
-<p>If you allocate from custom memory pool, all the ways of specifying memory requirements described above are not applicable and the aforementioned members of <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a> structure are ignored. Memory type is selected explicitly when creating the pool and then used to make all the allocations from that pool. For further details, see <a class="el" href="custom_memory_pools.html">Custom memory pools</a>.</p>
+<p>If you allocate from custom memory pool, all the ways of specifying memory requirements described above are not applicable and the aforementioned members of <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a> structure are ignored. Memory type is selected explicitly when creating the pool and then used to make all the allocations from that pool. For further details, see <a class="el" href="custom_memory_pools.html" title="Custom memory pools">Custom memory pools</a>.</p>
 <h1 class="doxsection"><a class="anchor" id="choosing_memory_type_dedicated_allocations"></a>
 Dedicated allocations</h1>
 <p>Memory for allocations is reserved out of larger block of <span class="tt">VkDeviceMemory</span> allocated from Vulkan internally. That is the main feature of this whole library. You can still request a separate memory block to be created for an allocation, just like you would do in a trivial solution without using any allocator. In that case, a buffer or image is always bound to that memory at offset 0. This is called a "dedicated allocation". You can explicitly request it by using flag <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a>. The library can also internally decide to use dedicated allocation in some cases, e.g.:</p>
 <ul>
 <li>When the size of the allocation is large.</li>
-<li>When <a class="el" href="vk_khr_dedicated_allocation.html">VK_KHR_dedicated_allocation</a> extension is enabled and it reports that dedicated allocation is required or recommended for the resource.</li>
+<li>When <a class="el" href="vk_khr_dedicated_allocation.html" title="VK_KHR_dedicated_allocation">VK_KHR_dedicated_allocation</a> extension is enabled and it reports that dedicated allocation is required or recommended for the resource.</li>
 <li>When allocation of next big memory block fails due to not enough device memory, but allocation with the exact requested size succeeds. </li>
 </ul>
 </div></div><!-- contents -->
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/classes.html b/docs/html/classes.html
index 82c1075..489d8b9 100644
--- a/docs/html/classes.html
+++ b/docs/html/classes.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Class Index</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,7 +83,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/configuration.html b/docs/html/configuration.html
index 6b7baee..546dad5 100644
--- a/docs/html/configuration.html
+++ b/docs/html/configuration.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Configuration</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -109,7 +109,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/custom_memory_pools.html b/docs/html/custom_memory_pools.html
index 9044939..66eb8ca 100644
--- a/docs/html/custom_memory_pools.html
+++ b/docs/html/custom_memory_pools.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Custom memory pools</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -138,10 +138,10 @@
 <div class="ttc" id="astruct_vma_allocation_create_info_html_a6272c0555cfd1fe28bff1afeb6190150"><div class="ttname"><a href="struct_vma_allocation_create_info.html#a6272c0555cfd1fe28bff1afeb6190150">VmaAllocationCreateInfo::pool</a></div><div class="ttdeci">VmaPool pool</div><div class="ttdoc">Pool that this allocation should be created in.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1326</div></div>
 <div class="ttc" id="astruct_vma_allocation_create_info_html_accb8b06b1f677d858cb9af20705fa910"><div class="ttname"><a href="struct_vma_allocation_create_info.html#accb8b06b1f677d858cb9af20705fa910">VmaAllocationCreateInfo::usage</a></div><div class="ttdeci">VmaMemoryUsage usage</div><div class="ttdoc">Intended usage of memory.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1302</div></div>
 <div class="ttc" id="astruct_vma_allocation_html"><div class="ttname"><a href="struct_vma_allocation.html">VmaAllocation</a></div><div class="ttdoc">Represents single memory allocation.</div></div>
-<div class="ttc" id="astruct_vma_pool_create_info_html"><div class="ttname"><a href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a></div><div class="ttdoc">Describes parameter of created VmaPool.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1345</div></div>
-<div class="ttc" id="astruct_vma_pool_create_info_html_a596fa76b685d3f1f688f84a709a5b319"><div class="ttname"><a href="struct_vma_pool_create_info.html#a596fa76b685d3f1f688f84a709a5b319">VmaPoolCreateInfo::memoryTypeIndex</a></div><div class="ttdeci">uint32_t memoryTypeIndex</div><div class="ttdoc">Vulkan memory type index to allocate this pool from.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1348</div></div>
-<div class="ttc" id="astruct_vma_pool_create_info_html_aa4265160536cdb9be821b7686c16c676"><div class="ttname"><a href="struct_vma_pool_create_info.html#aa4265160536cdb9be821b7686c16c676">VmaPoolCreateInfo::blockSize</a></div><div class="ttdeci">VkDeviceSize blockSize</div><div class="ttdoc">Size of a single VkDeviceMemory block to be allocated as part of this pool, in bytes....</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1361</div></div>
-<div class="ttc" id="astruct_vma_pool_create_info_html_ae41142f2834fcdc82baa4883c187b75c"><div class="ttname"><a href="struct_vma_pool_create_info.html#ae41142f2834fcdc82baa4883c187b75c">VmaPoolCreateInfo::maxBlockCount</a></div><div class="ttdeci">size_t maxBlockCount</div><div class="ttdoc">Maximum number of blocks that can be allocated in this pool. Optional.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1374</div></div>
+<div class="ttc" id="astruct_vma_pool_create_info_html"><div class="ttname"><a href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a></div><div class="ttdoc">Describes parameter of created VmaPool.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1358</div></div>
+<div class="ttc" id="astruct_vma_pool_create_info_html_a596fa76b685d3f1f688f84a709a5b319"><div class="ttname"><a href="struct_vma_pool_create_info.html#a596fa76b685d3f1f688f84a709a5b319">VmaPoolCreateInfo::memoryTypeIndex</a></div><div class="ttdeci">uint32_t memoryTypeIndex</div><div class="ttdoc">Vulkan memory type index to allocate this pool from.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1361</div></div>
+<div class="ttc" id="astruct_vma_pool_create_info_html_aa4265160536cdb9be821b7686c16c676"><div class="ttname"><a href="struct_vma_pool_create_info.html#aa4265160536cdb9be821b7686c16c676">VmaPoolCreateInfo::blockSize</a></div><div class="ttdeci">VkDeviceSize blockSize</div><div class="ttdoc">Size of a single VkDeviceMemory block to be allocated as part of this pool, in bytes....</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1374</div></div>
+<div class="ttc" id="astruct_vma_pool_create_info_html_ae41142f2834fcdc82baa4883c187b75c"><div class="ttname"><a href="struct_vma_pool_create_info.html#ae41142f2834fcdc82baa4883c187b75c">VmaPoolCreateInfo::maxBlockCount</a></div><div class="ttdeci">size_t maxBlockCount</div><div class="ttdoc">Maximum number of blocks that can be allocated in this pool. Optional.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1387</div></div>
 <div class="ttc" id="astruct_vma_pool_html"><div class="ttname"><a href="struct_vma_pool.html">VmaPool</a></div><div class="ttdoc">Represents custom memory pool.</div></div>
 </div><!-- fragment --><p>You have to free all allocations made from this pool before destroying it.</p>
 <div class="fragment"><div class="line"><a class="code hl_function" href="group__group__alloc.html#ga0d9f4e4ba5bf9aab1f1c746387753d77">vmaDestroyBuffer</a>(allocator, buf, alloc);</div>
@@ -187,7 +187,7 @@
 <li>If you want to keep your mapped and not mapped allocations separate, you don't need to. VMA respects <span class="tt">nonCoherentAtomSize</span> limit automatically. It also maps only those <span class="tt">VkDeviceMemory</span> blocks that need to map any allocation. It even tries to keep mappable and non-mappable allocations in separate blocks to minimize the amount of mapped memory.</li>
 <li>If you want to choose a custom size for the default memory block, you can set it globally instead using <a class="el" href="struct_vma_allocator_create_info.html#a8e4714298e3121cdd8b214a1ae7a637a" title="Preferred size of a single VkDeviceMemory block to be allocated from large heaps &gt; 1 GiB....">VmaAllocatorCreateInfo::preferredLargeHeapBlockSize</a>.</li>
 <li>If you want to select specific memory type for your allocation, you can set <a class="el" href="struct_vma_allocation_create_info.html#a3bf940c0271d85d6ba32a4d820075055" title="Bitmask containing one bit set for every memory type acceptable for this allocation.">VmaAllocationCreateInfo::memoryTypeBits</a> to <span class="tt">(1U &lt;&lt; myMemoryTypeIndex)</span> instead.</li>
-<li>If you need to create a buffer with certain minimum alignment, you can still do it using default pools with dedicated function <a class="el" href="group__group__alloc.html#gaa06a690013a0d01e60894ac378083834" title="Creates a buffer with additional minimum alignment.">vmaCreateBufferWithAlignment()</a>.</li>
+<li>If you need to create a buffer with certain minimum alignment, you can still do it using default pools by specifying <a class="el" href="struct_vma_allocation_create_info.html#a4fa1895486efac8c128dcffad46706a0" title="Additional minimum alignment to be used for this allocation. Can be 0.">VmaAllocationCreateInfo::minAlignment</a>.</li>
 </ul>
 <h1 class="doxsection"><a class="anchor" id="linear_algorithm"></a>
 Linear allocation algorithm</h1>
@@ -222,12 +222,12 @@
 <p>When you free some allocations from the beginning and there is not enough free space for a new one at the end of a pool, allocator's "cursor" wraps around to the beginning and starts allocation there. Thanks to this, if you always release allocations in the same order as you created them (FIFO - First In First Out), you can achieve behavior of a ring buffer / queue.</p>
 <p><img src="../gfx/Linear_allocator_5_ring_buffer.png" alt="Ring buffer" class="inline"/></p>
 <p>Ring buffer is available only in pools with one memory block - <a class="el" href="struct_vma_pool_create_info.html#ae41142f2834fcdc82baa4883c187b75c" title="Maximum number of blocks that can be allocated in this pool. Optional.">VmaPoolCreateInfo::maxBlockCount</a> must be 1. Otherwise behavior is undefined.</p>
-<dl class="section note"><dt>Note</dt><dd><a class="el" href="defragmentation.html">Defragmentation</a> is not supported in custom pools created with <a class="el" href="group__group__alloc.html#gga9a7c45f9c863695d98c83fa5ac940fe7a13c8a444197c67866be9cb05599fc726" title="Enables alternative, linear allocation algorithm in this pool.">VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT</a>. </dd></dl>
+<dl class="section note"><dt>Note</dt><dd><a class="el" href="defragmentation.html" title="Defragmentation">Defragmentation</a> is not supported in custom pools created with <a class="el" href="group__group__alloc.html#gga9a7c45f9c863695d98c83fa5ac940fe7a13c8a444197c67866be9cb05599fc726" title="Enables alternative, linear allocation algorithm in this pool.">VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT</a>. </dd></dl>
 </div></div><!-- contents -->
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/debugging_memory_usage.html b/docs/html/debugging_memory_usage.html
index aac63df..22f0843 100644
--- a/docs/html/debugging_memory_usage.html
+++ b/docs/html/debugging_memory_usage.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Debugging incorrect memory usage</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -99,9 +99,9 @@
 <p>If your bug goes away after enabling margins, it means it may be caused by memory being overwritten outside of allocation boundaries. It is not 100% certain though. Change in application behavior may also be caused by different order and distribution of allocations across memory blocks after margins are applied.</p>
 <p>Margins work with all types of memory.</p>
 <p>Margin is applied only to allocations made out of memory blocks and not to dedicated allocations, which have their own memory block of specific size. It is thus not applied to allocations made using <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a> flag or those automatically decided to put into dedicated allocations, e.g. due to its large size or recommended by VK_KHR_dedicated_allocation extension.</p>
-<p>Margins appear in <a class="el" href="statistics.html#statistics_json_dump">JSON dump</a> as part of free space.</p>
+<p>Margins appear in <a class="el" href="statistics.html#statistics_json_dump" title="JSON dump">JSON dump</a> as part of free space.</p>
 <p>Note that enabling margins increases memory usage and fragmentation.</p>
-<p>Margins do not apply to <a class="el" href="virtual_allocator.html">Virtual allocator</a>.</p>
+<p>Margins do not apply to <a class="el" href="virtual_allocator.html" title="Virtual allocator">Virtual allocator</a>.</p>
 <h1 class="doxsection"><a class="anchor" id="debugging_memory_usage_corruption_detection"></a>
 Corruption detection</h1>
 <p>You can additionally define macro <span class="tt">VMA_DEBUG_DETECT_CORRUPTION</span> to 1 to enable validation of contents of the margins.</p>
@@ -120,7 +120,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/defragmentation.html b/docs/html/defragmentation.html
index dff4b8d..24282ac 100644
--- a/docs/html/defragmentation.html
+++ b/docs/html/defragmentation.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Defragmentation</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -144,17 +144,17 @@
 <div class="ttc" id="agroup__group__alloc_html_gac3335566858b45541fa9c0d7a6bbb57e"><div class="ttname"><a href="group__group__alloc.html#gac3335566858b45541fa9c0d7a6bbb57e">vmaBeginDefragmentation</a></div><div class="ttdeci">VkResult vmaBeginDefragmentation(VmaAllocator allocator, const VmaDefragmentationInfo *pInfo, VmaDefragmentationContext *pContext)</div><div class="ttdoc">Begins defragmentation process.</div></div>
 <div class="ttc" id="agroup__group__alloc_html_gaded05a445742a00718ee766144c5c226"><div class="ttname"><a href="group__group__alloc.html#gaded05a445742a00718ee766144c5c226">vmaEndDefragmentationPass</a></div><div class="ttdeci">VkResult vmaEndDefragmentationPass(VmaAllocator allocator, VmaDefragmentationContext context, VmaDefragmentationPassMoveInfo *pPassInfo)</div><div class="ttdoc">Ends single defragmentation pass.</div></div>
 <div class="ttc" id="agroup__group__alloc_html_gga6552a65b71d16f378c6994b3ceaef50ca2e6469bcf5a094776ceb5d118263f04b"><div class="ttname"><a href="group__group__alloc.html#gga6552a65b71d16f378c6994b3ceaef50ca2e6469bcf5a094776ceb5d118263f04b">VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FAST_BIT</a></div><div class="ttdeci">@ VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FAST_BIT</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:770</div></div>
-<div class="ttc" id="astruct_vma_allocation_info_html"><div class="ttname"><a href="struct_vma_allocation_info.html">VmaAllocationInfo</a></div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1413</div></div>
-<div class="ttc" id="astruct_vma_allocation_info_html_adc507656149c04de7ed95d0042ba2a13"><div class="ttname"><a href="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13">VmaAllocationInfo::pUserData</a></div><div class="ttdeci">void * pUserData</div><div class="ttdoc">Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1460</div></div>
+<div class="ttc" id="astruct_vma_allocation_info_html"><div class="ttname"><a href="struct_vma_allocation_info.html">VmaAllocationInfo</a></div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1432</div></div>
+<div class="ttc" id="astruct_vma_allocation_info_html_adc507656149c04de7ed95d0042ba2a13"><div class="ttname"><a href="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13">VmaAllocationInfo::pUserData</a></div><div class="ttdeci">void * pUserData</div><div class="ttdoc">Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1479</div></div>
 <div class="ttc" id="astruct_vma_defragmentation_context_html"><div class="ttname"><a href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a></div><div class="ttdoc">An opaque object that represents started defragmentation process.</div></div>
-<div class="ttc" id="astruct_vma_defragmentation_info_html"><div class="ttname"><a href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a></div><div class="ttdoc">Parameters for defragmentation.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1503</div></div>
-<div class="ttc" id="astruct_vma_defragmentation_info_html_a18dd2097d8ab2976cdc7dd3e7b978bd4"><div class="ttname"><a href="struct_vma_defragmentation_info.html#a18dd2097d8ab2976cdc7dd3e7b978bd4">VmaDefragmentationInfo::pool</a></div><div class="ttdeci">VmaPool pool</div><div class="ttdoc">Custom pool to be defragmented.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1510</div></div>
-<div class="ttc" id="astruct_vma_defragmentation_info_html_a3e23080c978ecf3abb3180f5b2069da7"><div class="ttname"><a href="struct_vma_defragmentation_info.html#a3e23080c978ecf3abb3180f5b2069da7">VmaDefragmentationInfo::flags</a></div><div class="ttdeci">VmaDefragmentationFlags flags</div><div class="ttdoc">Use combination of VmaDefragmentationFlagBits.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1505</div></div>
-<div class="ttc" id="astruct_vma_defragmentation_move_html_a25aa1bb64efc507a49c6cbc50689f862"><div class="ttname"><a href="struct_vma_defragmentation_move.html#a25aa1bb64efc507a49c6cbc50689f862">VmaDefragmentationMove::srcAllocation</a></div><div class="ttdeci">VmaAllocation srcAllocation</div><div class="ttdoc">Allocation that should be moved.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1536</div></div>
-<div class="ttc" id="astruct_vma_defragmentation_move_html_ab65b106adf209acd7313296d1075300e"><div class="ttname"><a href="struct_vma_defragmentation_move.html#ab65b106adf209acd7313296d1075300e">VmaDefragmentationMove::dstTmpAllocation</a></div><div class="ttdeci">VmaAllocation dstTmpAllocation</div><div class="ttdoc">Temporary allocation pointing to destination memory that will replace srcAllocation.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1543</div></div>
-<div class="ttc" id="astruct_vma_defragmentation_pass_move_info_html"><div class="ttname"><a href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a></div><div class="ttdoc">Parameters for incremental defragmentation steps.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1551</div></div>
-<div class="ttc" id="astruct_vma_defragmentation_pass_move_info_html_a1b3e18c23f9691f35baf183e615c4408"><div class="ttname"><a href="struct_vma_defragmentation_pass_move_info.html#a1b3e18c23f9691f35baf183e615c4408">VmaDefragmentationPassMoveInfo::moveCount</a></div><div class="ttdeci">uint32_t moveCount</div><div class="ttdoc">Number of elements in the pMoves array.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1553</div></div>
-<div class="ttc" id="astruct_vma_defragmentation_pass_move_info_html_adfa7a4994afd9b940e7f1dfaf436a725"><div class="ttname"><a href="struct_vma_defragmentation_pass_move_info.html#adfa7a4994afd9b940e7f1dfaf436a725">VmaDefragmentationPassMoveInfo::pMoves</a></div><div class="ttdeci">VmaDefragmentationMove * pMoves</div><div class="ttdoc">Array of moves to be performed by the user in the current defragmentation pass.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1577</div></div>
+<div class="ttc" id="astruct_vma_defragmentation_info_html"><div class="ttname"><a href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a></div><div class="ttdoc">Parameters for defragmentation.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1522</div></div>
+<div class="ttc" id="astruct_vma_defragmentation_info_html_a18dd2097d8ab2976cdc7dd3e7b978bd4"><div class="ttname"><a href="struct_vma_defragmentation_info.html#a18dd2097d8ab2976cdc7dd3e7b978bd4">VmaDefragmentationInfo::pool</a></div><div class="ttdeci">VmaPool pool</div><div class="ttdoc">Custom pool to be defragmented.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1529</div></div>
+<div class="ttc" id="astruct_vma_defragmentation_info_html_a3e23080c978ecf3abb3180f5b2069da7"><div class="ttname"><a href="struct_vma_defragmentation_info.html#a3e23080c978ecf3abb3180f5b2069da7">VmaDefragmentationInfo::flags</a></div><div class="ttdeci">VmaDefragmentationFlags flags</div><div class="ttdoc">Use combination of VmaDefragmentationFlagBits.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1524</div></div>
+<div class="ttc" id="astruct_vma_defragmentation_move_html_a25aa1bb64efc507a49c6cbc50689f862"><div class="ttname"><a href="struct_vma_defragmentation_move.html#a25aa1bb64efc507a49c6cbc50689f862">VmaDefragmentationMove::srcAllocation</a></div><div class="ttdeci">VmaAllocation srcAllocation</div><div class="ttdoc">Allocation that should be moved.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1555</div></div>
+<div class="ttc" id="astruct_vma_defragmentation_move_html_ab65b106adf209acd7313296d1075300e"><div class="ttname"><a href="struct_vma_defragmentation_move.html#ab65b106adf209acd7313296d1075300e">VmaDefragmentationMove::dstTmpAllocation</a></div><div class="ttdeci">VmaAllocation dstTmpAllocation</div><div class="ttdoc">Temporary allocation pointing to destination memory that will replace srcAllocation.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1562</div></div>
+<div class="ttc" id="astruct_vma_defragmentation_pass_move_info_html"><div class="ttname"><a href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a></div><div class="ttdoc">Parameters for incremental defragmentation steps.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1570</div></div>
+<div class="ttc" id="astruct_vma_defragmentation_pass_move_info_html_a1b3e18c23f9691f35baf183e615c4408"><div class="ttname"><a href="struct_vma_defragmentation_pass_move_info.html#a1b3e18c23f9691f35baf183e615c4408">VmaDefragmentationPassMoveInfo::moveCount</a></div><div class="ttdeci">uint32_t moveCount</div><div class="ttdoc">Number of elements in the pMoves array.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1572</div></div>
+<div class="ttc" id="astruct_vma_defragmentation_pass_move_info_html_adfa7a4994afd9b940e7f1dfaf436a725"><div class="ttname"><a href="struct_vma_defragmentation_pass_move_info.html#adfa7a4994afd9b940e7f1dfaf436a725">VmaDefragmentationPassMoveInfo::pMoves</a></div><div class="ttdeci">VmaDefragmentationMove * pMoves</div><div class="ttdoc">Array of moves to be performed by the user in the current defragmentation pass.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1596</div></div>
 </div><!-- fragment --><p>Although functions like <a class="el" href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>, <a class="el" href="group__group__alloc.html#ga02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer() but for images.">vmaCreateImage()</a>, <a class="el" href="group__group__alloc.html#ga0d9f4e4ba5bf9aab1f1c746387753d77" title="Destroys Vulkan buffer and frees allocated memory.">vmaDestroyBuffer()</a>, <a class="el" href="group__group__alloc.html#gae50d2cb3b4a3bfd4dd40987234e50e7e" title="Destroys Vulkan image and frees allocated memory.">vmaDestroyImage()</a> create/destroy an allocation and a buffer/image at once, these are just a shortcut for creating the resource, allocating memory, and binding them together. Defragmentation works on memory allocations only. You must handle the rest manually. Defragmentation is an iterative process that should repreat "passes" as long as related functions return <span class="tt">VK_INCOMPLETE</span> not <span class="tt">VK_SUCCESS</span>. In each pass:</p>
 <ol type="1">
 <li><a class="el" href="group__group__alloc.html#ga980d7da2ce3b1fd5c8b8476bc362cc00" title="Starts single defragmentation pass.">vmaBeginDefragmentationPass()</a> function call:<ul>
@@ -204,7 +204,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/deprecated.html b/docs/html/deprecated.html
index fdc6db3..05e1bdc 100644
--- a/docs/html/deprecated.html
+++ b/docs/html/deprecated.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Deprecated List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -76,23 +76,25 @@
 <div class="contents">
 <div class="textblock"><dl class="reflist">
 <dt>Member <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597aa6f24f821cd6a7c5e4a443f7bf59c520">VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT</a>  </dt>
-<dd><a class="anchor" id="_deprecated000006"></a>Preserved for backward compatibility. Consider using <a class="el" href="group__group__alloc.html#gabe02cbb0cd913b3f125958179f2020fc" title="Sets pName in given allocation to new value.">vmaSetAllocationName()</a> instead. </dd>
+<dd><a class="anchor" id="_deprecated000007"></a>Preserved for backward compatibility. Consider using <a class="el" href="group__group__alloc.html#gabe02cbb0cd913b3f125958179f2020fc" title="Sets pName in given allocation to new value.">vmaSetAllocationName()</a> instead. </dd>
 <dt>Member <a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305cca416a444d4d0fc20067c3f76f32ff2500">VMA_MEMORY_USAGE_CPU_COPY</a>  </dt>
-<dd><a class="anchor" id="_deprecated000005"></a>Obsolete, preserved for backward compatibility. Prefers not <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>.  </dd>
+<dd><a class="anchor" id="_deprecated000006"></a>Obsolete, preserved for backward compatibility. Prefers not <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>.  </dd>
 <dt>Member <a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305cca40bdf4cddeffeb12f43d45ca1286e0a5">VMA_MEMORY_USAGE_CPU_ONLY</a>  </dt>
-<dd><a class="anchor" id="_deprecated000002"></a>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span> and <span class="tt">VK_MEMORY_PROPERTY_HOST_COHERENT_BIT</span>.  </dd>
+<dd><a class="anchor" id="_deprecated000003"></a>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span> and <span class="tt">VK_MEMORY_PROPERTY_HOST_COHERENT_BIT</span>.  </dd>
 <dt>Member <a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305cca9066b52c5a7079bb74a69aaf8b92ff67">VMA_MEMORY_USAGE_CPU_TO_GPU</a>  </dt>
-<dd><a class="anchor" id="_deprecated000003"></a>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span>, prefers <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>.  </dd>
+<dd><a class="anchor" id="_deprecated000004"></a>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span>, prefers <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>.  </dd>
 <dt>Member <a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305ccac6b5dc1432d88647aa4cd456246eadf7">VMA_MEMORY_USAGE_GPU_ONLY</a>  </dt>
-<dd><a class="anchor" id="_deprecated000001"></a>Obsolete, preserved for backward compatibility. Prefers <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>.  </dd>
+<dd><a class="anchor" id="_deprecated000002"></a>Obsolete, preserved for backward compatibility. Prefers <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>.  </dd>
 <dt>Member <a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305cca7b586d2fdaf82a463b58f581ed72be27">VMA_MEMORY_USAGE_GPU_TO_CPU</a>  </dt>
-<dd><a class="anchor" id="_deprecated000004"></a>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span>, prefers <span class="tt">VK_MEMORY_PROPERTY_HOST_CACHED_BIT</span>. </dd>
+<dd><a class="anchor" id="_deprecated000005"></a>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span>, prefers <span class="tt">VK_MEMORY_PROPERTY_HOST_CACHED_BIT</span>.  </dd>
+<dt>Member <a class="el" href="group__group__alloc.html#gaa06a690013a0d01e60894ac378083834">vmaCreateBufferWithAlignment</a>  (<a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkDeviceSize minAlignment, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</dt>
+<dd><a class="anchor" id="_deprecated000001"></a> This function in obsolete since new <a class="el" href="struct_vma_allocation_create_info.html#a4fa1895486efac8c128dcffad46706a0" title="Additional minimum alignment to be used for this allocation. Can be 0.">VmaAllocationCreateInfo::minAlignment</a> member allows specifying custom alignment while using any allocation function, like the standard <a class="el" href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>. </dd>
 </dl>
 </div></div><!-- contents -->
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html
index cb11150..303849a 100644
--- a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html
+++ b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: C:/Code/VulkanMemoryAllocator/REPO/include Directory Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -81,12 +81,12 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-files" class="groupheader"><a id="files" name="files"></a>
 Files</h2></td></tr>
-<tr class="memitem:vk_5Fmem_5Falloc_2Eh" id="r_vk_5Fmem_5Falloc_2Eh"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"><div class="doc-icon"></div></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vk__mem__alloc_8h.html">vk_mem_alloc.h</a></td></tr>
+<tr class="memitem:vk_5Fmem_5Falloc_2Eh" id="r_vk_5Fmem_5Falloc_2Eh"><td class="memItemLeft"><span class="icondoc"><div class="doc-icon"></div></span>&#160;</td><td class="memItemRight"><a class="el" href="vk__mem__alloc_8h.html">vk_mem_alloc.h</a></td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css
index 5d2eecd..788923a 100644
--- a/docs/html/doxygen.css
+++ b/docs/html/doxygen.css
@@ -1,4 +1,4 @@
-/* The standard CSS for doxygen 1.14.0*/
+/* The standard CSS for doxygen 1.16.1*/
 
 html {
 /* page base colors */
@@ -19,7 +19,6 @@
 --header-separator-color: #C4CFE5;
 --group-header-separator-color: #D9E0EE;
 --group-header-color: #354C7B;
---inherit-header-color: gray;
 
 --footer-foreground-color: #2A3D61;
 --footer-logo-width: 75px;
@@ -28,8 +27,6 @@
 
 --title-background-color: white;
 --title-separator-color: #C4CFE5;
---directory-separator-color: #9CAFD4;
---separator-color: #4A6AAA;
 
 --blockquote-background-color: #F7F8FB;
 --blockquote-border-color: #9CAFD4;
@@ -39,10 +36,6 @@
 
 --icon-background-color: #728DC1;
 --icon-foreground-color: white;
-/*
---icon-doc-image: url('doc.svg');
---icon-folder-open-image: url('folderopen.svg');
---icon-folder-closed-image: url('folderclosed.svg');*/
 --icon-folder-open-fill-color: #C4CFE5;
 --icon-folder-fill-color: #D8DFEE;
 --icon-folder-border-color: #4665A2;
@@ -51,7 +44,6 @@
 
 /* brief member declaration list */
 --memdecl-background-color: #F9FAFC;
---memdecl-separator-color: #DEE4F0;
 --memdecl-foreground-color: #555;
 --memdecl-template-color: #4665A2;
 --memdecl-border-color: #D5DDEC;
@@ -61,7 +53,6 @@
 --memdef-title-background-color: #E2E8F2;
 --memdef-proto-background-color: #EEF1F7;
 --memdef-proto-text-color: #253555;
---memdef-doc-background-color: white;
 --memdef-param-name-color: #602020;
 --memdef-template-color: #4665A2;
 
@@ -83,21 +74,17 @@
 --nav-breadcrumb-separator-color: #C4CFE5;
 --nav-breadcrumb-active-bg: #EEF1F7;
 --nav-breadcrumb-color: #354C7B;
---nav-breadcrumb-border-color: #E1E7F2;
 --nav-splitbar-bg-color: #DCE2EF;
 --nav-splitbar-handle-color: #9CAFD4;
 --nav-font-size-level1: 13px;
 --nav-font-size-level2: 10px;
 --nav-font-size-level3: 9px;
 --nav-text-normal-color: #283A5D;
---nav-text-hover-color: white;
---nav-text-active-color: white;
 --nav-menu-button-color: #364D7C;
 --nav-menu-background-color: white;
 --nav-menu-foreground-color: #555555;
 --nav-menu-active-bg: #DCE2EF;
 --nav-menu-active-color: #9CAFD4;
---nav-menu-toggle-color: rgba(255, 255, 255, 0.5);
 --nav-arrow-color: #B6C4DF;
 --nav-arrow-selected-color: #90A5CE;
 
@@ -145,8 +132,6 @@
 --code-vhdl-char-color: #000000;
 --code-vhdl-keyword-color: #700070;
 --code-vhdl-logic-color: #FF0000;
---code-link-color: #4665A2;
---code-external-link-color: #4665A2;
 --fragment-foreground-color: black;
 --fragment-background-color: #FBFCFD;
 --fragment-border-color: #C4CFE5;
@@ -158,6 +143,7 @@
 --fragment-lineno-link-hover-fg-color: #4665A2;
 --fragment-lineno-link-hover-bg-color: #C8C8C8;
 --fragment-copy-ok-color: #2EC82E;
+--fragment-highlight-filter: -3;
 --tooltip-foreground-color: black;
 --tooltip-background-color: rgba(255,255,255,0.8);
 --tooltip-arrow-background-color: white;
@@ -201,6 +187,11 @@
 --invariant-color-bg: #d8f1e3;
 --invariant-color-hl: #44b86f;
 --invariant-color-text: #265532;
+--satisfies-color-hl: #b61825;
+--satisfies-color-bg: #f8d1cc;
+--verifies-color-hl: #b61825;
+--verifies-color-bg: #f8d1cc;
+
 }
 
 @media (prefers-color-scheme: dark) {
@@ -225,7 +216,6 @@
 --header-separator-color: #141C2E;
 --group-header-separator-color: #1D2A43;
 --group-header-color: #90A5CE;
---inherit-header-color: #A0A0A0;
 
 --footer-foreground-color: #5B7AB7;
 --footer-logo-width: 60px;
@@ -234,8 +224,6 @@
 
 --title-background-color: #090D16;
 --title-separator-color: #212F4B;
---directory-separator-color: #283A5D;
---separator-color: #283A5D;
 
 --blockquote-background-color: #101826;
 --blockquote-border-color: #283A5D;
@@ -253,7 +241,6 @@
 
 /* brief member declaration list */
 --memdecl-background-color: #0B101A;
---memdecl-separator-color: #2C3F65;
 --memdecl-foreground-color: #BBB;
 --memdecl-template-color: #7C95C6;
 --memdecl-border-color: #233250;
@@ -263,7 +250,6 @@
 --memdef-title-background-color: #1B2840;
 --memdef-proto-background-color: #19243A;
 --memdef-proto-text-color: #9DB0D4;
---memdef-doc-background-color: black;
 --memdef-param-name-color: #D28757;
 --memdef-template-color: #7C95C6;
 
@@ -285,21 +271,17 @@
 --nav-breadcrumb-separator-color: #212F4B;
 --nav-breadcrumb-active-bg: #1D2A43;
 --nav-breadcrumb-color: #90A5CE;
---nav-breadcrumb-border-color: #2A3D61;
 --nav-splitbar-bg-color: #283A5D;
 --nav-splitbar-handle-color: #4665A2;
 --nav-font-size-level1: 13px;
 --nav-font-size-level2: 10px;
 --nav-font-size-level3: 9px;
 --nav-text-normal-color: #B6C4DF;
---nav-text-hover-color: #DCE2EF;
---nav-text-active-color: #DCE2EF;
 --nav-menu-button-color: #B6C4DF;
 --nav-menu-background-color: #05070C;
 --nav-menu-foreground-color: #BBBBBB;
 --nav-menu-active-bg: #1D2A43;
 --nav-menu-active-color: #C9D3E7;
---nav-menu-toggle-color: rgba(255, 255, 255, 0.2);
 --nav-arrow-color: #4665A2;
 --nav-arrow-selected-color: #6884BD;
 
@@ -347,8 +329,6 @@
 --code-vhdl-char-color: #C0C0C0;
 --code-vhdl-keyword-color: #CF53C9;
 --code-vhdl-logic-color: #FF0000;
---code-link-color: #79C0FF;
---code-external-link-color: #79C0FF;
 --fragment-foreground-color: #C9D1D9;
 --fragment-background-color: #090D16;
 --fragment-border-color: #30363D;
@@ -360,6 +340,7 @@
 --fragment-lineno-link-hover-fg-color: #8E96A1;
 --fragment-lineno-link-hover-bg-color: #505050;
 --fragment-copy-ok-color: #0EA80E;
+--fragment-highlight-filter: 5;
 --tooltip-foreground-color: #C9D1D9;
 --tooltip-background-color: #202020;
 --tooltip-arrow-background-color: #202020;
@@ -403,6 +384,11 @@
 --invariant-color-bg: #303a35;
 --invariant-color-hl: #76ce96;
 --invariant-color-text: #cceed5;
+--satisfies-color-hl: #ad2617;
+--satisfies-color-bg: #2e1917;
+--verifies-color-hl: #ad2617;
+--verifies-color-bg: #2e1917;
+
 }}
 body {
 	background-color: var(--page-background-color);
@@ -483,6 +469,7 @@
 
 p.startli, p.startdd {
 	margin-top: 2px;
+	margin-bottom: 0px;
 }
 
 th p.starttd, th p.intertd, th p.endtd {
@@ -674,6 +661,11 @@
 a.code.hl_sequence { /* style for links to sequence names in code snippets */ }
 a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ }
 
+div.embeddoc {
+	font-family: var(--font-family-monospace);
+	padding-left: 10px;
+}
+
 /* @end */
 
 dl.el {
@@ -681,15 +673,35 @@
 }
 
 ul.check {
-	list-style:none;
-	text-indent: -16px;
-	padding-left: 38px;
+	list-style: none;
+	padding-left: 40px;
+	margin: 0;
 }
-li.unchecked:before {
-	content: "\2610\A0";
+
+ul.check li {
+	position: relative;
 }
-li.checked:before {
-	content: "\2611\A0";
+
+li.unchecked::before, li.checked::before {
+	position: absolute;
+	left: -18px;
+	top: 0;
+}
+
+li.unchecked::before {
+	content: "☐";
+}
+
+li.checked::before {
+	content: "☑";
+}
+
+ul.check li > p {
+	display: inline;
+}
+
+ul.check li > p:not(:first-child) {
+	display: block;
 }
 
 ol {
@@ -744,6 +756,7 @@
 span.tt {
         white-space: pre;
 	font-family: var(--font-family-monospace);
+	background-color: var(--fragment-background-color);
 }
 
 .clipboard {
@@ -1159,6 +1172,8 @@
 	border-bottom: 1px solid var(--memdecl-border-color);
 	padding-left: 10px;
 	transition: none;
+	vertical-align: top;
+	text-align: right;
 }
 
 .memItemRight {
@@ -1167,6 +1182,7 @@
 	border-bottom: 1px solid var(--memdecl-border-color);
 	padding-right: 10px;
 	transition: none;
+	vertical-align: bottom;
 }
 
 tr.heading        + tr[class^='memitem'] td.memItemLeft,
@@ -1720,7 +1736,6 @@
 	text-align: right;
 }
 
-
 .fieldtable td.fielddoc {
 	border-bottom: 1px solid var(--memdef-border-color);
 }
@@ -1750,6 +1765,41 @@
 	border-bottom: 1px solid var(--memdef-border-color);
 }
 
+/* style requirements page */
+
+div.req_title {
+        text-decoration-line: underline;
+        text-decoration-style: solid;
+        text-decoration-color: var(--table-cell-border-color);
+        text-decoration-thickness: 1px;
+        font-weight: bold;
+}
+
+table.reqlist tr > td:first-child {
+        text-align: right;
+        font-weight: bold;
+}
+
+div.missing_satisfies {
+        border-left: 8px solid var(--satisfies-color-hl);
+	border-radius: 4px;
+	background: var(--satisfies-color-bg);
+        padding: 10px;
+        margin: 10px 0px;
+        overflow: hidden;
+        margin-left: 0;
+}
+
+div.missing_verifies {
+        border-left: 8px solid var(--verifies-color-hl);
+	border-radius: 4px;
+	background: var(--verifies-color-bg);
+        padding: 10px;
+        margin: 10px 0px;
+        overflow: hidden;
+        margin-left: 0;
+}
+
 /* ----------- navigation breadcrumb styling ----------- */
 
 #nav-path ul {
@@ -1914,6 +1964,10 @@
 	color: var(--warning-color-hl);
 }
 
+dl.warning .tt, dl.attention .tt, dl.important .tt {
+	background-color: hsl(from var(--warning-color-bg) h s calc(l + var(--fragment-highlight-filter)));
+}
+
 dl.note, dl.remark {
 	background: var(--note-color-bg);
 	border-left: 8px solid var(--note-color-hl);
@@ -1924,6 +1978,10 @@
 	color: var(--note-color-hl);
 }
 
+dl.note .tt, dl.remark .tt {
+	background-color: hsl(from var(--note-color-bg) h s calc(l + var(--fragment-highlight-filter)));
+}
+
 dl.todo {
 	background: var(--todo-color-bg);
 	border-left: 8px solid var(--todo-color-hl);
@@ -1934,6 +1992,10 @@
 	color: var(--todo-color-hl);
 }
 
+dl.todo .tt {
+	background-color: hsl(from var(--todo-color-bg) h s calc(l + var(--fragment-highlight-filter)));
+}
+
 dl.test {
 	background: var(--test-color-bg);
 	border-left: 8px solid var(--test-color-hl);
@@ -1944,6 +2006,10 @@
 	color: var(--test-color-hl);
 }
 
+dl.test .tt {
+	background-color: hsl(from var(--test-color-bg) h s calc(l + var(--fragment-highlight-filter)));
+}
+
 dl.bug dt a {
 	color: var(--bug-color-hl) !important;
 }
@@ -1958,6 +2024,10 @@
 	color: var(--bug-color-hl) !important;
 }
 
+dl.bug .tt {
+	background-color: hsl(from var(--bug-color-bg) h s calc(l + var(--fragment-highlight-filter)));
+}
+
 dl.deprecated {
 	background: var(--deprecated-color-bg);
 	border-left: 8px solid var(--deprecated-color-hl);
@@ -1968,12 +2038,11 @@
 	color: var(--deprecated-color-hl) !important;
 }
 
-dl.note dd, dl.warning dd, dl.pre dd, dl.post dd,
-dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd,
-dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd {
-	margin-inline-start: 0px;
+dl.deprecated .tt {
+	background-color: hsl(from var(--deprecated-color-bg) h s calc(l + var(--fragment-highlight-filter)));
 }
 
+
 dl.invariant, dl.pre, dl.post {
 	background: var(--invariant-color-bg);
 	border-left: 8px solid var(--invariant-color-hl);
@@ -1984,6 +2053,16 @@
 	color: var(--invariant-color-hl);
 }
 
+dl.invariant .tt, dl.pre .tt, dl.post .tt {
+	background-color: hsl(from var(--invariant-color-bg) h s calc(l + var(--fragment-highlight-filter)));
+}
+
+dl.note dd, dl.warning dd, dl.pre dd, dl.post dd,
+dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd,
+dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd {
+	margin-inline-start: 0px;
+}
+
 
 #projectrow
 {
diff --git a/docs/html/doxygen_crawl.html b/docs/html/doxygen_crawl.html
index f4404e9..773232d 100644
--- a/docs/html/doxygen_crawl.html
+++ b/docs/html/doxygen_crawl.html
@@ -4,7 +4,7 @@
 <title>Validator / crawler helper</title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 </head>
 <body>
@@ -282,6 +282,7 @@
 <a href="struct_vma_allocation_create_info-members.html"/>
 <a href="struct_vma_allocation_create_info.html"/>
 <a href="struct_vma_allocation_create_info.html#a3bf940c0271d85d6ba32a4d820075055"/>
+<a href="struct_vma_allocation_create_info.html#a4fa1895486efac8c128dcffad46706a0"/>
 <a href="struct_vma_allocation_create_info.html#a6272c0555cfd1fe28bff1afeb6190150"/>
 <a href="struct_vma_allocation_create_info.html#a7fe8d81a1ad10b2a2faacacee5b15d6d"/>
 <a href="struct_vma_allocation_create_info.html#a8259e85c272683434f4abb4ddddffe19"/>
diff --git a/docs/html/enabling_buffer_device_address.html b/docs/html/enabling_buffer_device_address.html
index 4661324..6aed289 100644
--- a/docs/html/enabling_buffer_device_address.html
+++ b/docs/html/enabling_buffer_device_address.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Enabling buffer device address</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -99,7 +99,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/faq.html b/docs/html/faq.html
index 2ac0387..60ab2d7 100644
--- a/docs/html/faq.html
+++ b/docs/html/faq.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Frequently asked questions</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -90,7 +90,7 @@
 <p>While VMA is useful for most applications that use the Vulkan API, there are cases when it may be a better choice not to use it. For example, if the application is very simple, e.g. serving as a sample or a learning exercise to help you understand or teach others the basics of Vulkan, and it creates only a small number of buffers and images, then including VMA may be an overkill. Developing your own memory allocator may also be a good learning exercise.</p>
 <p><b>What are the benefits of using VMA?</b></p>
 <ol type="1">
-<li>VMA helps in choosing the optimal memory type for your resource (buffer or image). In Vulkan, we have a two-level hierarchy of memory heaps and types with different flags, and each device can expose a different set of those. Implementing logic that would select the best memory type on each platform is a non-trivial task. VMA does that, expecting only a high-level description of the intended usage of your resource. For more information, see <a class="el" href="choosing_memory_type.html">Choosing memory type</a>.</li>
+<li>VMA helps in choosing the optimal memory type for your resource (buffer or image). In Vulkan, we have a two-level hierarchy of memory heaps and types with different flags, and each device can expose a different set of those. Implementing logic that would select the best memory type on each platform is a non-trivial task. VMA does that, expecting only a high-level description of the intended usage of your resource. For more information, see <a class="el" href="choosing_memory_type.html" title="Choosing memory type">Choosing memory type</a>.</li>
 <li>VMA allocates large blocks of <span class="tt">VkDeviceMemory</span> and sub-allocates parts of them for your resources. Allocating a new block of device memory may be a time-consuming operation. Some platforms also have a limit on the maximum number of those blocks (<span class="tt">VkPhysicalDeviceLimits::maxMemoryAllocationCount</span>) as low as 4096, so allocating a separate one for each resource is not an option. Sub-allocating parts of a memory block requires implementing an allocation algorithm, which is a non-trivial task. VMA does that, using an advanced and efficient algorithm that works well in various use cases.</li>
 <li>VMA offers a simple API that allows creating buffers and textures within one function call. In Vulkan, the creation of a resource is a multi-step process. You need to create a <span class="tt">VkBuffer</span> or <span class="tt">VkImage</span>, ask it for memory requirements, allocate a <span class="tt">VkDeviceMemory</span> object, and finally bind the resource to the memory block. VMA does that automatically under a simple API within one function call: <a class="el" href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>, <a class="el" href="group__group__alloc.html#ga02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer() but for images.">vmaCreateImage()</a>.</li>
 </ol>
@@ -103,7 +103,7 @@
 <p>VMA is an STB-style single-header C++ library.</p>
 <p>You can pull the entire GitHub repository, e.g. using Git submodules. The repository contains ancillary files like the Cmake script, Doxygen config file, sample application, test suite, and others. You can compile it as a library and link with your project.</p>
 <p>However, a simpler way is taking the single file "include/vk_mem_alloc.h" and including it in your project. This extensive file contains all you need: a copyright notice, declarations of the public library interface (API), its internal implementation, and even the documentation in form of Doxygen-style comments.</p>
-<p>The "STB style" means not everything is implemented as inline functions in the header file. You need to extract the internal implementation using a special macro. This means that in every .cpp file where you need to use the library you should <span class="tt">#include "vk_mem_alloc.h"</span> to include its public interface, but additionally in exactly one .cpp file you should <span class="tt">#define VMA_IMPLEMENTATION</span> before this <span class="tt">#include</span> to enable its internal implementation. For more information, see <a class="el" href="quick_start.html#quick_start_project_setup">Project setup</a>.</p>
+<p>The "STB style" means not everything is implemented as inline functions in the header file. You need to extract the internal implementation using a special macro. This means that in every .cpp file where you need to use the library you should <span class="tt">#include "<a class="el" href="vk__mem__alloc_8h.html">vk_mem_alloc.h</a>"</span> to include its public interface, but additionally in exactly one .cpp file you should <span class="tt">#define VMA_IMPLEMENTATION</span> before this <span class="tt">#include</span> to enable its internal implementation. For more information, see <a class="el" href="quick_start.html#quick_start_project_setup" title="Project setup">Project setup</a>.</p>
 <p><b>Does the library work with C or C++?</b></p>
 <p>The internal implementation of VMA is written in C++. It is distributed in the source format, so you need a compiler supporting at least C++14 to build it.</p>
 <p>However, the public interface of the library is written in C - using only enums, structs, and global functions, in the same style as Vulkan, so you can use the library in the C code.</p>
@@ -113,7 +113,7 @@
 <li>VMA doesn't throw or catch any C++ exceptions. It reports errors by returning a <span class="tt">VkResult</span> value instead, just like Vulkan. If you don't use exceptions in your project, your code is not exception-safe, or even if you disable exception handling in the compiler options, you can still use VMA.</li>
 <li>VMA doesn't use C++ run-time type information like <span class="tt">typeid</span> or <span class="tt">dynamic_cast</span>, so if you disable RTTI in the compiler options, you can still use the library.</li>
 <li>VMA uses only a limited subset of standard C and C++ library. It doesn't use STL containers like <span class="tt">std::vector</span>, <span class="tt">map</span>, or <span class="tt">string</span>, either in the public interface nor in the internal implementation. It implements its own containers instead.</li>
-<li>If you don't use the default heap memory allocator through <span class="tt">malloc/free</span> or <span class="tt">new/delete</span> but implement your own allocator instead, you can pass it to VMA and the library will use your functions for every dynamic heap allocation made internally, as well as passing it further to Vulkan functions. For details, see <a class="el" href="configuration.html#custom_memory_allocator">Custom host memory allocator</a>.</li>
+<li>If you don't use the default heap memory allocator through <span class="tt">malloc/free</span> or <span class="tt">new/delete</span> but implement your own allocator instead, you can pass it to VMA and the library will use your functions for every dynamic heap allocation made internally, as well as passing it further to Vulkan functions. For details, see <a class="el" href="configuration.html#custom_memory_allocator" title="Custom host memory allocator">Custom host memory allocator</a>.</li>
 </ul>
 <p><b>Is it available for other programming languages?</b></p>
 <p>VMA is a C++ library with C interface in similar style as Vulkan. An object-oriented C++ wrapper or bindings to other programming languages are out of scope of this project, but they are welcome as external projects. Some of them are listed in <a href="https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator?tab=readme-ov-file#see-also">README.md, "See also" section</a>, including binding to C++, Python, Rust, and Haskell. Before using any of them, please check if they are still maintained and updated to use a recent version of VMA.</p>
@@ -123,7 +123,7 @@
 <p>No! While VMA is published by AMD, it works on any GPU that supports Vulkan, whether a discrete PC graphics card, a processor integrated graphics, or a mobile SoC. It doesn't give AMD GPUs any advantage over any other GPUs.</p>
 <p><b>What Vulkan versions and extensions are supported?</b></p>
 <p>VMA is updated to support the latest versions of Vulkan. It currently supports Vulkan up to 1.4. The library also supports older versions down to the first release of Vulkan 1.0. Defining a higher minimum version support would help simplify the code, but we acknowledge that developers on some platforms like Android still use older versions, so the support is provided for all of them.</p>
-<p>Among many extensions available for Vulkan, only a few interact with memory management. VMA can automatically take advantage of them. Some of them are: VK_EXT_memory_budget, VK_EXT_memory_priority, VK_KHR_external_memory_win32, and VK_KHR_maintenance* extensions that are later promoted to the new versions of the core Vulkan API. To use them, it is your responsibility to validate if they are available on the current system and if so, enable them while creating the Vulkan device object. You also need to pass appropriate <a class="el" href="group__group__init.html#ga4f87c9100d154a65a4ad495f7763cf7c" title="Flags for created VmaAllocator.">VmaAllocatorCreateFlagBits</a> to inform VMA that they are enabled. Then, the library will automatically take advantage of them. For more information and the full list of supported extensions, see <a class="el" href="quick_start.html#quick_start_initialization_enabling_extensions">Enabling extensions</a>.</p>
+<p>Among many extensions available for Vulkan, only a few interact with memory management. VMA can automatically take advantage of them. Some of them are: VK_EXT_memory_budget, VK_EXT_memory_priority, VK_KHR_external_memory_win32, and VK_KHR_maintenance* extensions that are later promoted to the new versions of the core Vulkan API. To use them, it is your responsibility to validate if they are available on the current system and if so, enable them while creating the Vulkan device object. You also need to pass appropriate <a class="el" href="group__group__init.html#ga4f87c9100d154a65a4ad495f7763cf7c" title="Flags for created VmaAllocator.">VmaAllocatorCreateFlagBits</a> to inform VMA that they are enabled. Then, the library will automatically take advantage of them. For more information and the full list of supported extensions, see <a class="el" href="quick_start.html#quick_start_initialization_enabling_extensions" title="Enabling extensions">Enabling extensions</a>.</p>
 <p><b>Does it support other graphics APIs, like Microsoft DirectX(R) 12?</b></p>
 <p>No, but we offer an equivalent library for DirectX 12: <a href="https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator">D3D12 Memory Allocator</a>. It uses the same core allocation algorithm. It also shares many features with VMA, like the support for custom pools and virtual allocator. However, it is not identical in terms of the features supported. Its API also looks different, because while the interface of VMA is similar in style to Vulkan, the interface of D3D12MA is similar to DirectX 12.</p>
 <p><b>Is the library lightweight?</b></p>
@@ -149,13 +149,13 @@
 <li>Try making your allocation using pure Vulkan functions rather than VMA and see if the bug persists.</li>
 </ul>
 <p><b>I found some compilation warnings. How can we fix them?</b></p>
-<p>Seeing compiler warnings may be annoying to some developers, but it is a design decision to not fix all of them. Due to the nature of the C++ language, certain preprocessor macros can make some variables unused, function parameters unreferenced, or conditional expressions constant in some configurations. The code of this library should not be bigger or more complicated just to silence these warnings. It is recommended to disable such warnings instead. For more information, see <a class="el" href="general_considerations.html#general_considerations_features_not_supported">Features not supported</a>.</p>
+<p>Seeing compiler warnings may be annoying to some developers, but it is a design decision to not fix all of them. Due to the nature of the C++ language, certain preprocessor macros can make some variables unused, function parameters unreferenced, or conditional expressions constant in some configurations. The code of this library should not be bigger or more complicated just to silence these warnings. It is recommended to disable such warnings instead. For more information, see <a class="el" href="general_considerations.html#general_considerations_features_not_supported" title="Features not supported">Features not supported</a>.</p>
 <p>However, if you observe a warning that is really dangerous, e.g., about an implicit conversion from a larger to a smaller integer type, please report it and it will be fixed ASAP. </p>
 </div></div><!-- contents -->
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/files.html b/docs/html/files.html
index 59195e7..b0e1236 100644
--- a/docs/html/files.html
+++ b/docs/html/files.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: File List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,7 +83,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/functions.html b/docs/html/functions.html
index 641dbf7..0930b3e 100644
--- a/docs/html/functions.html
+++ b/docs/html/functions.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Class Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -121,6 +121,7 @@
 <li>memoryType&#160;:&#160;<a class="el" href="struct_vma_allocation_info.html#a7f6b0aa58c135e488e6b40a388dad9d5">VmaAllocationInfo</a>, <a class="el" href="struct_vma_total_statistics.html#acb70e5b7fe543813ed8ba9282640969d">VmaTotalStatistics</a></li>
 <li>memoryTypeBits&#160;:&#160;<a class="el" href="struct_vma_allocation_create_info.html#a3bf940c0271d85d6ba32a4d820075055">VmaAllocationCreateInfo</a></li>
 <li>memoryTypeIndex&#160;:&#160;<a class="el" href="struct_vma_pool_create_info.html#a596fa76b685d3f1f688f84a709a5b319">VmaPoolCreateInfo</a></li>
+<li>minAlignment&#160;:&#160;<a class="el" href="struct_vma_allocation_create_info.html#a4fa1895486efac8c128dcffad46706a0">VmaAllocationCreateInfo</a></li>
 <li>minAllocationAlignment&#160;:&#160;<a class="el" href="struct_vma_pool_create_info.html#ade3eca546f0c6ab4e8fbf20eb6d854cb">VmaPoolCreateInfo</a></li>
 <li>minBlockCount&#160;:&#160;<a class="el" href="struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae">VmaPoolCreateInfo</a></li>
 <li>moveCount&#160;:&#160;<a class="el" href="struct_vma_defragmentation_pass_move_info.html#a1b3e18c23f9691f35baf183e615c4408">VmaDefragmentationPassMoveInfo</a></li>
@@ -214,7 +215,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html
index 4e0720a..1a0f69a 100644
--- a/docs/html/functions_vars.html
+++ b/docs/html/functions_vars.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Class Members - Variables</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -121,6 +121,7 @@
 <li>memoryType&#160;:&#160;<a class="el" href="struct_vma_allocation_info.html#a7f6b0aa58c135e488e6b40a388dad9d5">VmaAllocationInfo</a>, <a class="el" href="struct_vma_total_statistics.html#acb70e5b7fe543813ed8ba9282640969d">VmaTotalStatistics</a></li>
 <li>memoryTypeBits&#160;:&#160;<a class="el" href="struct_vma_allocation_create_info.html#a3bf940c0271d85d6ba32a4d820075055">VmaAllocationCreateInfo</a></li>
 <li>memoryTypeIndex&#160;:&#160;<a class="el" href="struct_vma_pool_create_info.html#a596fa76b685d3f1f688f84a709a5b319">VmaPoolCreateInfo</a></li>
+<li>minAlignment&#160;:&#160;<a class="el" href="struct_vma_allocation_create_info.html#a4fa1895486efac8c128dcffad46706a0">VmaAllocationCreateInfo</a></li>
 <li>minAllocationAlignment&#160;:&#160;<a class="el" href="struct_vma_pool_create_info.html#ade3eca546f0c6ab4e8fbf20eb6d854cb">VmaPoolCreateInfo</a></li>
 <li>minBlockCount&#160;:&#160;<a class="el" href="struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae">VmaPoolCreateInfo</a></li>
 <li>moveCount&#160;:&#160;<a class="el" href="struct_vma_defragmentation_pass_move_info.html#a1b3e18c23f9691f35baf183e615c4408">VmaDefragmentationPassMoveInfo</a></li>
@@ -214,7 +215,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/general_considerations.html b/docs/html/general_considerations.html
index 02eaa74..65c29c8 100644
--- a/docs/html/general_considerations.html
+++ b/docs/html/general_considerations.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: General considerations</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -106,7 +106,7 @@
 </ul>
 </li>
 <li><em>Non-linear image 0xebc91 is aliased with linear buffer 0xeb8e4 which may indicate a bug.</em><ul>
-<li>It may happen when you use <a class="el" href="defragmentation.html">defragmentation</a>.</li>
+<li>It may happen when you use <a class="el" href="defragmentation.html" title="Defragmentation">defragmentation</a>.</li>
 </ul>
 </li>
 </ul>
@@ -135,7 +135,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/globals.html b/docs/html/globals.html
index 564913d..9d989cc 100644
--- a/docs/html/globals.html
+++ b/docs/html/globals.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -257,7 +257,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html
index ac84a42..dc6912e 100644
--- a/docs/html/globals_defs.html
+++ b/docs/html/globals_defs.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -77,7 +77,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/globals_enum.html b/docs/html/globals_enum.html
index 48be59c..4115a80 100644
--- a/docs/html/globals_enum.html
+++ b/docs/html/globals_enum.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -84,7 +84,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/globals_eval.html b/docs/html/globals_eval.html
index 9e55719..4e9bc5a 100644
--- a/docs/html/globals_eval.html
+++ b/docs/html/globals_eval.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -140,7 +140,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html
index 721ac9c..1e5408a 100644
--- a/docs/html/globals_func.html
+++ b/docs/html/globals_func.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -154,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/globals_type.html b/docs/html/globals_type.html
index 084a199..b9ffc9a 100644
--- a/docs/html/globals_type.html
+++ b/docs/html/globals_type.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: File Members</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -118,7 +118,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/group__group__alloc.html b/docs/html/group__group__alloc.html
index 5de4ab4..b06c4cf 100644
--- a/docs/html/group__group__alloc.html
+++ b/docs/html/group__group__alloc.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Memory allocation</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -85,66 +85,66 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
 Classes</h2></td></tr>
-<tr class="memitem:VmaAllocationCreateInfo" id="r_VmaAllocationCreateInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td></tr>
+<tr class="memitem:VmaAllocationCreateInfo" id="r_VmaAllocationCreateInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of new <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>.  <a href="struct_vma_allocation_create_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaPoolCreateInfo" id="r_VmaPoolCreateInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a></td></tr>
+<tr class="memitem:VmaPoolCreateInfo" id="r_VmaPoolCreateInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes parameter of created <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a>.  <a href="struct_vma_pool_create_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaAllocationInfo" id="r_VmaAllocationInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a></td></tr>
-<tr class="memitem:VmaAllocationInfo2" id="r_VmaAllocationInfo2"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocation_info2.html">VmaAllocationInfo2</a></td></tr>
+<tr class="memitem:VmaAllocationInfo" id="r_VmaAllocationInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a></td></tr>
+<tr class="memitem:VmaAllocationInfo2" id="r_VmaAllocationInfo2"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocation_info2.html">VmaAllocationInfo2</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended parameters of a <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> object that can be retrieved using function <a class="el" href="#ga1405cf3eae2fd1305d645879173031a0" title="Returns extended information about specified allocation.">vmaGetAllocationInfo2()</a>.  <a href="struct_vma_allocation_info2.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDefragmentationInfo" id="r_VmaDefragmentationInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a></td></tr>
+<tr class="memitem:VmaDefragmentationInfo" id="r_VmaDefragmentationInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters for defragmentation.  <a href="struct_vma_defragmentation_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDefragmentationMove" id="r_VmaDefragmentationMove"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_defragmentation_move.html">VmaDefragmentationMove</a></td></tr>
+<tr class="memitem:VmaDefragmentationMove" id="r_VmaDefragmentationMove"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_defragmentation_move.html">VmaDefragmentationMove</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single move of an allocation to be done for defragmentation.  <a href="struct_vma_defragmentation_move.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDefragmentationPassMoveInfo" id="r_VmaDefragmentationPassMoveInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a></td></tr>
+<tr class="memitem:VmaDefragmentationPassMoveInfo" id="r_VmaDefragmentationPassMoveInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters for incremental defragmentation steps.  <a href="struct_vma_defragmentation_pass_move_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDefragmentationStats" id="r_VmaDefragmentationStats"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_defragmentation_stats.html">VmaDefragmentationStats</a></td></tr>
+<tr class="memitem:VmaDefragmentationStats" id="r_VmaDefragmentationStats"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_defragmentation_stats.html">VmaDefragmentationStats</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics returned for defragmentation process in function <a class="el" href="#ga59f01ca3d53d50b7cca9b442b77a3e87" title="Ends defragmentation process.">vmaEndDefragmentation()</a>.  <a href="struct_vma_defragmentation_stats.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaPool" id="r_VmaPool"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool.html">VmaPool</a></td></tr>
+<tr class="memitem:VmaPool" id="r_VmaPool"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_pool.html">VmaPool</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents custom memory pool.  <a href="struct_vma_pool.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaAllocation" id="r_VmaAllocation"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocation.html">VmaAllocation</a></td></tr>
+<tr class="memitem:VmaAllocation" id="r_VmaAllocation"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocation.html">VmaAllocation</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents single memory allocation.  <a href="struct_vma_allocation.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDefragmentationContext" id="r_VmaDefragmentationContext"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a></td></tr>
+<tr class="memitem:VmaDefragmentationContext" id="r_VmaDefragmentationContext"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An opaque object that represents started defragmentation process.  <a href="struct_vma_defragmentation_context.html#details">More...</a><br /></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
 Typedefs</h2></td></tr>
-<tr class="memitem:ga806e8499dde802e59eb72a1dc811c35f" id="r_ga806e8499dde802e59eb72a1dc811c35f"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="#gaa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga806e8499dde802e59eb72a1dc811c35f">VmaMemoryUsage</a></td></tr>
+<tr class="memitem:ga806e8499dde802e59eb72a1dc811c35f" id="r_ga806e8499dde802e59eb72a1dc811c35f"><td class="memItemLeft">typedef enum <a class="el" href="#gaa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a>&#160;</td><td class="memItemRight"><a class="el" href="#ga806e8499dde802e59eb72a1dc811c35f">VmaMemoryUsage</a></td></tr>
 <tr class="memdesc:ga806e8499dde802e59eb72a1dc811c35f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intended usage of the allocated memory.  <br /></td></tr>
-<tr class="memitem:ga4fceecc301f4064dc808d3cd6c038941" id="r_ga4fceecc301f4064dc808d3cd6c038941"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="#gad9889c10c798b040d59c92f257cae597">VmaAllocationCreateFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga4fceecc301f4064dc808d3cd6c038941">VmaAllocationCreateFlagBits</a></td></tr>
+<tr class="memitem:ga4fceecc301f4064dc808d3cd6c038941" id="r_ga4fceecc301f4064dc808d3cd6c038941"><td class="memItemLeft">typedef enum <a class="el" href="#gad9889c10c798b040d59c92f257cae597">VmaAllocationCreateFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="#ga4fceecc301f4064dc808d3cd6c038941">VmaAllocationCreateFlagBits</a></td></tr>
 <tr class="memdesc:ga4fceecc301f4064dc808d3cd6c038941"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_allocation_create_info.html#add09658ac14fe290ace25470ddd6d41b" title="Use VmaAllocationCreateFlagBits enum.">VmaAllocationCreateInfo::flags</a>.  <br /></td></tr>
-<tr class="memitem:ga5225e5e11f8376f6a31a1791f3d6e817" id="r_ga5225e5e11f8376f6a31a1791f3d6e817"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga5225e5e11f8376f6a31a1791f3d6e817">VmaAllocationCreateFlags</a></td></tr>
+<tr class="memitem:ga5225e5e11f8376f6a31a1791f3d6e817" id="r_ga5225e5e11f8376f6a31a1791f3d6e817"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="#ga5225e5e11f8376f6a31a1791f3d6e817">VmaAllocationCreateFlags</a></td></tr>
 <tr class="memdesc:ga5225e5e11f8376f6a31a1791f3d6e817"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="#gad9889c10c798b040d59c92f257cae597" title="Flags to be passed as VmaAllocationCreateInfo::flags.">VmaAllocationCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga4d4f2efc2509157a9e4ecd4fd7942303" id="r_ga4d4f2efc2509157a9e4ecd4fd7942303"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="#ga9a7c45f9c863695d98c83fa5ac940fe7">VmaPoolCreateFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga4d4f2efc2509157a9e4ecd4fd7942303">VmaPoolCreateFlagBits</a></td></tr>
+<tr class="memitem:ga4d4f2efc2509157a9e4ecd4fd7942303" id="r_ga4d4f2efc2509157a9e4ecd4fd7942303"><td class="memItemLeft">typedef enum <a class="el" href="#ga9a7c45f9c863695d98c83fa5ac940fe7">VmaPoolCreateFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="#ga4d4f2efc2509157a9e4ecd4fd7942303">VmaPoolCreateFlagBits</a></td></tr>
 <tr class="memdesc:ga4d4f2efc2509157a9e4ecd4fd7942303"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_pool_create_info.html#a8405139f63d078340ae74513a59f5446" title="Use combination of VmaPoolCreateFlagBits.">VmaPoolCreateInfo::flags</a>.  <br /></td></tr>
-<tr class="memitem:ga2770e325ea42e087c1b91fdf46d0292a" id="r_ga2770e325ea42e087c1b91fdf46d0292a"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2770e325ea42e087c1b91fdf46d0292a">VmaPoolCreateFlags</a></td></tr>
+<tr class="memitem:ga2770e325ea42e087c1b91fdf46d0292a" id="r_ga2770e325ea42e087c1b91fdf46d0292a"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="#ga2770e325ea42e087c1b91fdf46d0292a">VmaPoolCreateFlags</a></td></tr>
 <tr class="memdesc:ga2770e325ea42e087c1b91fdf46d0292a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_pool_create_info.html#a8405139f63d078340ae74513a59f5446" title="Use combination of VmaPoolCreateFlagBits.">VmaPoolCreateInfo::flags</a>. See <a class="el" href="#ga9a7c45f9c863695d98c83fa5ac940fe7" title="Flags to be passed as VmaPoolCreateInfo::flags.">VmaPoolCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga13415cc0b443353a7b5abda300b833fc" id="r_ga13415cc0b443353a7b5abda300b833fc"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="#ga6552a65b71d16f378c6994b3ceaef50c">VmaDefragmentationFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga13415cc0b443353a7b5abda300b833fc">VmaDefragmentationFlagBits</a></td></tr>
+<tr class="memitem:ga13415cc0b443353a7b5abda300b833fc" id="r_ga13415cc0b443353a7b5abda300b833fc"><td class="memItemLeft">typedef enum <a class="el" href="#ga6552a65b71d16f378c6994b3ceaef50c">VmaDefragmentationFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="#ga13415cc0b443353a7b5abda300b833fc">VmaDefragmentationFlagBits</a></td></tr>
 <tr class="memdesc:ga13415cc0b443353a7b5abda300b833fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_defragmentation_info.html#a3e23080c978ecf3abb3180f5b2069da7" title="Use combination of VmaDefragmentationFlagBits.">VmaDefragmentationInfo::flags</a>.  <br /></td></tr>
-<tr class="memitem:ga88a77cef37e5d3c4fc9eb328885d048d" id="r_ga88a77cef37e5d3c4fc9eb328885d048d"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga88a77cef37e5d3c4fc9eb328885d048d">VmaDefragmentationFlags</a></td></tr>
+<tr class="memitem:ga88a77cef37e5d3c4fc9eb328885d048d" id="r_ga88a77cef37e5d3c4fc9eb328885d048d"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="#ga88a77cef37e5d3c4fc9eb328885d048d">VmaDefragmentationFlags</a></td></tr>
 <tr class="memdesc:ga88a77cef37e5d3c4fc9eb328885d048d"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="#ga6552a65b71d16f378c6994b3ceaef50c" title="Flags to be passed as VmaDefragmentationInfo::flags.">VmaDefragmentationFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga2ea666deeb3c2c74806a097e27cdb4a1" id="r_ga2ea666deeb3c2c74806a097e27cdb4a1"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="#gada9e3861caf96f08894b0bcc160ec257">VmaDefragmentationMoveOperation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2ea666deeb3c2c74806a097e27cdb4a1">VmaDefragmentationMoveOperation</a></td></tr>
+<tr class="memitem:ga2ea666deeb3c2c74806a097e27cdb4a1" id="r_ga2ea666deeb3c2c74806a097e27cdb4a1"><td class="memItemLeft">typedef enum <a class="el" href="#gada9e3861caf96f08894b0bcc160ec257">VmaDefragmentationMoveOperation</a>&#160;</td><td class="memItemRight"><a class="el" href="#ga2ea666deeb3c2c74806a097e27cdb4a1">VmaDefragmentationMoveOperation</a></td></tr>
 <tr class="memdesc:ga2ea666deeb3c2c74806a097e27cdb4a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operation performed on single defragmentation move. See structure <a class="el" href="struct_vma_defragmentation_move.html" title="Single move of an allocation to be done for defragmentation.">VmaDefragmentationMove</a>.  <br /></td></tr>
-<tr class="memitem:ga3bf110892ea2fb4649fedb68488d026a" id="r_ga3bf110892ea2fb4649fedb68488d026a"><td class="memItemLeft" align="right" valign="top">typedef struct VmaAllocationCreateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga3bf110892ea2fb4649fedb68488d026a">VmaAllocationCreateInfo</a></td></tr>
+<tr class="memitem:ga3bf110892ea2fb4649fedb68488d026a" id="r_ga3bf110892ea2fb4649fedb68488d026a"><td class="memItemLeft">typedef struct VmaAllocationCreateInfo&#160;</td><td class="memItemRight"><a class="el" href="#ga3bf110892ea2fb4649fedb68488d026a">VmaAllocationCreateInfo</a></td></tr>
 <tr class="memdesc:ga3bf110892ea2fb4649fedb68488d026a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of new <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>.  <br /></td></tr>
-<tr class="memitem:ga1017aa83489c0eee8d2163d2bf253f67" id="r_ga1017aa83489c0eee8d2163d2bf253f67"><td class="memItemLeft" align="right" valign="top">typedef struct VmaPoolCreateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1017aa83489c0eee8d2163d2bf253f67">VmaPoolCreateInfo</a></td></tr>
+<tr class="memitem:ga1017aa83489c0eee8d2163d2bf253f67" id="r_ga1017aa83489c0eee8d2163d2bf253f67"><td class="memItemLeft">typedef struct VmaPoolCreateInfo&#160;</td><td class="memItemRight"><a class="el" href="#ga1017aa83489c0eee8d2163d2bf253f67">VmaPoolCreateInfo</a></td></tr>
 <tr class="memdesc:ga1017aa83489c0eee8d2163d2bf253f67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes parameter of created <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a>.  <br /></td></tr>
-<tr class="memitem:ga1cf7774606721026a68aabe3af2e5b50" id="r_ga1cf7774606721026a68aabe3af2e5b50"><td class="memItemLeft" align="right" valign="top">typedef struct VmaAllocationInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1cf7774606721026a68aabe3af2e5b50">VmaAllocationInfo</a></td></tr>
-<tr class="memitem:ga25ede29f830f326b8572a18ce879bf64" id="r_ga25ede29f830f326b8572a18ce879bf64"><td class="memItemLeft" align="right" valign="top">typedef struct VmaAllocationInfo2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga25ede29f830f326b8572a18ce879bf64">VmaAllocationInfo2</a></td></tr>
+<tr class="memitem:ga1cf7774606721026a68aabe3af2e5b50" id="r_ga1cf7774606721026a68aabe3af2e5b50"><td class="memItemLeft">typedef struct VmaAllocationInfo&#160;</td><td class="memItemRight"><a class="el" href="#ga1cf7774606721026a68aabe3af2e5b50">VmaAllocationInfo</a></td></tr>
+<tr class="memitem:ga25ede29f830f326b8572a18ce879bf64" id="r_ga25ede29f830f326b8572a18ce879bf64"><td class="memItemLeft">typedef struct VmaAllocationInfo2&#160;</td><td class="memItemRight"><a class="el" href="#ga25ede29f830f326b8572a18ce879bf64">VmaAllocationInfo2</a></td></tr>
 <tr class="memdesc:ga25ede29f830f326b8572a18ce879bf64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended parameters of a <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> object that can be retrieved using function <a class="el" href="#ga1405cf3eae2fd1305d645879173031a0" title="Returns extended information about specified allocation.">vmaGetAllocationInfo2()</a>.  <br /></td></tr>
-<tr class="memitem:ga6f57b18d4241e80be444842df3094b30" id="r_ga6f57b18d4241e80be444842df3094b30"><td class="memItemLeft" align="right" valign="top">typedef VkBool32(VKAPI_PTR *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga6f57b18d4241e80be444842df3094b30">PFN_vmaCheckDefragmentationBreakFunction</a>) (void *pUserData)</td></tr>
-<tr class="memitem:ga2bf47f96bf92bed2a49461bd9af3acfa" id="r_ga2bf47f96bf92bed2a49461bd9af3acfa"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDefragmentationInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2bf47f96bf92bed2a49461bd9af3acfa">VmaDefragmentationInfo</a></td></tr>
+<tr class="memitem:ga6f57b18d4241e80be444842df3094b30" id="r_ga6f57b18d4241e80be444842df3094b30"><td class="memItemLeft">typedef VkBool32(VKAPI_PTR *&#160;</td><td class="memItemRight"><a class="el" href="#ga6f57b18d4241e80be444842df3094b30">PFN_vmaCheckDefragmentationBreakFunction</a>) (void *pUserData)</td></tr>
+<tr class="memitem:ga2bf47f96bf92bed2a49461bd9af3acfa" id="r_ga2bf47f96bf92bed2a49461bd9af3acfa"><td class="memItemLeft">typedef struct VmaDefragmentationInfo&#160;</td><td class="memItemRight"><a class="el" href="#ga2bf47f96bf92bed2a49461bd9af3acfa">VmaDefragmentationInfo</a></td></tr>
 <tr class="memdesc:ga2bf47f96bf92bed2a49461bd9af3acfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters for defragmentation.  <br /></td></tr>
-<tr class="memitem:ga563f4b43d3e31ed603d80cacc9ba8589" id="r_ga563f4b43d3e31ed603d80cacc9ba8589"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDefragmentationMove&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga563f4b43d3e31ed603d80cacc9ba8589">VmaDefragmentationMove</a></td></tr>
+<tr class="memitem:ga563f4b43d3e31ed603d80cacc9ba8589" id="r_ga563f4b43d3e31ed603d80cacc9ba8589"><td class="memItemLeft">typedef struct VmaDefragmentationMove&#160;</td><td class="memItemRight"><a class="el" href="#ga563f4b43d3e31ed603d80cacc9ba8589">VmaDefragmentationMove</a></td></tr>
 <tr class="memdesc:ga563f4b43d3e31ed603d80cacc9ba8589"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single move of an allocation to be done for defragmentation.  <br /></td></tr>
-<tr class="memitem:gad6799e8e2b1527abfc84d33bc44aeaf5" id="r_gad6799e8e2b1527abfc84d33bc44aeaf5"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDefragmentationPassMoveInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gad6799e8e2b1527abfc84d33bc44aeaf5">VmaDefragmentationPassMoveInfo</a></td></tr>
+<tr class="memitem:gad6799e8e2b1527abfc84d33bc44aeaf5" id="r_gad6799e8e2b1527abfc84d33bc44aeaf5"><td class="memItemLeft">typedef struct VmaDefragmentationPassMoveInfo&#160;</td><td class="memItemRight"><a class="el" href="#gad6799e8e2b1527abfc84d33bc44aeaf5">VmaDefragmentationPassMoveInfo</a></td></tr>
 <tr class="memdesc:gad6799e8e2b1527abfc84d33bc44aeaf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters for incremental defragmentation steps.  <br /></td></tr>
-<tr class="memitem:gad94034192259c2e34a4d1c5e27810403" id="r_gad94034192259c2e34a4d1c5e27810403"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDefragmentationStats&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gad94034192259c2e34a4d1c5e27810403">VmaDefragmentationStats</a></td></tr>
+<tr class="memitem:gad94034192259c2e34a4d1c5e27810403" id="r_gad94034192259c2e34a4d1c5e27810403"><td class="memItemLeft">typedef struct VmaDefragmentationStats&#160;</td><td class="memItemRight"><a class="el" href="#gad94034192259c2e34a4d1c5e27810403">VmaDefragmentationStats</a></td></tr>
 <tr class="memdesc:gad94034192259c2e34a4d1c5e27810403"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics returned for defragmentation process in function <a class="el" href="#ga59f01ca3d53d50b7cca9b442b77a3e87" title="Ends defragmentation process.">vmaEndDefragmentation()</a>.  <br /></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
 Enumerations</h2></td></tr>
-<tr class="memitem:gaa5846affa1e9da3800e3e78fae2305cc" id="r_gaa5846affa1e9da3800e3e78fae2305cc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a> { <br />
+<tr class="memitem:gaa5846affa1e9da3800e3e78fae2305cc" id="r_gaa5846affa1e9da3800e3e78fae2305cc"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="#gaa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a> { <br />
 &#160;&#160;<a class="el" href="#ggaa5846affa1e9da3800e3e78fae2305ccaf50d27e34e0925cf3a63db8c839121dd">VMA_MEMORY_USAGE_UNKNOWN</a> = 0
 , <a class="el" href="#ggaa5846affa1e9da3800e3e78fae2305ccac6b5dc1432d88647aa4cd456246eadf7">VMA_MEMORY_USAGE_GPU_ONLY</a> = 1
 , <a class="el" href="#ggaa5846affa1e9da3800e3e78fae2305cca40bdf4cddeffeb12f43d45ca1286e0a5">VMA_MEMORY_USAGE_CPU_ONLY</a> = 2
@@ -161,7 +161,7 @@
 <br />
  }</td></tr>
 <tr class="memdesc:gaa5846affa1e9da3800e3e78fae2305cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intended usage of the allocated memory.  <a href="#gaa5846affa1e9da3800e3e78fae2305cc">More...</a><br /></td></tr>
-<tr class="memitem:gad9889c10c798b040d59c92f257cae597" id="r_gad9889c10c798b040d59c92f257cae597"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gad9889c10c798b040d59c92f257cae597">VmaAllocationCreateFlagBits</a> { <br />
+<tr class="memitem:gad9889c10c798b040d59c92f257cae597" id="r_gad9889c10c798b040d59c92f257cae597"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="#gad9889c10c798b040d59c92f257cae597">VmaAllocationCreateFlagBits</a> { <br />
 &#160;&#160;<a class="el" href="#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a> = 0x00000001
 , <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a89759603401014eb325eb22a3839f2ff">VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT</a> = 0x00000002
 , <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f">VMA_ALLOCATION_CREATE_MAPPED_BIT</a> = 0x00000004
@@ -187,13 +187,13 @@
 <br />
  }</td></tr>
 <tr class="memdesc:gad9889c10c798b040d59c92f257cae597"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_allocation_create_info.html#add09658ac14fe290ace25470ddd6d41b" title="Use VmaAllocationCreateFlagBits enum.">VmaAllocationCreateInfo::flags</a>.  <a href="#gad9889c10c798b040d59c92f257cae597">More...</a><br /></td></tr>
-<tr class="memitem:ga9a7c45f9c863695d98c83fa5ac940fe7" id="r_ga9a7c45f9c863695d98c83fa5ac940fe7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9a7c45f9c863695d98c83fa5ac940fe7">VmaPoolCreateFlagBits</a> { <a class="el" href="#gga9a7c45f9c863695d98c83fa5ac940fe7a9f1a499508a8edb4e8ba40aa0290a3d2">VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT</a> = 0x00000002
+<tr class="memitem:ga9a7c45f9c863695d98c83fa5ac940fe7" id="r_ga9a7c45f9c863695d98c83fa5ac940fe7"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="#ga9a7c45f9c863695d98c83fa5ac940fe7">VmaPoolCreateFlagBits</a> { <a class="el" href="#gga9a7c45f9c863695d98c83fa5ac940fe7a9f1a499508a8edb4e8ba40aa0290a3d2">VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT</a> = 0x00000002
 , <a class="el" href="#gga9a7c45f9c863695d98c83fa5ac940fe7a13c8a444197c67866be9cb05599fc726">VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT</a> = 0x00000004
 , <a class="el" href="#gga9a7c45f9c863695d98c83fa5ac940fe7af4d270f8f42517a0f70037ceb6ac1d9c">VMA_POOL_CREATE_ALGORITHM_MASK</a>
 , <a class="el" href="#gga9a7c45f9c863695d98c83fa5ac940fe7a1c7312bea9ea246846b9054fd6bd6aec">VMA_POOL_CREATE_FLAG_BITS_MAX_ENUM</a> = 0x7FFFFFFF
  }</td></tr>
 <tr class="memdesc:ga9a7c45f9c863695d98c83fa5ac940fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_pool_create_info.html#a8405139f63d078340ae74513a59f5446" title="Use combination of VmaPoolCreateFlagBits.">VmaPoolCreateInfo::flags</a>.  <a href="#ga9a7c45f9c863695d98c83fa5ac940fe7">More...</a><br /></td></tr>
-<tr class="memitem:ga6552a65b71d16f378c6994b3ceaef50c" id="r_ga6552a65b71d16f378c6994b3ceaef50c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga6552a65b71d16f378c6994b3ceaef50c">VmaDefragmentationFlagBits</a> { <br />
+<tr class="memitem:ga6552a65b71d16f378c6994b3ceaef50c" id="r_ga6552a65b71d16f378c6994b3ceaef50c"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="#ga6552a65b71d16f378c6994b3ceaef50c">VmaDefragmentationFlagBits</a> { <br />
 &#160;&#160;<a class="el" href="#gga6552a65b71d16f378c6994b3ceaef50ca2e6469bcf5a094776ceb5d118263f04b">VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FAST_BIT</a> = 0x1
 , <a class="el" href="#gga6552a65b71d16f378c6994b3ceaef50caec35a4138111605a6ff32ca61aa871b6">VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT</a> = 0x2
 , <a class="el" href="#gga6552a65b71d16f378c6994b3ceaef50cafa162eac5be800bcdd4011427a71156d">VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FULL_BIT</a> = 0x4
@@ -204,7 +204,7 @@
 <br />
  }</td></tr>
 <tr class="memdesc:ga6552a65b71d16f378c6994b3ceaef50c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_defragmentation_info.html#a3e23080c978ecf3abb3180f5b2069da7" title="Use combination of VmaDefragmentationFlagBits.">VmaDefragmentationInfo::flags</a>.  <a href="#ga6552a65b71d16f378c6994b3ceaef50c">More...</a><br /></td></tr>
-<tr class="memitem:gada9e3861caf96f08894b0bcc160ec257" id="r_gada9e3861caf96f08894b0bcc160ec257"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gada9e3861caf96f08894b0bcc160ec257">VmaDefragmentationMoveOperation</a> { <a class="el" href="#ggada9e3861caf96f08894b0bcc160ec257ad4a06ac46c4cb1c67b0ebc1edfab9f18">VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY</a> = 0
+<tr class="memitem:gada9e3861caf96f08894b0bcc160ec257" id="r_gada9e3861caf96f08894b0bcc160ec257"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="#gada9e3861caf96f08894b0bcc160ec257">VmaDefragmentationMoveOperation</a> { <a class="el" href="#ggada9e3861caf96f08894b0bcc160ec257ad4a06ac46c4cb1c67b0ebc1edfab9f18">VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY</a> = 0
 , <a class="el" href="#ggada9e3861caf96f08894b0bcc160ec257ad25bc6f816b226b4fd5170e845f218d2">VMA_DEFRAGMENTATION_MOVE_OPERATION_IGNORE</a> = 1
 , <a class="el" href="#ggada9e3861caf96f08894b0bcc160ec257a9786f8492a9be2c03bd26395e352ab85">VMA_DEFRAGMENTATION_MOVE_OPERATION_DESTROY</a> = 2
  }</td></tr>
@@ -212,110 +212,110 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
 Functions</h2></td></tr>
-<tr class="memitem:gaef15a94b58fbcb0fe706d5720e84a74a" id="r_gaef15a94b58fbcb0fe706d5720e84a74a"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaef15a94b58fbcb0fe706d5720e84a74a">vmaFindMemoryTypeIndex</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeBits, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
+<tr class="memitem:gaef15a94b58fbcb0fe706d5720e84a74a" id="r_gaef15a94b58fbcb0fe706d5720e84a74a"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gaef15a94b58fbcb0fe706d5720e84a74a">vmaFindMemoryTypeIndex</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeBits, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
 <tr class="memdesc:gaef15a94b58fbcb0fe706d5720e84a74a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helps to find <span class="tt">memoryTypeIndex</span>, given <span class="tt">memoryTypeBits</span> and <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a>.  <br /></td></tr>
-<tr class="memitem:gae790ab9ffaf7667fb8f62523e6897888" id="r_gae790ab9ffaf7667fb8f62523e6897888"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gae790ab9ffaf7667fb8f62523e6897888">vmaFindMemoryTypeIndexForBufferInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
+<tr class="memitem:gae790ab9ffaf7667fb8f62523e6897888" id="r_gae790ab9ffaf7667fb8f62523e6897888"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gae790ab9ffaf7667fb8f62523e6897888">vmaFindMemoryTypeIndexForBufferInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
 <tr class="memdesc:gae790ab9ffaf7667fb8f62523e6897888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helps to find <span class="tt">memoryTypeIndex</span>, given <span class="tt">VkBufferCreateInfo</span> and <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a>.  <br /></td></tr>
-<tr class="memitem:ga088da83d8eaf3ce9056d9ea0b981d472" id="r_ga088da83d8eaf3ce9056d9ea0b981d472"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga088da83d8eaf3ce9056d9ea0b981d472">vmaFindMemoryTypeIndexForImageInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
+<tr class="memitem:ga088da83d8eaf3ce9056d9ea0b981d472" id="r_ga088da83d8eaf3ce9056d9ea0b981d472"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga088da83d8eaf3ce9056d9ea0b981d472">vmaFindMemoryTypeIndexForImageInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
 <tr class="memdesc:ga088da83d8eaf3ce9056d9ea0b981d472"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helps to find <span class="tt">memoryTypeIndex</span>, given <span class="tt">VkImageCreateInfo</span> and <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a>.  <br /></td></tr>
-<tr class="memitem:ga5c8770ded7c59c8caac6de0c2cb00b50" id="r_ga5c8770ded7c59c8caac6de0c2cb00b50"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga5c8770ded7c59c8caac6de0c2cb00b50">vmaCreatePool</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const <a class="el" href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_pool.html">VmaPool</a> *pPool)</td></tr>
+<tr class="memitem:ga5c8770ded7c59c8caac6de0c2cb00b50" id="r_ga5c8770ded7c59c8caac6de0c2cb00b50"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga5c8770ded7c59c8caac6de0c2cb00b50">vmaCreatePool</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const <a class="el" href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_pool.html">VmaPool</a> *pPool)</td></tr>
 <tr class="memdesc:ga5c8770ded7c59c8caac6de0c2cb00b50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates Vulkan device memory and creates <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object.  <br /></td></tr>
-<tr class="memitem:ga5485779c8f1948238fc4e92232fa65e1" id="r_ga5485779c8f1948238fc4e92232fa65e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga5485779c8f1948238fc4e92232fa65e1">vmaDestroyPool</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool)</td></tr>
+<tr class="memitem:ga5485779c8f1948238fc4e92232fa65e1" id="r_ga5485779c8f1948238fc4e92232fa65e1"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga5485779c8f1948238fc4e92232fa65e1">vmaDestroyPool</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool)</td></tr>
 <tr class="memdesc:ga5485779c8f1948238fc4e92232fa65e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object and frees Vulkan device memory.  <br /></td></tr>
-<tr class="memitem:gad535935619c7a549bf837e1bb0068f89" id="r_gad535935619c7a549bf837e1bb0068f89"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gad535935619c7a549bf837e1bb0068f89">vmaCheckPoolCorruption</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool)</td></tr>
+<tr class="memitem:gad535935619c7a549bf837e1bb0068f89" id="r_gad535935619c7a549bf837e1bb0068f89"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gad535935619c7a549bf837e1bb0068f89">vmaCheckPoolCorruption</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool)</td></tr>
 <tr class="memdesc:gad535935619c7a549bf837e1bb0068f89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks magic number in margins around all allocations in given memory pool in search for corruptions.  <br /></td></tr>
-<tr class="memitem:gaf09b4e4eafdbee812e8d73ddf960f030" id="r_gaf09b4e4eafdbee812e8d73ddf960f030"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf09b4e4eafdbee812e8d73ddf960f030">vmaGetPoolName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, const char **ppName)</td></tr>
+<tr class="memitem:gaf09b4e4eafdbee812e8d73ddf960f030" id="r_gaf09b4e4eafdbee812e8d73ddf960f030"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gaf09b4e4eafdbee812e8d73ddf960f030">vmaGetPoolName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, const char **ppName)</td></tr>
 <tr class="memdesc:gaf09b4e4eafdbee812e8d73ddf960f030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves name of a custom pool.  <br /></td></tr>
-<tr class="memitem:gadbae3a0b4ab078024462fc85c37f3b58" id="r_gadbae3a0b4ab078024462fc85c37f3b58"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gadbae3a0b4ab078024462fc85c37f3b58">vmaSetPoolName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, const char *pName)</td></tr>
+<tr class="memitem:gadbae3a0b4ab078024462fc85c37f3b58" id="r_gadbae3a0b4ab078024462fc85c37f3b58"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gadbae3a0b4ab078024462fc85c37f3b58">vmaSetPoolName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, const char *pName)</td></tr>
 <tr class="memdesc:gadbae3a0b4ab078024462fc85c37f3b58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets name of a custom pool.  <br /></td></tr>
-<tr class="memitem:gabf28077dbf82d0908b8acbe8ee8dd9b8" id="r_gabf28077dbf82d0908b8acbe8ee8dd9b8"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gabf28077dbf82d0908b8acbe8ee8dd9b8">vmaAllocateMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:gabf28077dbf82d0908b8acbe8ee8dd9b8" id="r_gabf28077dbf82d0908b8acbe8ee8dd9b8"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gabf28077dbf82d0908b8acbe8ee8dd9b8">vmaAllocateMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:gabf28077dbf82d0908b8acbe8ee8dd9b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">General purpose memory allocation.  <br /></td></tr>
-<tr class="memitem:ga9a0b91c157adec03dae1e6ea78d33625" id="r_ga9a0b91c157adec03dae1e6ea78d33625"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9a0b91c157adec03dae1e6ea78d33625">vmaAllocateDedicatedMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga9a0b91c157adec03dae1e6ea78d33625" id="r_ga9a0b91c157adec03dae1e6ea78d33625"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga9a0b91c157adec03dae1e6ea78d33625">vmaAllocateDedicatedMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga9a0b91c157adec03dae1e6ea78d33625"><td class="mdescLeft">&#160;</td><td class="mdescRight">General purpose allocation of a dedicated memory.  <br /></td></tr>
-<tr class="memitem:gad37e82e492b3de38fc3f4cffd9ad0ae1" id="r_gad37e82e492b3de38fc3f4cffd9ad0ae1"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gad37e82e492b3de38fc3f4cffd9ad0ae1">vmaAllocateMemoryPages</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, size_t allocationCount, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocations, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:gad37e82e492b3de38fc3f4cffd9ad0ae1" id="r_gad37e82e492b3de38fc3f4cffd9ad0ae1"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gad37e82e492b3de38fc3f4cffd9ad0ae1">vmaAllocateMemoryPages</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, size_t allocationCount, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocations, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:gad37e82e492b3de38fc3f4cffd9ad0ae1"><td class="mdescLeft">&#160;</td><td class="mdescRight">General purpose memory allocation for multiple allocation objects at once.  <br /></td></tr>
-<tr class="memitem:ga7fdf64415b6c3d83c454f28d2c53df7b" id="r_ga7fdf64415b6c3d83c454f28d2c53df7b"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga7fdf64415b6c3d83c454f28d2c53df7b">vmaAllocateMemoryForBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkBuffer buffer, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga7fdf64415b6c3d83c454f28d2c53df7b" id="r_ga7fdf64415b6c3d83c454f28d2c53df7b"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga7fdf64415b6c3d83c454f28d2c53df7b">vmaAllocateMemoryForBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkBuffer buffer, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga7fdf64415b6c3d83c454f28d2c53df7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates memory suitable for given <span class="tt">VkBuffer</span>.  <br /></td></tr>
-<tr class="memitem:ga0faa3f9e5fb233d29d1e00390650febb" id="r_ga0faa3f9e5fb233d29d1e00390650febb"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0faa3f9e5fb233d29d1e00390650febb">vmaAllocateMemoryForImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkImage image, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga0faa3f9e5fb233d29d1e00390650febb" id="r_ga0faa3f9e5fb233d29d1e00390650febb"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga0faa3f9e5fb233d29d1e00390650febb">vmaAllocateMemoryForImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkImage image, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga0faa3f9e5fb233d29d1e00390650febb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates memory suitable for given <span class="tt">VkImage</span>.  <br /></td></tr>
-<tr class="memitem:ga11f0fbc034fa81a4efedd73d61ce7568" id="r_ga11f0fbc034fa81a4efedd73d61ce7568"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga11f0fbc034fa81a4efedd73d61ce7568">vmaFreeMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
+<tr class="memitem:ga11f0fbc034fa81a4efedd73d61ce7568" id="r_ga11f0fbc034fa81a4efedd73d61ce7568"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga11f0fbc034fa81a4efedd73d61ce7568">vmaFreeMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
 <tr class="memdesc:ga11f0fbc034fa81a4efedd73d61ce7568"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees memory previously allocated using <a class="el" href="#gabf28077dbf82d0908b8acbe8ee8dd9b8" title="General purpose memory allocation.">vmaAllocateMemory()</a>, <a class="el" href="#ga7fdf64415b6c3d83c454f28d2c53df7b" title="Allocates memory suitable for given VkBuffer.">vmaAllocateMemoryForBuffer()</a>, or <a class="el" href="#ga0faa3f9e5fb233d29d1e00390650febb" title="Allocates memory suitable for given VkImage.">vmaAllocateMemoryForImage()</a>.  <br /></td></tr>
-<tr class="memitem:ga834b1e4aef395c0a1d56a28e69a4a17e" id="r_ga834b1e4aef395c0a1d56a28e69a4a17e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga834b1e4aef395c0a1d56a28e69a4a17e">vmaFreeMemoryPages</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, size_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocations)</td></tr>
+<tr class="memitem:ga834b1e4aef395c0a1d56a28e69a4a17e" id="r_ga834b1e4aef395c0a1d56a28e69a4a17e"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga834b1e4aef395c0a1d56a28e69a4a17e">vmaFreeMemoryPages</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, size_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocations)</td></tr>
 <tr class="memdesc:ga834b1e4aef395c0a1d56a28e69a4a17e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees memory and destroys multiple allocations.  <br /></td></tr>
-<tr class="memitem:ga86dd08aba8633bfa4ad0df2e76481d8b" id="r_ga86dd08aba8633bfa4ad0df2e76481d8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga86dd08aba8633bfa4ad0df2e76481d8b">vmaGetAllocationInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga86dd08aba8633bfa4ad0df2e76481d8b" id="r_ga86dd08aba8633bfa4ad0df2e76481d8b"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga86dd08aba8633bfa4ad0df2e76481d8b">vmaGetAllocationInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga86dd08aba8633bfa4ad0df2e76481d8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current information about specified allocation.  <br /></td></tr>
-<tr class="memitem:ga1405cf3eae2fd1305d645879173031a0" id="r_ga1405cf3eae2fd1305d645879173031a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1405cf3eae2fd1305d645879173031a0">vmaGetAllocationInfo2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, <a class="el" href="struct_vma_allocation_info2.html">VmaAllocationInfo2</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga1405cf3eae2fd1305d645879173031a0" id="r_ga1405cf3eae2fd1305d645879173031a0"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga1405cf3eae2fd1305d645879173031a0">vmaGetAllocationInfo2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, <a class="el" href="struct_vma_allocation_info2.html">VmaAllocationInfo2</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga1405cf3eae2fd1305d645879173031a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns extended information about specified allocation.  <br /></td></tr>
-<tr class="memitem:gaf9147d31ffc11d62fc187bde283ed14f" id="r_gaf9147d31ffc11d62fc187bde283ed14f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf9147d31ffc11d62fc187bde283ed14f">vmaSetAllocationUserData</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, void *pUserData)</td></tr>
+<tr class="memitem:gaf9147d31ffc11d62fc187bde283ed14f" id="r_gaf9147d31ffc11d62fc187bde283ed14f"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gaf9147d31ffc11d62fc187bde283ed14f">vmaSetAllocationUserData</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, void *pUserData)</td></tr>
 <tr class="memdesc:gaf9147d31ffc11d62fc187bde283ed14f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets pUserData in given allocation to new value.  <br /></td></tr>
-<tr class="memitem:gabe02cbb0cd913b3f125958179f2020fc" id="r_gabe02cbb0cd913b3f125958179f2020fc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gabe02cbb0cd913b3f125958179f2020fc">vmaSetAllocationName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const char *pName)</td></tr>
+<tr class="memitem:gabe02cbb0cd913b3f125958179f2020fc" id="r_gabe02cbb0cd913b3f125958179f2020fc"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gabe02cbb0cd913b3f125958179f2020fc">vmaSetAllocationName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const char *pName)</td></tr>
 <tr class="memdesc:gabe02cbb0cd913b3f125958179f2020fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets pName in given allocation to new value.  <br /></td></tr>
-<tr class="memitem:ga571e87dd38e552249b56b1b0b982fad1" id="r_ga571e87dd38e552249b56b1b0b982fad1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga571e87dd38e552249b56b1b0b982fad1">vmaGetAllocationMemoryProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkMemoryPropertyFlags *pFlags)</td></tr>
+<tr class="memitem:ga571e87dd38e552249b56b1b0b982fad1" id="r_ga571e87dd38e552249b56b1b0b982fad1"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga571e87dd38e552249b56b1b0b982fad1">vmaGetAllocationMemoryProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkMemoryPropertyFlags *pFlags)</td></tr>
 <tr class="memdesc:ga571e87dd38e552249b56b1b0b982fad1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given an allocation, returns Property Flags of its memory type.  <br /></td></tr>
-<tr class="memitem:ga8d327b7458d8cf426b84b5efba9bb9bf" id="r_ga8d327b7458d8cf426b84b5efba9bb9bf"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga8d327b7458d8cf426b84b5efba9bb9bf">vmaGetMemoryWin32Handle</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, HANDLE hTargetProcess, HANDLE *pHandle)</td></tr>
+<tr class="memitem:ga8d327b7458d8cf426b84b5efba9bb9bf" id="r_ga8d327b7458d8cf426b84b5efba9bb9bf"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga8d327b7458d8cf426b84b5efba9bb9bf">vmaGetMemoryWin32Handle</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, HANDLE hTargetProcess, HANDLE *pHandle)</td></tr>
 <tr class="memdesc:ga8d327b7458d8cf426b84b5efba9bb9bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given an allocation, returns Win32 handle that may be imported by other processes or APIs.  <br /></td></tr>
-<tr class="memitem:ga1a8d7aba3bf5a4de66c801b9988afa58" id="r_ga1a8d7aba3bf5a4de66c801b9988afa58"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1a8d7aba3bf5a4de66c801b9988afa58">vmaGetMemoryWin32Handle2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE hTargetProcess, HANDLE *pHandle)</td></tr>
+<tr class="memitem:ga1a8d7aba3bf5a4de66c801b9988afa58" id="r_ga1a8d7aba3bf5a4de66c801b9988afa58"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga1a8d7aba3bf5a4de66c801b9988afa58">vmaGetMemoryWin32Handle2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE hTargetProcess, HANDLE *pHandle)</td></tr>
 <tr class="memdesc:ga1a8d7aba3bf5a4de66c801b9988afa58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given an allocation, returns Win32 handle that may be imported by other processes or APIs.  <br /></td></tr>
-<tr class="memitem:gad5bd1243512d099706de88168992f069" id="r_gad5bd1243512d099706de88168992f069"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gad5bd1243512d099706de88168992f069">vmaMapMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, void **ppData)</td></tr>
+<tr class="memitem:gad5bd1243512d099706de88168992f069" id="r_gad5bd1243512d099706de88168992f069"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gad5bd1243512d099706de88168992f069">vmaMapMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, void **ppData)</td></tr>
 <tr class="memdesc:gad5bd1243512d099706de88168992f069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps memory represented by given allocation and returns pointer to it.  <br /></td></tr>
-<tr class="memitem:ga9bc268595cb33f6ec4d519cfce81ff45" id="r_ga9bc268595cb33f6ec4d519cfce81ff45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9bc268595cb33f6ec4d519cfce81ff45">vmaUnmapMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
+<tr class="memitem:ga9bc268595cb33f6ec4d519cfce81ff45" id="r_ga9bc268595cb33f6ec4d519cfce81ff45"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga9bc268595cb33f6ec4d519cfce81ff45">vmaUnmapMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
 <tr class="memdesc:ga9bc268595cb33f6ec4d519cfce81ff45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmaps memory represented by given allocation, mapped previously using <a class="el" href="#gad5bd1243512d099706de88168992f069" title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a>.  <br /></td></tr>
-<tr class="memitem:ga30c37c1eec6025f397be41644f48490f" id="r_ga30c37c1eec6025f397be41644f48490f"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga30c37c1eec6025f397be41644f48490f">vmaFlushAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize offset, VkDeviceSize size)</td></tr>
+<tr class="memitem:ga30c37c1eec6025f397be41644f48490f" id="r_ga30c37c1eec6025f397be41644f48490f"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga30c37c1eec6025f397be41644f48490f">vmaFlushAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize offset, VkDeviceSize size)</td></tr>
 <tr class="memdesc:ga30c37c1eec6025f397be41644f48490f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes memory of given allocation.  <br /></td></tr>
-<tr class="memitem:gaaa8412919139ef413a4215ac6a290fae" id="r_gaaa8412919139ef413a4215ac6a290fae"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaaa8412919139ef413a4215ac6a290fae">vmaInvalidateAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize offset, VkDeviceSize size)</td></tr>
+<tr class="memitem:gaaa8412919139ef413a4215ac6a290fae" id="r_gaaa8412919139ef413a4215ac6a290fae"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gaaa8412919139ef413a4215ac6a290fae">vmaInvalidateAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize offset, VkDeviceSize size)</td></tr>
 <tr class="memdesc:gaaa8412919139ef413a4215ac6a290fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates memory of given allocation.  <br /></td></tr>
-<tr class="memitem:gac3dd00da721875ed99fa8a881922bdfc" id="r_gac3dd00da721875ed99fa8a881922bdfc"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac3dd00da721875ed99fa8a881922bdfc">vmaFlushAllocations</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)</td></tr>
+<tr class="memitem:gac3dd00da721875ed99fa8a881922bdfc" id="r_gac3dd00da721875ed99fa8a881922bdfc"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gac3dd00da721875ed99fa8a881922bdfc">vmaFlushAllocations</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)</td></tr>
 <tr class="memdesc:gac3dd00da721875ed99fa8a881922bdfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes memory of given set of allocations.  <br /></td></tr>
-<tr class="memitem:gab25b558d75f7378ec944a1522fdcc3c5" id="r_gab25b558d75f7378ec944a1522fdcc3c5"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gab25b558d75f7378ec944a1522fdcc3c5">vmaInvalidateAllocations</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)</td></tr>
+<tr class="memitem:gab25b558d75f7378ec944a1522fdcc3c5" id="r_gab25b558d75f7378ec944a1522fdcc3c5"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gab25b558d75f7378ec944a1522fdcc3c5">vmaInvalidateAllocations</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)</td></tr>
 <tr class="memdesc:gab25b558d75f7378ec944a1522fdcc3c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates memory of given set of allocations.  <br /></td></tr>
-<tr class="memitem:ga11731ec58a3a43a22bb925e0780ef405" id="r_ga11731ec58a3a43a22bb925e0780ef405"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga11731ec58a3a43a22bb925e0780ef405">vmaCopyMemoryToAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const void *pSrcHostPointer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> dstAllocation, VkDeviceSize dstAllocationLocalOffset, VkDeviceSize size)</td></tr>
+<tr class="memitem:ga11731ec58a3a43a22bb925e0780ef405" id="r_ga11731ec58a3a43a22bb925e0780ef405"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga11731ec58a3a43a22bb925e0780ef405">vmaCopyMemoryToAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const void *pSrcHostPointer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> dstAllocation, VkDeviceSize dstAllocationLocalOffset, VkDeviceSize size)</td></tr>
 <tr class="memdesc:ga11731ec58a3a43a22bb925e0780ef405"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps the allocation temporarily if needed, copies data from specified host pointer to it, and flushes the memory from the host caches if needed.  <br /></td></tr>
-<tr class="memitem:gaac883dd38863944335071213b9ae8477" id="r_gaac883dd38863944335071213b9ae8477"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaac883dd38863944335071213b9ae8477">vmaCopyAllocationToMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> srcAllocation, VkDeviceSize srcAllocationLocalOffset, void *pDstHostPointer, VkDeviceSize size)</td></tr>
+<tr class="memitem:gaac883dd38863944335071213b9ae8477" id="r_gaac883dd38863944335071213b9ae8477"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gaac883dd38863944335071213b9ae8477">vmaCopyAllocationToMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> srcAllocation, VkDeviceSize srcAllocationLocalOffset, void *pDstHostPointer, VkDeviceSize size)</td></tr>
 <tr class="memdesc:gaac883dd38863944335071213b9ae8477"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates memory in the host caches if needed, maps the allocation temporarily if needed, and copies data from it to a specified host pointer.  <br /></td></tr>
-<tr class="memitem:ga49329a7f030dafcf82f7b73334c22e98" id="r_ga49329a7f030dafcf82f7b73334c22e98"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga49329a7f030dafcf82f7b73334c22e98">vmaCheckCorruption</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeBits)</td></tr>
+<tr class="memitem:ga49329a7f030dafcf82f7b73334c22e98" id="r_ga49329a7f030dafcf82f7b73334c22e98"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga49329a7f030dafcf82f7b73334c22e98">vmaCheckCorruption</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeBits)</td></tr>
 <tr class="memdesc:ga49329a7f030dafcf82f7b73334c22e98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks magic number in margins around all allocations in given memory types (in both default and custom pools) in search for corruptions.  <br /></td></tr>
-<tr class="memitem:gac3335566858b45541fa9c0d7a6bbb57e" id="r_gac3335566858b45541fa9c0d7a6bbb57e"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac3335566858b45541fa9c0d7a6bbb57e">vmaBeginDefragmentation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const <a class="el" href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a> *pInfo, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> *pContext)</td></tr>
+<tr class="memitem:gac3335566858b45541fa9c0d7a6bbb57e" id="r_gac3335566858b45541fa9c0d7a6bbb57e"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gac3335566858b45541fa9c0d7a6bbb57e">vmaBeginDefragmentation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const <a class="el" href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a> *pInfo, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> *pContext)</td></tr>
 <tr class="memdesc:gac3335566858b45541fa9c0d7a6bbb57e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begins defragmentation process.  <br /></td></tr>
-<tr class="memitem:ga59f01ca3d53d50b7cca9b442b77a3e87" id="r_ga59f01ca3d53d50b7cca9b442b77a3e87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga59f01ca3d53d50b7cca9b442b77a3e87">vmaEndDefragmentation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_stats.html">VmaDefragmentationStats</a> *pStats)</td></tr>
+<tr class="memitem:ga59f01ca3d53d50b7cca9b442b77a3e87" id="r_ga59f01ca3d53d50b7cca9b442b77a3e87"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga59f01ca3d53d50b7cca9b442b77a3e87">vmaEndDefragmentation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_stats.html">VmaDefragmentationStats</a> *pStats)</td></tr>
 <tr class="memdesc:ga59f01ca3d53d50b7cca9b442b77a3e87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ends defragmentation process.  <br /></td></tr>
-<tr class="memitem:ga980d7da2ce3b1fd5c8b8476bc362cc00" id="r_ga980d7da2ce3b1fd5c8b8476bc362cc00"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga980d7da2ce3b1fd5c8b8476bc362cc00">vmaBeginDefragmentationPass</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a> *pPassInfo)</td></tr>
+<tr class="memitem:ga980d7da2ce3b1fd5c8b8476bc362cc00" id="r_ga980d7da2ce3b1fd5c8b8476bc362cc00"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga980d7da2ce3b1fd5c8b8476bc362cc00">vmaBeginDefragmentationPass</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a> *pPassInfo)</td></tr>
 <tr class="memdesc:ga980d7da2ce3b1fd5c8b8476bc362cc00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts single defragmentation pass.  <br /></td></tr>
-<tr class="memitem:gaded05a445742a00718ee766144c5c226" id="r_gaded05a445742a00718ee766144c5c226"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaded05a445742a00718ee766144c5c226">vmaEndDefragmentationPass</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a> *pPassInfo)</td></tr>
+<tr class="memitem:gaded05a445742a00718ee766144c5c226" id="r_gaded05a445742a00718ee766144c5c226"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gaded05a445742a00718ee766144c5c226">vmaEndDefragmentationPass</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a> *pPassInfo)</td></tr>
 <tr class="memdesc:gaded05a445742a00718ee766144c5c226"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ends single defragmentation pass.  <br /></td></tr>
-<tr class="memitem:ga6b0929b914b60cf2d45cac4bf3547470" id="r_ga6b0929b914b60cf2d45cac4bf3547470"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga6b0929b914b60cf2d45cac4bf3547470">vmaBindBufferMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkBuffer buffer)</td></tr>
+<tr class="memitem:ga6b0929b914b60cf2d45cac4bf3547470" id="r_ga6b0929b914b60cf2d45cac4bf3547470"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga6b0929b914b60cf2d45cac4bf3547470">vmaBindBufferMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkBuffer buffer)</td></tr>
 <tr class="memdesc:ga6b0929b914b60cf2d45cac4bf3547470"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds buffer to allocation.  <br /></td></tr>
-<tr class="memitem:ga861f4f27189a7d11ab9d9eedc825cb6b" id="r_ga861f4f27189a7d11ab9d9eedc825cb6b"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga861f4f27189a7d11ab9d9eedc825cb6b">vmaBindBufferMemory2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, VkBuffer buffer, const void *(VkBindBufferMemoryInfoKHR) pNext)</td></tr>
+<tr class="memitem:ga861f4f27189a7d11ab9d9eedc825cb6b" id="r_ga861f4f27189a7d11ab9d9eedc825cb6b"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga861f4f27189a7d11ab9d9eedc825cb6b">vmaBindBufferMemory2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, VkBuffer buffer, const void *(VkBindBufferMemoryInfoKHR) pNext)</td></tr>
 <tr class="memdesc:ga861f4f27189a7d11ab9d9eedc825cb6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds buffer to allocation with additional parameters.  <br /></td></tr>
-<tr class="memitem:ga3d3ca45799923aa5d138e9e5f9eb2da5" id="r_ga3d3ca45799923aa5d138e9e5f9eb2da5"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga3d3ca45799923aa5d138e9e5f9eb2da5">vmaBindImageMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkImage image)</td></tr>
+<tr class="memitem:ga3d3ca45799923aa5d138e9e5f9eb2da5" id="r_ga3d3ca45799923aa5d138e9e5f9eb2da5"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga3d3ca45799923aa5d138e9e5f9eb2da5">vmaBindImageMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkImage image)</td></tr>
 <tr class="memdesc:ga3d3ca45799923aa5d138e9e5f9eb2da5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds image to allocation.  <br /></td></tr>
-<tr class="memitem:ga5f3502dd7d38b53fb1533ea3921d038d" id="r_ga5f3502dd7d38b53fb1533ea3921d038d"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga5f3502dd7d38b53fb1533ea3921d038d">vmaBindImageMemory2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, VkImage image, const void *(VkBindImageMemoryInfoKHR) pNext)</td></tr>
+<tr class="memitem:ga5f3502dd7d38b53fb1533ea3921d038d" id="r_ga5f3502dd7d38b53fb1533ea3921d038d"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga5f3502dd7d38b53fb1533ea3921d038d">vmaBindImageMemory2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, VkImage image, const void *(VkBindImageMemoryInfoKHR) pNext)</td></tr>
 <tr class="memdesc:ga5f3502dd7d38b53fb1533ea3921d038d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds image to allocation with additional parameters.  <br /></td></tr>
-<tr class="memitem:gac72ee55598617e8eecca384e746bab51" id="r_gac72ee55598617e8eecca384e746bab51"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac72ee55598617e8eecca384e746bab51">vmaCreateBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:gac72ee55598617e8eecca384e746bab51" id="r_gac72ee55598617e8eecca384e746bab51"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gac72ee55598617e8eecca384e746bab51">vmaCreateBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:gac72ee55598617e8eecca384e746bab51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <span class="tt">VkBuffer</span>, allocates and binds memory for it.  <br /></td></tr>
-<tr class="memitem:gaa06a690013a0d01e60894ac378083834" id="r_gaa06a690013a0d01e60894ac378083834"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaa06a690013a0d01e60894ac378083834">vmaCreateBufferWithAlignment</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkDeviceSize minAlignment, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:gaa06a690013a0d01e60894ac378083834" id="r_gaa06a690013a0d01e60894ac378083834"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gaa06a690013a0d01e60894ac378083834">vmaCreateBufferWithAlignment</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkDeviceSize minAlignment, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:gaa06a690013a0d01e60894ac378083834"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a buffer with additional minimum alignment.  <br /></td></tr>
-<tr class="memitem:gab313b89299877ca21c196027bed9e874" id="r_gab313b89299877ca21c196027bed9e874"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gab313b89299877ca21c196027bed9e874">vmaCreateDedicatedBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:gab313b89299877ca21c196027bed9e874" id="r_gab313b89299877ca21c196027bed9e874"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gab313b89299877ca21c196027bed9e874">vmaCreateDedicatedBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:gab313b89299877ca21c196027bed9e874"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a dedicated buffer while offering extra parameter <span class="tt">pMemoryAllocateNext</span>.  <br /></td></tr>
-<tr class="memitem:ga60d5d4803e3c82505a2bfddb929adb03" id="r_ga60d5d4803e3c82505a2bfddb929adb03"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga60d5d4803e3c82505a2bfddb929adb03">vmaCreateAliasingBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const VkBufferCreateInfo *pBufferCreateInfo, VkBuffer *pBuffer)</td></tr>
+<tr class="memitem:ga60d5d4803e3c82505a2bfddb929adb03" id="r_ga60d5d4803e3c82505a2bfddb929adb03"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga60d5d4803e3c82505a2bfddb929adb03">vmaCreateAliasingBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const VkBufferCreateInfo *pBufferCreateInfo, VkBuffer *pBuffer)</td></tr>
 <tr class="memdesc:ga60d5d4803e3c82505a2bfddb929adb03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <span class="tt">VkBuffer</span>, binds already created memory for it.  <br /></td></tr>
-<tr class="memitem:gaf0cf014344213e117bd9f9cf5f928122" id="r_gaf0cf014344213e117bd9f9cf5f928122"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf0cf014344213e117bd9f9cf5f928122">vmaCreateAliasingBuffer2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, const VkBufferCreateInfo *pBufferCreateInfo, VkBuffer *pBuffer)</td></tr>
+<tr class="memitem:gaf0cf014344213e117bd9f9cf5f928122" id="r_gaf0cf014344213e117bd9f9cf5f928122"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gaf0cf014344213e117bd9f9cf5f928122">vmaCreateAliasingBuffer2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, const VkBufferCreateInfo *pBufferCreateInfo, VkBuffer *pBuffer)</td></tr>
 <tr class="memdesc:gaf0cf014344213e117bd9f9cf5f928122"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <span class="tt">VkBuffer</span>, binds already created memory for it.  <br /></td></tr>
-<tr class="memitem:ga0d9f4e4ba5bf9aab1f1c746387753d77" id="r_ga0d9f4e4ba5bf9aab1f1c746387753d77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0d9f4e4ba5bf9aab1f1c746387753d77">vmaDestroyBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkBuffer buffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
+<tr class="memitem:ga0d9f4e4ba5bf9aab1f1c746387753d77" id="r_ga0d9f4e4ba5bf9aab1f1c746387753d77"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga0d9f4e4ba5bf9aab1f1c746387753d77">vmaDestroyBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkBuffer buffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
 <tr class="memdesc:ga0d9f4e4ba5bf9aab1f1c746387753d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys Vulkan buffer and frees allocated memory.  <br /></td></tr>
-<tr class="memitem:ga02a94f25679275851a53e82eacbcfc73" id="r_ga02a94f25679275851a53e82eacbcfc73"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga02a94f25679275851a53e82eacbcfc73">vmaCreateImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkImage *pImage, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga02a94f25679275851a53e82eacbcfc73" id="r_ga02a94f25679275851a53e82eacbcfc73"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga02a94f25679275851a53e82eacbcfc73">vmaCreateImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkImage *pImage, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga02a94f25679275851a53e82eacbcfc73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function similar to <a class="el" href="#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a> but for images.  <br /></td></tr>
-<tr class="memitem:ga07c66ffa000906a599d471047a7c0324" id="r_ga07c66ffa000906a599d471047a7c0324"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga07c66ffa000906a599d471047a7c0324">vmaCreateDedicatedImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, VkImage *pImage, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga07c66ffa000906a599d471047a7c0324" id="r_ga07c66ffa000906a599d471047a7c0324"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga07c66ffa000906a599d471047a7c0324">vmaCreateDedicatedImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, VkImage *pImage, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga07c66ffa000906a599d471047a7c0324"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function similar to <a class="el" href="#gab313b89299877ca21c196027bed9e874" title="Creates a dedicated buffer while offering extra parameter pMemoryAllocateNext.">vmaCreateDedicatedBuffer()</a> but for images.  <br /></td></tr>
-<tr class="memitem:gaebc4db1f94b53dba2338b4c0fd80d0dc" id="r_gaebc4db1f94b53dba2338b4c0fd80d0dc"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaebc4db1f94b53dba2338b4c0fd80d0dc">vmaCreateAliasingImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const VkImageCreateInfo *pImageCreateInfo, VkImage *pImage)</td></tr>
+<tr class="memitem:gaebc4db1f94b53dba2338b4c0fd80d0dc" id="r_gaebc4db1f94b53dba2338b4c0fd80d0dc"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gaebc4db1f94b53dba2338b4c0fd80d0dc">vmaCreateAliasingImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const VkImageCreateInfo *pImageCreateInfo, VkImage *pImage)</td></tr>
 <tr class="memdesc:gaebc4db1f94b53dba2338b4c0fd80d0dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function similar to <a class="el" href="#ga60d5d4803e3c82505a2bfddb929adb03" title="Creates a new VkBuffer, binds already created memory for it.">vmaCreateAliasingBuffer()</a> but for images.  <br /></td></tr>
-<tr class="memitem:ga69ac829f5bb0737449fa92c2d971f1bb" id="r_ga69ac829f5bb0737449fa92c2d971f1bb"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga69ac829f5bb0737449fa92c2d971f1bb">vmaCreateAliasingImage2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, const VkImageCreateInfo *pImageCreateInfo, VkImage *pImage)</td></tr>
+<tr class="memitem:ga69ac829f5bb0737449fa92c2d971f1bb" id="r_ga69ac829f5bb0737449fa92c2d971f1bb"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga69ac829f5bb0737449fa92c2d971f1bb">vmaCreateAliasingImage2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, const VkImageCreateInfo *pImageCreateInfo, VkImage *pImage)</td></tr>
 <tr class="memdesc:ga69ac829f5bb0737449fa92c2d971f1bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function similar to <a class="el" href="#gaf0cf014344213e117bd9f9cf5f928122" title="Creates a new VkBuffer, binds already created memory for it.">vmaCreateAliasingBuffer2()</a> but for images.  <br /></td></tr>
-<tr class="memitem:gae50d2cb3b4a3bfd4dd40987234e50e7e" id="r_gae50d2cb3b4a3bfd4dd40987234e50e7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gae50d2cb3b4a3bfd4dd40987234e50e7e">vmaDestroyImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkImage image, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
+<tr class="memitem:gae50d2cb3b4a3bfd4dd40987234e50e7e" id="r_gae50d2cb3b4a3bfd4dd40987234e50e7e"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gae50d2cb3b4a3bfd4dd40987234e50e7e">vmaDestroyImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkImage image, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
 <tr class="memdesc:gae50d2cb3b4a3bfd4dd40987234e50e7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys Vulkan image and frees allocated memory.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
-<p>API elements related to the allocation, deallocation, and management of Vulkan memory, buffers, images. Most basic ones being: <a class="el" href="#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>, <a class="el" href="#ga02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer() but for images.">vmaCreateImage()</a>. </p>
-<a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
+<div class="textblock"><p>API elements related to the allocation, deallocation, and management of Vulkan memory, buffers, images. Most basic ones being: <a class="el" href="#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>, <a class="el" href="#ga02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer() but for images.">vmaCreateImage()</a>. </p>
+</div><a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
 <a id="ga6f57b18d4241e80be444842df3094b30" name="ga6f57b18d4241e80be444842df3094b30"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ga6f57b18d4241e80be444842df3094b30">&#9670;&#160;</a></span>PFN_vmaCheckDefragmentationBreakFunction</h2>
 
@@ -618,7 +618,7 @@
 <p>Pointer to mapped memory will be returned through <a class="el" href="struct_vma_allocation_info.html#a5eeffbe2d2f30f53370ff14aefbadbe2" title="Pointer to the beginning of this allocation as mapped data.">VmaAllocationInfo::pMappedData</a>.</p>
 <p>It is valid to use this flag for allocation made from memory type that is not <span class="tt">HOST_VISIBLE</span>. This flag is then ignored and memory is not mapped. This is useful if you need an allocation that is efficient to use on GPU (<span class="tt">DEVICE_LOCAL</span>) and still want to map it directly if possible on platforms that support it (e.g. Intel GPU). </p>
 </td></tr>
-<tr><td class="fieldname"><a id="ggad9889c10c798b040d59c92f257cae597aa6f24f821cd6a7c5e4a443f7bf59c520" name="ggad9889c10c798b040d59c92f257cae597aa6f24f821cd6a7c5e4a443f7bf59c520"></a>VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated</a></b></dt><dd>Preserved for backward compatibility. Consider using <a class="el" href="#gabe02cbb0cd913b3f125958179f2020fc" title="Sets pName in given allocation to new value.">vmaSetAllocationName()</a> instead.</dd></dl>
+<tr><td class="fieldname"><a id="ggad9889c10c798b040d59c92f257cae597aa6f24f821cd6a7c5e4a443f7bf59c520" name="ggad9889c10c798b040d59c92f257cae597aa6f24f821cd6a7c5e4a443f7bf59c520"></a>VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated</a></b></dt><dd>Preserved for backward compatibility. Consider using <a class="el" href="#gabe02cbb0cd913b3f125958179f2020fc" title="Sets pName in given allocation to new value.">vmaSetAllocationName()</a> instead.</dd></dl>
 <p>Set this flag to treat <a class="el" href="struct_vma_allocation_create_info.html#a8259e85c272683434f4abb4ddddffe19" title="Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...">VmaAllocationCreateInfo::pUserData</a> as pointer to a null-terminated string. Instead of copying pointer value, a local copy of the string is made and stored in allocation's <span class="tt">pName</span>. The string is automatically freed together with the allocation. It is also used in <a class="el" href="group__group__stats.html#gaa4fee7eb5253377599ef4fd38c93c2a0" title="Builds and returns statistics as a null-terminated string in JSON format.">vmaBuildStatsString()</a>. </p>
 </td></tr>
 <tr><td class="fieldname"><a id="ggad9889c10c798b040d59c92f257cae597a42ba3a2d2c7117953210b7c3ef8da0df" name="ggad9889c10c798b040d59c92f257cae597a42ba3a2d2c7117953210b7c3ef8da0df"></a>VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT&#160;</td><td class="fielddoc"><p>Allocation will be created from upper stack in a double stack pool.</p>
@@ -635,7 +635,7 @@
 <tr><td class="fieldname"><a id="ggad9889c10c798b040d59c92f257cae597a9be224df3bfc1cfa06203aed689a30c5" name="ggad9889c10c798b040d59c92f257cae597a9be224df3bfc1cfa06203aed689a30c5"></a>VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT&#160;</td><td class="fielddoc"><p>Requests possibility to map the allocation (using <a class="el" href="#gad5bd1243512d099706de88168992f069" title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a> or <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f" title="Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.">VMA_ALLOCATION_CREATE_MAPPED_BIT</a>).</p>
 <ul>
 <li>If you use <a class="el" href="#ggaa5846affa1e9da3800e3e78fae2305cca27cde9026a84d34d525777baa41fce6e">VMA_MEMORY_USAGE_AUTO</a> or other <span class="tt">VMA_MEMORY_USAGE_AUTO*</span> value, you must use this flag to be able to map the allocation. Otherwise, mapping is incorrect.</li>
-<li>If you use other value of <a class="el" href="#gaa5846affa1e9da3800e3e78fae2305cc" title="Intended usage of the allocated memory.">VmaMemoryUsage</a>, this flag is ignored and mapping is always possible in memory types that are <span class="tt">HOST_VISIBLE</span>. This includes allocations created in <a class="el" href="custom_memory_pools.html">Custom memory pools</a>.</li>
+<li>If you use other value of <a class="el" href="#gaa5846affa1e9da3800e3e78fae2305cc" title="Intended usage of the allocated memory.">VmaMemoryUsage</a>, this flag is ignored and mapping is always possible in memory types that are <span class="tt">HOST_VISIBLE</span>. This includes allocations created in <a class="el" href="custom_memory_pools.html" title="Custom memory pools">Custom memory pools</a>.</li>
 </ul>
 <p>Declares that mapped memory will only be written sequentially, e.g. using <span class="tt">memcpy()</span> or a loop writing number-by-number, never read or accessed randomly, so a memory type can be selected that is uncached and write-combined.</p>
 <dl class="section warning"><dt>Warning</dt><dd>Violating this declaration may work correctly, but will likely be very slow. Watch out for implicit reads introduced by doing e.g. <span class="tt">pMappedData[i] += x;</span> Better prepare your data in a local variable and <span class="tt">memcpy()</span> it to the mapped pointer all at once. </dd></dl>
@@ -643,7 +643,7 @@
 <tr><td class="fieldname"><a id="ggad9889c10c798b040d59c92f257cae597add61238d98e20917b9a06c617763f492" name="ggad9889c10c798b040d59c92f257cae597add61238d98e20917b9a06c617763f492"></a>VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT&#160;</td><td class="fielddoc"><p>Requests possibility to map the allocation (using <a class="el" href="#gad5bd1243512d099706de88168992f069" title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a> or <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f" title="Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.">VMA_ALLOCATION_CREATE_MAPPED_BIT</a>).</p>
 <ul>
 <li>If you use <a class="el" href="#ggaa5846affa1e9da3800e3e78fae2305cca27cde9026a84d34d525777baa41fce6e">VMA_MEMORY_USAGE_AUTO</a> or other <span class="tt">VMA_MEMORY_USAGE_AUTO*</span> value, you must use this flag to be able to map the allocation. Otherwise, mapping is incorrect.</li>
-<li>If you use other value of <a class="el" href="#gaa5846affa1e9da3800e3e78fae2305cc" title="Intended usage of the allocated memory.">VmaMemoryUsage</a>, this flag is ignored and mapping is always possible in memory types that are <span class="tt">HOST_VISIBLE</span>. This includes allocations created in <a class="el" href="custom_memory_pools.html">Custom memory pools</a>.</li>
+<li>If you use other value of <a class="el" href="#gaa5846affa1e9da3800e3e78fae2305cc" title="Intended usage of the allocated memory.">VmaMemoryUsage</a>, this flag is ignored and mapping is always possible in memory types that are <span class="tt">HOST_VISIBLE</span>. This includes allocations created in <a class="el" href="custom_memory_pools.html" title="Custom memory pools">Custom memory pools</a>.</li>
 </ul>
 <p>Declares that mapped memory can be read, written, and accessed in random order, so a <span class="tt">HOST_CACHED</span> memory type is preferred. </p>
 </td></tr>
@@ -733,15 +733,15 @@
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305ccaf50d27e34e0925cf3a63db8c839121dd" name="ggaa5846affa1e9da3800e3e78fae2305ccaf50d27e34e0925cf3a63db8c839121dd"></a>VMA_MEMORY_USAGE_UNKNOWN&#160;</td><td class="fielddoc"><p>No intended memory usage specified. Use other members of <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a> to specify your requirements. </p>
 </td></tr>
-<tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305ccac6b5dc1432d88647aa4cd456246eadf7" name="ggaa5846affa1e9da3800e3e78fae2305ccac6b5dc1432d88647aa4cd456246eadf7"></a>VMA_MEMORY_USAGE_GPU_ONLY&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated</a></b></dt><dd>Obsolete, preserved for backward compatibility. Prefers <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>. </dd></dl>
+<tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305ccac6b5dc1432d88647aa4cd456246eadf7" name="ggaa5846affa1e9da3800e3e78fae2305ccac6b5dc1432d88647aa4cd456246eadf7"></a>VMA_MEMORY_USAGE_GPU_ONLY&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated</a></b></dt><dd>Obsolete, preserved for backward compatibility. Prefers <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>. </dd></dl>
 </td></tr>
-<tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305cca40bdf4cddeffeb12f43d45ca1286e0a5" name="ggaa5846affa1e9da3800e3e78fae2305cca40bdf4cddeffeb12f43d45ca1286e0a5"></a>VMA_MEMORY_USAGE_CPU_ONLY&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated</a></b></dt><dd>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span> and <span class="tt">VK_MEMORY_PROPERTY_HOST_COHERENT_BIT</span>. </dd></dl>
+<tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305cca40bdf4cddeffeb12f43d45ca1286e0a5" name="ggaa5846affa1e9da3800e3e78fae2305cca40bdf4cddeffeb12f43d45ca1286e0a5"></a>VMA_MEMORY_USAGE_CPU_ONLY&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated</a></b></dt><dd>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span> and <span class="tt">VK_MEMORY_PROPERTY_HOST_COHERENT_BIT</span>. </dd></dl>
 </td></tr>
-<tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305cca9066b52c5a7079bb74a69aaf8b92ff67" name="ggaa5846affa1e9da3800e3e78fae2305cca9066b52c5a7079bb74a69aaf8b92ff67"></a>VMA_MEMORY_USAGE_CPU_TO_GPU&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated</a></b></dt><dd>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span>, prefers <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>. </dd></dl>
+<tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305cca9066b52c5a7079bb74a69aaf8b92ff67" name="ggaa5846affa1e9da3800e3e78fae2305cca9066b52c5a7079bb74a69aaf8b92ff67"></a>VMA_MEMORY_USAGE_CPU_TO_GPU&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated</a></b></dt><dd>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span>, prefers <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>. </dd></dl>
 </td></tr>
-<tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305cca7b586d2fdaf82a463b58f581ed72be27" name="ggaa5846affa1e9da3800e3e78fae2305cca7b586d2fdaf82a463b58f581ed72be27"></a>VMA_MEMORY_USAGE_GPU_TO_CPU&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated</a></b></dt><dd>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span>, prefers <span class="tt">VK_MEMORY_PROPERTY_HOST_CACHED_BIT</span>. </dd></dl>
+<tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305cca7b586d2fdaf82a463b58f581ed72be27" name="ggaa5846affa1e9da3800e3e78fae2305cca7b586d2fdaf82a463b58f581ed72be27"></a>VMA_MEMORY_USAGE_GPU_TO_CPU&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated</a></b></dt><dd>Obsolete, preserved for backward compatibility. Guarantees <span class="tt">VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT</span>, prefers <span class="tt">VK_MEMORY_PROPERTY_HOST_CACHED_BIT</span>. </dd></dl>
 </td></tr>
-<tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305cca416a444d4d0fc20067c3f76f32ff2500" name="ggaa5846affa1e9da3800e3e78fae2305cca416a444d4d0fc20067c3f76f32ff2500"></a>VMA_MEMORY_USAGE_CPU_COPY&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated</a></b></dt><dd>Obsolete, preserved for backward compatibility. Prefers not <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>. </dd></dl>
+<tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305cca416a444d4d0fc20067c3f76f32ff2500" name="ggaa5846affa1e9da3800e3e78fae2305cca416a444d4d0fc20067c3f76f32ff2500"></a>VMA_MEMORY_USAGE_CPU_COPY&#160;</td><td class="fielddoc"><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated</a></b></dt><dd>Obsolete, preserved for backward compatibility. Prefers not <span class="tt">VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT</span>. </dd></dl>
 </td></tr>
 <tr><td class="fieldname"><a id="ggaa5846affa1e9da3800e3e78fae2305cca835333d9072db63a653818030e17614d" name="ggaa5846affa1e9da3800e3e78fae2305cca835333d9072db63a653818030e17614d"></a>VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED&#160;</td><td class="fielddoc"><p>Lazily allocated GPU memory having <span class="tt">VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT</span>. Exists mostly on mobile platforms. Using it on desktop PC or other GPUs with no such memory type present will fail the allocation.</p>
 <p>Usage: Memory for transient attachment images (color attachments, depth attachments etc.), created with <span class="tt">VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT</span>.</p>
@@ -785,7 +785,7 @@
 </td></tr>
 <tr><td class="fieldname"><a id="gga9a7c45f9c863695d98c83fa5ac940fe7a13c8a444197c67866be9cb05599fc726" name="gga9a7c45f9c863695d98c83fa5ac940fe7a13c8a444197c67866be9cb05599fc726"></a>VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT&#160;</td><td class="fielddoc"><p>Enables alternative, linear allocation algorithm in this pool. </p>
 <p>Specify this flag to enable linear allocation algorithm, which always creates new allocations after last one and doesn't reuse space from allocations freed in between. It trades memory consumption for simplified algorithm and data structure, which has better performance and uses less memory for metadata.</p>
-<p>By using this flag, you can achieve behavior of free-at-once, stack, ring buffer, and double stack. For details, see documentation chapter <a class="el" href="custom_memory_pools.html#linear_algorithm">Linear allocation algorithm</a>. </p>
+<p>By using this flag, you can achieve behavior of free-at-once, stack, ring buffer, and double stack. For details, see documentation chapter <a class="el" href="custom_memory_pools.html#linear_algorithm" title="Linear allocation algorithm">Linear allocation algorithm</a>. </p>
 </td></tr>
 <tr><td class="fieldname"><a id="gga9a7c45f9c863695d98c83fa5ac940fe7af4d270f8f42517a0f70037ceb6ac1d9c" name="gga9a7c45f9c863695d98c83fa5ac940fe7af4d270f8f42517a0f70037ceb6ac1d9c"></a>VMA_POOL_CREATE_ALGORITHM_MASK&#160;</td><td class="fielddoc"><p>Bit mask to extract only <span class="tt">ALGORITHM</span> bits from entire set of flags. </p>
 </td></tr>
@@ -835,7 +835,7 @@
 </div><div class="memdoc">
 
 <p>General purpose allocation of a dedicated memory. </p>
-<p>This function is similar <a class="el" href="#gabf28077dbf82d0908b8acbe8ee8dd9b8" title="General purpose memory allocation.">vmaAllocateMemory()</a>, but it always allocates dedicated memory - flag <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a> is implied. It offers additional parameter <span class="tt">pMemoryAllocateNext</span>, which can be used to attach <span class="tt">pNext</span> chain to the <span class="tt">VkMemoryAllocateInfo</span> structure. It can be useful for importing external memory. For more information, see <a class="el" href="other_api_interop.html">Interop with other graphics APIs</a>. </p>
+<p>This function is similar <a class="el" href="#gabf28077dbf82d0908b8acbe8ee8dd9b8" title="General purpose memory allocation.">vmaAllocateMemory()</a>, but it always allocates dedicated memory - flag <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a> is implied. It offers additional parameter <span class="tt">pMemoryAllocateNext</span>, which can be used to attach <span class="tt">pNext</span> chain to the <span class="tt">VkMemoryAllocateInfo</span> structure. It can be useful for importing external memory. For more information, see <a class="el" href="other_api_interop.html" title="Interop with other graphics APIs">Interop with other graphics APIs</a>. </p>
 
 </div>
 </div>
@@ -1092,7 +1092,7 @@
 <li><span class="tt">VK_ERROR_FEATURE_NOT_PRESENT</span> if defragmentation is not supported.</li>
 </ul>
 </dd></dl>
-<p>For more information about defragmentation, see documentation chapter: <a class="el" href="defragmentation.html">Defragmentation</a>. </p>
+<p>For more information about defragmentation, see documentation chapter: <a class="el" href="defragmentation.html" title="Defragmentation">Defragmentation</a>. </p>
 
 </div>
 </div>
@@ -1324,7 +1324,7 @@
   </table>
   </dd>
 </dl>
-<p>Corruption detection is enabled only when <span class="tt">VMA_DEBUG_DETECT_CORRUPTION</span> macro is defined to nonzero, <span class="tt">VMA_DEBUG_MARGIN</span> is defined to nonzero and only for memory types that are <span class="tt">HOST_VISIBLE</span> and <span class="tt">HOST_COHERENT</span>. For more information, see <a class="el" href="debugging_memory_usage.html#debugging_memory_usage_corruption_detection">Corruption detection</a>.</p>
+<p>Corruption detection is enabled only when <span class="tt">VMA_DEBUG_DETECT_CORRUPTION</span> macro is defined to nonzero, <span class="tt">VMA_DEBUG_MARGIN</span> is defined to nonzero and only for memory types that are <span class="tt">HOST_VISIBLE</span> and <span class="tt">HOST_COHERENT</span>. For more information, see <a class="el" href="debugging_memory_usage.html#debugging_memory_usage_corruption_detection" title="Corruption detection">Corruption detection</a>.</p>
 <p>Possible return values:</p>
 <ul>
 <li><span class="tt">VK_ERROR_FEATURE_NOT_PRESENT</span> - corruption detection is not enabled for any of specified memory types.</li>
@@ -1355,7 +1355,7 @@
 </div><div class="memdoc">
 
 <p>Checks magic number in margins around all allocations in given memory pool in search for corruptions. </p>
-<p>Corruption detection is enabled only when <span class="tt">VMA_DEBUG_DETECT_CORRUPTION</span> macro is defined to nonzero, <span class="tt">VMA_DEBUG_MARGIN</span> is defined to nonzero and the pool is created in memory type that is <span class="tt">HOST_VISIBLE</span> and <span class="tt">HOST_COHERENT</span>. For more information, see <a class="el" href="debugging_memory_usage.html#debugging_memory_usage_corruption_detection">Corruption detection</a>.</p>
+<p>Corruption detection is enabled only when <span class="tt">VMA_DEBUG_DETECT_CORRUPTION</span> macro is defined to nonzero, <span class="tt">VMA_DEBUG_MARGIN</span> is defined to nonzero and the pool is created in memory type that is <span class="tt">HOST_VISIBLE</span> and <span class="tt">HOST_COHERENT</span>. For more information, see <a class="el" href="debugging_memory_usage.html#debugging_memory_usage_corruption_detection" title="Corruption detection">Corruption detection</a>.</p>
 <p>Possible return values:</p>
 <ul>
 <li><span class="tt">VK_ERROR_FEATURE_NOT_PRESENT</span> - corruption detection is not enabled for specified pool.</li>
@@ -1706,10 +1706,7 @@
 <p>If the function succeeded, you must destroy both buffer and allocation when you no longer need them using either convenience function <a class="el" href="#ga0d9f4e4ba5bf9aab1f1c746387753d77" title="Destroys Vulkan buffer and frees allocated memory.">vmaDestroyBuffer()</a> or separately, using <span class="tt">vkDestroyBuffer()</span> and <a class="el" href="#ga11f0fbc034fa81a4efedd73d61ce7568" title="Frees memory previously allocated using vmaAllocateMemory(), vmaAllocateMemoryForBuffer(),...">vmaFreeMemory()</a>.</p>
 <p>If VK_KHR_dedicated_allocation extenion or Vulkan version &gt;= 1.1 is used, the function queries the driver whether it requires or prefers the new buffer to have dedicated allocation. If yes, and if dedicated allocation is possible (<a class="el" href="#ggad9889c10c798b040d59c92f257cae597a89759603401014eb325eb22a3839f2ff" title="Set this flag to only try to allocate from existing VkDeviceMemory blocks and never create new such b...">VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT</a> is not used), it creates dedicated allocation for this buffer, just like when using <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a>.</p>
 <dl class="section note"><dt>Note</dt><dd>This function creates a new <span class="tt">VkBuffer</span>. Sub-allocation of parts of one large buffer, although recommended as a good practice, is out of scope of this library and could be implemented by the user as a higher-level logic on top of VMA.</dd></dl>
-<p>There are also extended versions of this function available:</p><ul>
-<li>With additional parameter <span class="tt">minAlignment</span> - see <a class="el" href="#gaa06a690013a0d01e60894ac378083834" title="Creates a buffer with additional minimum alignment.">vmaCreateBufferWithAlignment()</a>.</li>
-<li>With additional parameter <span class="tt">pMemoryAllocateNext</span> - see <a class="el" href="#gab313b89299877ca21c196027bed9e874" title="Creates a dedicated buffer while offering extra parameter pMemoryAllocateNext.">vmaCreateDedicatedBuffer()</a>. </li>
-</ul>
+<p>There is also an extended versions of this function available with additional parameter <span class="tt">pMemoryAllocateNext</span> - see <a class="el" href="#gab313b89299877ca21c196027bed9e874" title="Creates a dedicated buffer while offering extra parameter pMemoryAllocateNext.">vmaCreateDedicatedBuffer()</a>. </p>
 
 </div>
 </div>
@@ -1758,7 +1755,8 @@
 </div><div class="memdoc">
 
 <p>Creates a buffer with additional minimum alignment. </p>
-<p>Similar to <a class="el" href="#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a> but provides additional parameter <span class="tt">minAlignment</span> which allows to specify custom, minimum alignment to be used when placing the buffer inside a larger memory block, which may be needed e.g. for interop with OpenGL. </p>
+<p>Similar to <a class="el" href="#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a> but provides additional parameter <span class="tt">minAlignment</span> which allows to specify custom, minimum alignment to be used when placing the buffer inside a larger memory block, which may be needed e.g. for interop with OpenGL.</p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated</a></b></dt><dd>This function in obsolete since new <a class="el" href="struct_vma_allocation_create_info.html#a4fa1895486efac8c128dcffad46706a0" title="Additional minimum alignment to be used for this allocation. Can be 0.">VmaAllocationCreateInfo::minAlignment</a> member allows specifying custom alignment while using any allocation function, like the standard <a class="el" href="#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>. </dd></dl>
 
 </div>
 </div>
@@ -1807,7 +1805,7 @@
 </div><div class="memdoc">
 
 <p>Creates a dedicated buffer while offering extra parameter <span class="tt">pMemoryAllocateNext</span>. </p>
-<p>This function is similar <a class="el" href="#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>, but it always allocates dedicated memory for the buffer - flag <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a> is implied. It offers additional parameter <span class="tt">pMemoryAllocateNext</span>, which can be used to attach <span class="tt">pNext</span> chain to the <span class="tt">VkMemoryAllocateInfo</span> structure. It can be useful for importing external memory. For more information, see <a class="el" href="other_api_interop.html">Interop with other graphics APIs</a>. </p>
+<p>This function is similar <a class="el" href="#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>, but it always allocates dedicated memory for the buffer - flag <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a> is implied. It offers additional parameter <span class="tt">pMemoryAllocateNext</span>, which can be used to attach <span class="tt">pNext</span> chain to the <span class="tt">VkMemoryAllocateInfo</span> structure. It can be useful for importing external memory. For more information, see <a class="el" href="other_api_interop.html" title="Interop with other graphics APIs">Interop with other graphics APIs</a>. </p>
 
 </div>
 </div>
@@ -1856,7 +1854,7 @@
 </div><div class="memdoc">
 
 <p>Function similar to <a class="el" href="#gab313b89299877ca21c196027bed9e874" title="Creates a dedicated buffer while offering extra parameter pMemoryAllocateNext.">vmaCreateDedicatedBuffer()</a> but for images. </p>
-<p>This function is similar <a class="el" href="#ga02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer() but for images.">vmaCreateImage()</a>, but it always allocates dedicated memory for the image - flag <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a> is implied. It offers additional parameter <span class="tt">pMemoryAllocateNext</span>, which can be used to attach <span class="tt">pNext</span> chain to the <span class="tt">VkMemoryAllocateInfo</span> structure. It can be useful for importing external memory. For more information, see <a class="el" href="other_api_interop.html">Interop with other graphics APIs</a>. </p>
+<p>This function is similar <a class="el" href="#ga02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer() but for images.">vmaCreateImage()</a>, but it always allocates dedicated memory for the image - flag <a class="el" href="#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a> is implied. It offers additional parameter <span class="tt">pMemoryAllocateNext</span>, which can be used to attach <span class="tt">pNext</span> chain to the <span class="tt">VkMemoryAllocateInfo</span> structure. It can be useful for importing external memory. For more information, see <a class="el" href="other_api_interop.html" title="Interop with other graphics APIs">Interop with other graphics APIs</a>. </p>
 
 </div>
 </div>
@@ -2500,7 +2498,7 @@
 <p>This function always uses <span class="tt">VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT</span>. An extended version of this function is available as <a class="el" href="#ga1a8d7aba3bf5a4de66c801b9988afa58" title="Given an allocation, returns Win32 handle that may be imported by other processes or APIs.">vmaGetMemoryWin32Handle2()</a> that allows using other handle type.</p>
 <p>This function is available compile-time only when VK_KHR_external_memory_win32 extension is available. It can be manually disabled by predefining <span class="tt">VMA_EXTERNAL_MEMORY_WIN32=0</span> macro.</p>
 <p>If the function fails with <span class="tt">VK_ERROR_FEATURE_NOT_PRESENT</span> error code, please double-check that <a class="el" href="struct_vma_vulkan_functions.html#af45d10a2b47971f4cf5bcacf1d331f86">VmaVulkanFunctions::vkGetMemoryWin32HandleKHR</a> function pointer is set, e.g. either by using macro <span class="tt">VMA_DYNAMIC_VULKAN_FUNCTIONS</span> or by manually passing it through <a class="el" href="struct_vma_allocator_create_info.html#a3dc197be3227da7338b1643f70db36bd" title="Pointers to Vulkan functions. Can be null.">VmaAllocatorCreateInfo::pVulkanFunctions</a>.</p>
-<p>For more information, see chapter <a class="el" href="other_api_interop.html">Interop with other graphics APIs</a>. </p>
+<p>For more information, see chapter <a class="el" href="other_api_interop.html" title="Interop with other graphics APIs">Interop with other graphics APIs</a>. </p>
 
 </div>
 </div>
@@ -2564,7 +2562,7 @@
 <p>Note the handle is returned for the entire <span class="tt">VkDeviceMemory</span> block that the allocation belongs to. If the allocation is sub-allocated from a larger block, you may need to consider the offset of the allocation (<a class="el" href="struct_vma_allocation_info.html#a4a3c732388dbdc7a23f9365b00825268" title="Offset in VkDeviceMemory object to the beginning of this allocation, in bytes. (deviceMemory,...">VmaAllocationInfo::offset</a>).</p>
 <p>This function is available compile-time only when VK_KHR_external_memory_win32 extension is available. It can be manually disabled by predefining <span class="tt">VMA_EXTERNAL_MEMORY_WIN32=0</span> macro.</p>
 <p>If the function fails with <span class="tt">VK_ERROR_FEATURE_NOT_PRESENT</span> error code, please double-check that <a class="el" href="struct_vma_vulkan_functions.html#af45d10a2b47971f4cf5bcacf1d331f86">VmaVulkanFunctions::vkGetMemoryWin32HandleKHR</a> function pointer is set, e.g. either by using macro <span class="tt">VMA_DYNAMIC_VULKAN_FUNCTIONS</span> or by manually passing it through <a class="el" href="struct_vma_allocator_create_info.html#a3dc197be3227da7338b1643f70db36bd" title="Pointers to Vulkan functions. Can be null.">VmaAllocatorCreateInfo::pVulkanFunctions</a>.</p>
-<p>For more information, see chapter <a class="el" href="other_api_interop.html">Interop with other graphics APIs</a>. </p>
+<p>For more information, see chapter <a class="el" href="other_api_interop.html" title="Interop with other graphics APIs">Interop with other graphics APIs</a>. </p>
 
 </div>
 </div>
@@ -2841,7 +2839,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/group__group__init.html b/docs/html/group__group__init.html
index 1d83484..ef88359 100644
--- a/docs/html/group__group__init.html
+++ b/docs/html/group__group__init.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Library initialization</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -85,39 +85,39 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
 Classes</h2></td></tr>
-<tr class="memitem:VmaDeviceMemoryCallbacks" id="r_VmaDeviceMemoryCallbacks"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_device_memory_callbacks.html">VmaDeviceMemoryCallbacks</a></td></tr>
+<tr class="memitem:VmaDeviceMemoryCallbacks" id="r_VmaDeviceMemoryCallbacks"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_device_memory_callbacks.html">VmaDeviceMemoryCallbacks</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set of callbacks that the library will call for <span class="tt">vkAllocateMemory</span> and <span class="tt">vkFreeMemory</span>.  <a href="struct_vma_device_memory_callbacks.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaVulkanFunctions" id="r_VmaVulkanFunctions"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_vulkan_functions.html">VmaVulkanFunctions</a></td></tr>
+<tr class="memitem:VmaVulkanFunctions" id="r_VmaVulkanFunctions"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_vulkan_functions.html">VmaVulkanFunctions</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointers to some Vulkan functions - a subset used by the library.  <a href="struct_vma_vulkan_functions.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaAllocatorCreateInfo" id="r_VmaAllocatorCreateInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a></td></tr>
+<tr class="memitem:VmaAllocatorCreateInfo" id="r_VmaAllocatorCreateInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Description of a Allocator to be created.  <a href="struct_vma_allocator_create_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaAllocatorInfo" id="r_VmaAllocatorInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocator_info.html">VmaAllocatorInfo</a></td></tr>
+<tr class="memitem:VmaAllocatorInfo" id="r_VmaAllocatorInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocator_info.html">VmaAllocatorInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about existing <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object.  <a href="struct_vma_allocator_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaAllocator" id="r_VmaAllocator"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocator.html">VmaAllocator</a></td></tr>
+<tr class="memitem:VmaAllocator" id="r_VmaAllocator"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocator.html">VmaAllocator</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents main object of this library initialized.  <a href="struct_vma_allocator.html#details">More...</a><br /></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
 Typedefs</h2></td></tr>
-<tr class="memitem:gafd73b95e737ee7e76f827cb5472f559f" id="r_gafd73b95e737ee7e76f827cb5472f559f"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="#ga4f87c9100d154a65a4ad495f7763cf7c">VmaAllocatorCreateFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gafd73b95e737ee7e76f827cb5472f559f">VmaAllocatorCreateFlagBits</a></td></tr>
+<tr class="memitem:gafd73b95e737ee7e76f827cb5472f559f" id="r_gafd73b95e737ee7e76f827cb5472f559f"><td class="memItemLeft">typedef enum <a class="el" href="#ga4f87c9100d154a65a4ad495f7763cf7c">VmaAllocatorCreateFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="#gafd73b95e737ee7e76f827cb5472f559f">VmaAllocatorCreateFlagBits</a></td></tr>
 <tr class="memdesc:gafd73b95e737ee7e76f827cb5472f559f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags for created <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a>.  <br /></td></tr>
-<tr class="memitem:gacfe6863e160722c2c1bbcf7573fddc4d" id="r_gacfe6863e160722c2c1bbcf7573fddc4d"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gacfe6863e160722c2c1bbcf7573fddc4d">VmaAllocatorCreateFlags</a></td></tr>
+<tr class="memitem:gacfe6863e160722c2c1bbcf7573fddc4d" id="r_gacfe6863e160722c2c1bbcf7573fddc4d"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="#gacfe6863e160722c2c1bbcf7573fddc4d">VmaAllocatorCreateFlags</a></td></tr>
 <tr class="memdesc:gacfe6863e160722c2c1bbcf7573fddc4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="#ga4f87c9100d154a65a4ad495f7763cf7c" title="Flags for created VmaAllocator.">VmaAllocatorCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga7e1ed85f7799600b03ad51a77acc21f3" id="r_ga7e1ed85f7799600b03ad51a77acc21f3"><td class="memItemLeft" align="right" valign="top">typedef void(VKAPI_PTR *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga7e1ed85f7799600b03ad51a77acc21f3">PFN_vmaAllocateDeviceMemoryFunction</a>) (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)</td></tr>
+<tr class="memitem:ga7e1ed85f7799600b03ad51a77acc21f3" id="r_ga7e1ed85f7799600b03ad51a77acc21f3"><td class="memItemLeft">typedef void(VKAPI_PTR *&#160;</td><td class="memItemRight"><a class="el" href="#ga7e1ed85f7799600b03ad51a77acc21f3">PFN_vmaAllocateDeviceMemoryFunction</a>) (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)</td></tr>
 <tr class="memdesc:ga7e1ed85f7799600b03ad51a77acc21f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function called after successful vkAllocateMemory.  <br /></td></tr>
-<tr class="memitem:ga154ccaaf53dc2c36378f80f0c4f3679b" id="r_ga154ccaaf53dc2c36378f80f0c4f3679b"><td class="memItemLeft" align="right" valign="top">typedef void(VKAPI_PTR *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga154ccaaf53dc2c36378f80f0c4f3679b">PFN_vmaFreeDeviceMemoryFunction</a>) (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)</td></tr>
+<tr class="memitem:ga154ccaaf53dc2c36378f80f0c4f3679b" id="r_ga154ccaaf53dc2c36378f80f0c4f3679b"><td class="memItemLeft">typedef void(VKAPI_PTR *&#160;</td><td class="memItemRight"><a class="el" href="#ga154ccaaf53dc2c36378f80f0c4f3679b">PFN_vmaFreeDeviceMemoryFunction</a>) (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)</td></tr>
 <tr class="memdesc:ga154ccaaf53dc2c36378f80f0c4f3679b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function called before vkFreeMemory.  <br /></td></tr>
-<tr class="memitem:ga77692d3c8770ea8882d573206bd27b2b" id="r_ga77692d3c8770ea8882d573206bd27b2b"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDeviceMemoryCallbacks&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga77692d3c8770ea8882d573206bd27b2b">VmaDeviceMemoryCallbacks</a></td></tr>
+<tr class="memitem:ga77692d3c8770ea8882d573206bd27b2b" id="r_ga77692d3c8770ea8882d573206bd27b2b"><td class="memItemLeft">typedef struct VmaDeviceMemoryCallbacks&#160;</td><td class="memItemRight"><a class="el" href="#ga77692d3c8770ea8882d573206bd27b2b">VmaDeviceMemoryCallbacks</a></td></tr>
 <tr class="memdesc:ga77692d3c8770ea8882d573206bd27b2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set of callbacks that the library will call for <span class="tt">vkAllocateMemory</span> and <span class="tt">vkFreeMemory</span>.  <br /></td></tr>
-<tr class="memitem:gabb0a8e3b5040d847571cca6c7f9a8074" id="r_gabb0a8e3b5040d847571cca6c7f9a8074"><td class="memItemLeft" align="right" valign="top">typedef struct VmaVulkanFunctions&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gabb0a8e3b5040d847571cca6c7f9a8074">VmaVulkanFunctions</a></td></tr>
+<tr class="memitem:gabb0a8e3b5040d847571cca6c7f9a8074" id="r_gabb0a8e3b5040d847571cca6c7f9a8074"><td class="memItemLeft">typedef struct VmaVulkanFunctions&#160;</td><td class="memItemRight"><a class="el" href="#gabb0a8e3b5040d847571cca6c7f9a8074">VmaVulkanFunctions</a></td></tr>
 <tr class="memdesc:gabb0a8e3b5040d847571cca6c7f9a8074"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointers to some Vulkan functions - a subset used by the library.  <br /></td></tr>
-<tr class="memitem:gaad9652301d33759b83e52d4f3605a14a" id="r_gaad9652301d33759b83e52d4f3605a14a"><td class="memItemLeft" align="right" valign="top">typedef struct VmaAllocatorCreateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaad9652301d33759b83e52d4f3605a14a">VmaAllocatorCreateInfo</a></td></tr>
+<tr class="memitem:gaad9652301d33759b83e52d4f3605a14a" id="r_gaad9652301d33759b83e52d4f3605a14a"><td class="memItemLeft">typedef struct VmaAllocatorCreateInfo&#160;</td><td class="memItemRight"><a class="el" href="#gaad9652301d33759b83e52d4f3605a14a">VmaAllocatorCreateInfo</a></td></tr>
 <tr class="memdesc:gaad9652301d33759b83e52d4f3605a14a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Description of a Allocator to be created.  <br /></td></tr>
-<tr class="memitem:ga1988031b0223fdbd564250fa1edd942c" id="r_ga1988031b0223fdbd564250fa1edd942c"><td class="memItemLeft" align="right" valign="top">typedef struct VmaAllocatorInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1988031b0223fdbd564250fa1edd942c">VmaAllocatorInfo</a></td></tr>
+<tr class="memitem:ga1988031b0223fdbd564250fa1edd942c" id="r_ga1988031b0223fdbd564250fa1edd942c"><td class="memItemLeft">typedef struct VmaAllocatorInfo&#160;</td><td class="memItemRight"><a class="el" href="#ga1988031b0223fdbd564250fa1edd942c">VmaAllocatorInfo</a></td></tr>
 <tr class="memdesc:ga1988031b0223fdbd564250fa1edd942c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about existing <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object.  <br /></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
 Enumerations</h2></td></tr>
-<tr class="memitem:ga4f87c9100d154a65a4ad495f7763cf7c" id="r_ga4f87c9100d154a65a4ad495f7763cf7c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga4f87c9100d154a65a4ad495f7763cf7c">VmaAllocatorCreateFlagBits</a> { <br />
+<tr class="memitem:ga4f87c9100d154a65a4ad495f7763cf7c" id="r_ga4f87c9100d154a65a4ad495f7763cf7c"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="#ga4f87c9100d154a65a4ad495f7763cf7c">VmaAllocatorCreateFlagBits</a> { <br />
 &#160;&#160;<a class="el" href="#gga4f87c9100d154a65a4ad495f7763cf7ca4816ddaed324ba110172ca608a20f29d">VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT</a> = 0x00000001
 , <a class="el" href="#gga4f87c9100d154a65a4ad495f7763cf7cace7da7cc6e71a625dfa763c55a597878">VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT</a> = 0x00000002
 , <a class="el" href="#gga4f87c9100d154a65a4ad495f7763cf7ca8fb75bf07cd184ab903596295e863dee">VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT</a> = 0x00000004
@@ -137,24 +137,24 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
 Functions</h2></td></tr>
-<tr class="memitem:gaf8d9ee01910a7af7f552145ef0065b9c" id="r_gaf8d9ee01910a7af7f552145ef0065b9c"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf8d9ee01910a7af7f552145ef0065b9c">vmaImportVulkanFunctionsFromVolk</a> (const <a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a> *pAllocatorCreateInfo, <a class="el" href="struct_vma_vulkan_functions.html">VmaVulkanFunctions</a> *pDstVulkanFunctions)</td></tr>
+<tr class="memitem:gaf8d9ee01910a7af7f552145ef0065b9c" id="r_gaf8d9ee01910a7af7f552145ef0065b9c"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gaf8d9ee01910a7af7f552145ef0065b9c">vmaImportVulkanFunctionsFromVolk</a> (const <a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a> *pAllocatorCreateInfo, <a class="el" href="struct_vma_vulkan_functions.html">VmaVulkanFunctions</a> *pDstVulkanFunctions)</td></tr>
 <tr class="memdesc:gaf8d9ee01910a7af7f552145ef0065b9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fully initializes <span class="tt">pDstVulkanFunctions</span> structure with Vulkan functions needed by VMA using <a href="https://github.com/zeux/volk">volk library</a>.  <br /></td></tr>
-<tr class="memitem:ga200692051ddb34240248234f5f4c17bb" id="r_ga200692051ddb34240248234f5f4c17bb"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga200692051ddb34240248234f5f4c17bb">vmaCreateAllocator</a> (const <a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocator.html">VmaAllocator</a> *pAllocator)</td></tr>
+<tr class="memitem:ga200692051ddb34240248234f5f4c17bb" id="r_ga200692051ddb34240248234f5f4c17bb"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga200692051ddb34240248234f5f4c17bb">vmaCreateAllocator</a> (const <a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocator.html">VmaAllocator</a> *pAllocator)</td></tr>
 <tr class="memdesc:ga200692051ddb34240248234f5f4c17bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object.  <br /></td></tr>
-<tr class="memitem:gaa8d164061c88f22fb1fd3c8f3534bc1d" id="r_gaa8d164061c88f22fb1fd3c8f3534bc1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaa8d164061c88f22fb1fd3c8f3534bc1d">vmaDestroyAllocator</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator)</td></tr>
+<tr class="memitem:gaa8d164061c88f22fb1fd3c8f3534bc1d" id="r_gaa8d164061c88f22fb1fd3c8f3534bc1d"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gaa8d164061c88f22fb1fd3c8f3534bc1d">vmaDestroyAllocator</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator)</td></tr>
 <tr class="memdesc:gaa8d164061c88f22fb1fd3c8f3534bc1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys allocator object.  <br /></td></tr>
-<tr class="memitem:gafa02231a791b37255720d566a52683e7" id="r_gafa02231a791b37255720d566a52683e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gafa02231a791b37255720d566a52683e7">vmaGetAllocatorInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocator_info.html">VmaAllocatorInfo</a> *pAllocatorInfo)</td></tr>
+<tr class="memitem:gafa02231a791b37255720d566a52683e7" id="r_gafa02231a791b37255720d566a52683e7"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gafa02231a791b37255720d566a52683e7">vmaGetAllocatorInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocator_info.html">VmaAllocatorInfo</a> *pAllocatorInfo)</td></tr>
 <tr class="memdesc:gafa02231a791b37255720d566a52683e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about existing <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object - handle to Vulkan device etc.  <br /></td></tr>
-<tr class="memitem:gaecabf7b6e91ea87d0316fa0a9e014fe0" id="r_gaecabf7b6e91ea87d0316fa0a9e014fe0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaecabf7b6e91ea87d0316fa0a9e014fe0">vmaGetPhysicalDeviceProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkPhysicalDeviceProperties **ppPhysicalDeviceProperties)</td></tr>
-<tr class="memitem:gab88db292a17974f911182543fda52d19" id="r_gab88db292a17974f911182543fda52d19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gab88db292a17974f911182543fda52d19">vmaGetMemoryProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkPhysicalDeviceMemoryProperties **ppPhysicalDeviceMemoryProperties)</td></tr>
-<tr class="memitem:ga8701444752eb5de4464adb5a2b514bca" id="r_ga8701444752eb5de4464adb5a2b514bca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga8701444752eb5de4464adb5a2b514bca">vmaGetMemoryTypeProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeIndex, VkMemoryPropertyFlags *pFlags)</td></tr>
+<tr class="memitem:gaecabf7b6e91ea87d0316fa0a9e014fe0" id="r_gaecabf7b6e91ea87d0316fa0a9e014fe0"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gaecabf7b6e91ea87d0316fa0a9e014fe0">vmaGetPhysicalDeviceProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkPhysicalDeviceProperties **ppPhysicalDeviceProperties)</td></tr>
+<tr class="memitem:gab88db292a17974f911182543fda52d19" id="r_gab88db292a17974f911182543fda52d19"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gab88db292a17974f911182543fda52d19">vmaGetMemoryProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkPhysicalDeviceMemoryProperties **ppPhysicalDeviceMemoryProperties)</td></tr>
+<tr class="memitem:ga8701444752eb5de4464adb5a2b514bca" id="r_ga8701444752eb5de4464adb5a2b514bca"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga8701444752eb5de4464adb5a2b514bca">vmaGetMemoryTypeProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeIndex, VkMemoryPropertyFlags *pFlags)</td></tr>
 <tr class="memdesc:ga8701444752eb5de4464adb5a2b514bca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given Memory Type Index, returns Property Flags of this memory type.  <br /></td></tr>
-<tr class="memitem:gade56bf8dc9f5a5eaddf5f119ed525236" id="r_gade56bf8dc9f5a5eaddf5f119ed525236"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gade56bf8dc9f5a5eaddf5f119ed525236">vmaSetCurrentFrameIndex</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t frameIndex)</td></tr>
+<tr class="memitem:gade56bf8dc9f5a5eaddf5f119ed525236" id="r_gade56bf8dc9f5a5eaddf5f119ed525236"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gade56bf8dc9f5a5eaddf5f119ed525236">vmaSetCurrentFrameIndex</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t frameIndex)</td></tr>
 <tr class="memdesc:gade56bf8dc9f5a5eaddf5f119ed525236"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets index of the current frame.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
-<p>API elements related to the initialization and management of the entire library, especially <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object. </p>
-<a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
+<div class="textblock"><p>API elements related to the initialization and management of the entire library, especially <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object. </p>
+</div><a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
 <a id="ga7e1ed85f7799600b03ad51a77acc21f3" name="ga7e1ed85f7799600b03ad51a77acc21f3"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ga7e1ed85f7799600b03ad51a77acc21f3">&#9670;&#160;</a></span>PFN_vmaAllocateDeviceMemoryFunction</h2>
 
@@ -343,7 +343,7 @@
 <li>Found as available and enabled device feature <span class="tt">VkPhysicalDeviceBufferDeviceAddressFeatures::bufferDeviceAddress</span>.</li>
 </ol>
 <p>When this flag is set, you can create buffers with <span class="tt">VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT</span> using VMA. The library automatically adds <span class="tt">VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT</span> to allocated memory blocks wherever it might be needed.</p>
-<p>For more information, see documentation chapter <a class="el" href="enabling_buffer_device_address.html">Enabling buffer device address</a>. </p>
+<p>For more information, see documentation chapter <a class="el" href="enabling_buffer_device_address.html" title="Enabling buffer device address">Enabling buffer device address</a>. </p>
 </td></tr>
 <tr><td class="fieldname"><a id="gga4f87c9100d154a65a4ad495f7763cf7caffdd7a5169be3dbd7cbf6b3619e4f78a" name="gga4f87c9100d154a65a4ad495f7763cf7caffdd7a5169be3dbd7cbf6b3619e4f78a"></a>VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT&#160;</td><td class="fielddoc"><p>Enables usage of VK_EXT_memory_priority extension in the library.</p>
 <p>You may set this flag only if you found available and enabled this device extension, along with <span class="tt">VkPhysicalDeviceMemoryPriorityFeaturesEXT::memoryPriority == VK_TRUE</span>, while creating Vulkan device passed as <a class="el" href="struct_vma_allocator_create_info.html#ad924ddd77b04039c88d0c09b0ffcd500" title="Vulkan device.">VmaAllocatorCreateInfo::device</a>.</p>
@@ -357,7 +357,7 @@
 <p>You should set this flag if you found available and enabled this device extension, while creating Vulkan device passed as <a class="el" href="struct_vma_allocator_create_info.html#ad924ddd77b04039c88d0c09b0ffcd500" title="Vulkan device.">VmaAllocatorCreateInfo::device</a>. </p>
 </td></tr>
 <tr><td class="fieldname"><a id="gga4f87c9100d154a65a4ad495f7763cf7ca4897d1181a186e327f4dadd680ad00ac" name="gga4f87c9100d154a65a4ad495f7763cf7ca4897d1181a186e327f4dadd680ad00ac"></a>VMA_ALLOCATOR_CREATE_KHR_EXTERNAL_MEMORY_WIN32_BIT&#160;</td><td class="fielddoc"><p>Enables usage of VK_KHR_external_memory_win32 extension in the library.</p>
-<p>You should set this flag if you found available and enabled this device extension, while creating Vulkan device passed as <a class="el" href="struct_vma_allocator_create_info.html#ad924ddd77b04039c88d0c09b0ffcd500" title="Vulkan device.">VmaAllocatorCreateInfo::device</a>. For more information, see <a class="el" href="other_api_interop.html">Interop with other graphics APIs</a>. </p>
+<p>You should set this flag if you found available and enabled this device extension, while creating Vulkan device passed as <a class="el" href="struct_vma_allocator_create_info.html#ad924ddd77b04039c88d0c09b0ffcd500" title="Vulkan device.">VmaAllocatorCreateInfo::device</a>. For more information, see <a class="el" href="other_api_interop.html" title="Interop with other graphics APIs">Interop with other graphics APIs</a>. </p>
 </td></tr>
 <tr><td class="fieldname"><a id="gga4f87c9100d154a65a4ad495f7763cf7cae4d5ad929caba5f23eb502b13bd5286c" name="gga4f87c9100d154a65a4ad495f7763cf7cae4d5ad929caba5f23eb502b13bd5286c"></a>VMA_ALLOCATOR_CREATE_FLAG_BITS_MAX_ENUM&#160;</td><td class="fielddoc"></td></tr>
 </table>
@@ -608,7 +608,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/group__group__stats.html b/docs/html/group__group__stats.html
index be75735..fe60bbb 100644
--- a/docs/html/group__group__stats.html
+++ b/docs/html/group__group__stats.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Statistics</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -79,52 +79,52 @@
 </div><!--header-->
 <div class="contents">
 
-<p>API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. See documentation chapter: <a class="el" href="statistics.html">Statistics</a>.  
+<p>API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. See documentation chapter: <a class="el" href="statistics.html" title="Statistics">Statistics</a>.  
 <a href="#details">More...</a></p>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
 Classes</h2></td></tr>
-<tr class="memitem:VmaStatistics" id="r_VmaStatistics"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a></td></tr>
+<tr class="memitem:VmaStatistics" id="r_VmaStatistics"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total.  <a href="struct_vma_statistics.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDetailedStatistics" id="r_VmaDetailedStatistics"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a></td></tr>
+<tr class="memitem:VmaDetailedStatistics" id="r_VmaDetailedStatistics"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">More detailed statistics than <a class="el" href="struct_vma_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool,...">VmaStatistics</a>.  <a href="struct_vma_detailed_statistics.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaTotalStatistics" id="r_VmaTotalStatistics"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a></td></tr>
+<tr class="memitem:VmaTotalStatistics" id="r_VmaTotalStatistics"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">General statistics from current state of the Allocator - total memory usage across all memory heaps and types.  <a href="struct_vma_total_statistics.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaBudget" id="r_VmaBudget"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_budget.html">VmaBudget</a></td></tr>
+<tr class="memitem:VmaBudget" id="r_VmaBudget"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_budget.html">VmaBudget</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics of current memory usage and available budget for a specific memory heap.  <a href="struct_vma_budget.html#details">More...</a><br /></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
 Typedefs</h2></td></tr>
-<tr class="memitem:gac94bd1a382a3922ddc8de3af4d3ddd06" id="r_gac94bd1a382a3922ddc8de3af4d3ddd06"><td class="memItemLeft" align="right" valign="top">typedef struct VmaStatistics&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac94bd1a382a3922ddc8de3af4d3ddd06">VmaStatistics</a></td></tr>
+<tr class="memitem:gac94bd1a382a3922ddc8de3af4d3ddd06" id="r_gac94bd1a382a3922ddc8de3af4d3ddd06"><td class="memItemLeft">typedef struct VmaStatistics&#160;</td><td class="memItemRight"><a class="el" href="#gac94bd1a382a3922ddc8de3af4d3ddd06">VmaStatistics</a></td></tr>
 <tr class="memdesc:gac94bd1a382a3922ddc8de3af4d3ddd06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total.  <br /></td></tr>
-<tr class="memitem:ga9ab0c535a6ca655dc63b8609ab4b8394" id="r_ga9ab0c535a6ca655dc63b8609ab4b8394"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDetailedStatistics&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9ab0c535a6ca655dc63b8609ab4b8394">VmaDetailedStatistics</a></td></tr>
+<tr class="memitem:ga9ab0c535a6ca655dc63b8609ab4b8394" id="r_ga9ab0c535a6ca655dc63b8609ab4b8394"><td class="memItemLeft">typedef struct VmaDetailedStatistics&#160;</td><td class="memItemRight"><a class="el" href="#ga9ab0c535a6ca655dc63b8609ab4b8394">VmaDetailedStatistics</a></td></tr>
 <tr class="memdesc:ga9ab0c535a6ca655dc63b8609ab4b8394"><td class="mdescLeft">&#160;</td><td class="mdescRight">More detailed statistics than <a class="el" href="struct_vma_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool,...">VmaStatistics</a>.  <br /></td></tr>
-<tr class="memitem:ga68916e729e55d513f88ffafbadddb770" id="r_ga68916e729e55d513f88ffafbadddb770"><td class="memItemLeft" align="right" valign="top">typedef struct VmaTotalStatistics&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga68916e729e55d513f88ffafbadddb770">VmaTotalStatistics</a></td></tr>
+<tr class="memitem:ga68916e729e55d513f88ffafbadddb770" id="r_ga68916e729e55d513f88ffafbadddb770"><td class="memItemLeft">typedef struct VmaTotalStatistics&#160;</td><td class="memItemRight"><a class="el" href="#ga68916e729e55d513f88ffafbadddb770">VmaTotalStatistics</a></td></tr>
 <tr class="memdesc:ga68916e729e55d513f88ffafbadddb770"><td class="mdescLeft">&#160;</td><td class="mdescRight">General statistics from current state of the Allocator - total memory usage across all memory heaps and types.  <br /></td></tr>
-<tr class="memitem:gaa078667e71b1ef24e87a6a30d128381d" id="r_gaa078667e71b1ef24e87a6a30d128381d"><td class="memItemLeft" align="right" valign="top">typedef struct VmaBudget&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaa078667e71b1ef24e87a6a30d128381d">VmaBudget</a></td></tr>
+<tr class="memitem:gaa078667e71b1ef24e87a6a30d128381d" id="r_gaa078667e71b1ef24e87a6a30d128381d"><td class="memItemLeft">typedef struct VmaBudget&#160;</td><td class="memItemRight"><a class="el" href="#gaa078667e71b1ef24e87a6a30d128381d">VmaBudget</a></td></tr>
 <tr class="memdesc:gaa078667e71b1ef24e87a6a30d128381d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics of current memory usage and available budget for a specific memory heap.  <br /></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
 Functions</h2></td></tr>
-<tr class="memitem:ga36f3484de7aa6cd6edc4de9edfa0ff59" id="r_ga36f3484de7aa6cd6edc4de9edfa0ff59"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga36f3484de7aa6cd6edc4de9edfa0ff59">vmaCalculateStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a> *pStats)</td></tr>
+<tr class="memitem:ga36f3484de7aa6cd6edc4de9edfa0ff59" id="r_ga36f3484de7aa6cd6edc4de9edfa0ff59"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga36f3484de7aa6cd6edc4de9edfa0ff59">vmaCalculateStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a> *pStats)</td></tr>
 <tr class="memdesc:ga36f3484de7aa6cd6edc4de9edfa0ff59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves statistics from current state of the Allocator.  <br /></td></tr>
-<tr class="memitem:ga9f88db9d46a432c0ad7278cecbc5eaa7" id="r_ga9f88db9d46a432c0ad7278cecbc5eaa7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9f88db9d46a432c0ad7278cecbc5eaa7">vmaGetHeapBudgets</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_budget.html">VmaBudget</a> *pBudgets)</td></tr>
+<tr class="memitem:ga9f88db9d46a432c0ad7278cecbc5eaa7" id="r_ga9f88db9d46a432c0ad7278cecbc5eaa7"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga9f88db9d46a432c0ad7278cecbc5eaa7">vmaGetHeapBudgets</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_budget.html">VmaBudget</a> *pBudgets)</td></tr>
 <tr class="memdesc:ga9f88db9d46a432c0ad7278cecbc5eaa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves information about current memory usage and budget for all memory heaps.  <br /></td></tr>
-<tr class="memitem:ga34d8e7d83774eed0caee5c5ae88e217d" id="r_ga34d8e7d83774eed0caee5c5ae88e217d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga34d8e7d83774eed0caee5c5ae88e217d">vmaGetPoolStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> *pPoolStats)</td></tr>
+<tr class="memitem:ga34d8e7d83774eed0caee5c5ae88e217d" id="r_ga34d8e7d83774eed0caee5c5ae88e217d"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga34d8e7d83774eed0caee5c5ae88e217d">vmaGetPoolStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> *pPoolStats)</td></tr>
 <tr class="memdesc:ga34d8e7d83774eed0caee5c5ae88e217d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves statistics of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object.  <br /></td></tr>
-<tr class="memitem:ga50ba0eb25d2b363b792be4645ca7a380" id="r_ga50ba0eb25d2b363b792be4645ca7a380"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga50ba0eb25d2b363b792be4645ca7a380">vmaCalculatePoolStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> *pPoolStats)</td></tr>
+<tr class="memitem:ga50ba0eb25d2b363b792be4645ca7a380" id="r_ga50ba0eb25d2b363b792be4645ca7a380"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga50ba0eb25d2b363b792be4645ca7a380">vmaCalculatePoolStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> *pPoolStats)</td></tr>
 <tr class="memdesc:ga50ba0eb25d2b363b792be4645ca7a380"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves detailed statistics of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object.  <br /></td></tr>
-<tr class="memitem:ga52d810e1222c592e5d80556ad005f1e6" id="r_ga52d810e1222c592e5d80556ad005f1e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga52d810e1222c592e5d80556ad005f1e6">vmaBuildVirtualBlockStatsString</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, char **ppStatsString, VkBool32 detailedMap)</td></tr>
+<tr class="memitem:ga52d810e1222c592e5d80556ad005f1e6" id="r_ga52d810e1222c592e5d80556ad005f1e6"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga52d810e1222c592e5d80556ad005f1e6">vmaBuildVirtualBlockStatsString</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, char **ppStatsString, VkBool32 detailedMap)</td></tr>
 <tr class="memdesc:ga52d810e1222c592e5d80556ad005f1e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds and returns a null-terminated string in JSON format with information about given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga47fb8d8aa69df4a7c23a9719b4080623" id="r_ga47fb8d8aa69df4a7c23a9719b4080623"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga47fb8d8aa69df4a7c23a9719b4080623">vmaFreeVirtualBlockStatsString</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, char *pStatsString)</td></tr>
+<tr class="memitem:ga47fb8d8aa69df4a7c23a9719b4080623" id="r_ga47fb8d8aa69df4a7c23a9719b4080623"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga47fb8d8aa69df4a7c23a9719b4080623">vmaFreeVirtualBlockStatsString</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, char *pStatsString)</td></tr>
 <tr class="memdesc:ga47fb8d8aa69df4a7c23a9719b4080623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees a string returned by <a class="el" href="#ga52d810e1222c592e5d80556ad005f1e6" title="Builds and returns a null-terminated string in JSON format with information about given VmaVirtualBlo...">vmaBuildVirtualBlockStatsString()</a>.  <br /></td></tr>
-<tr class="memitem:gaa4fee7eb5253377599ef4fd38c93c2a0" id="r_gaa4fee7eb5253377599ef4fd38c93c2a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaa4fee7eb5253377599ef4fd38c93c2a0">vmaBuildStatsString</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, char **ppStatsString, VkBool32 detailedMap)</td></tr>
+<tr class="memitem:gaa4fee7eb5253377599ef4fd38c93c2a0" id="r_gaa4fee7eb5253377599ef4fd38c93c2a0"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#gaa4fee7eb5253377599ef4fd38c93c2a0">vmaBuildStatsString</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, char **ppStatsString, VkBool32 detailedMap)</td></tr>
 <tr class="memdesc:gaa4fee7eb5253377599ef4fd38c93c2a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds and returns statistics as a null-terminated string in JSON format.  <br /></td></tr>
-<tr class="memitem:ga3104eb30d8122c84dd8541063f145288" id="r_ga3104eb30d8122c84dd8541063f145288"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga3104eb30d8122c84dd8541063f145288">vmaFreeStatsString</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, char *pStatsString)</td></tr>
+<tr class="memitem:ga3104eb30d8122c84dd8541063f145288" id="r_ga3104eb30d8122c84dd8541063f145288"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga3104eb30d8122c84dd8541063f145288">vmaFreeStatsString</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, char *pStatsString)</td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
-<p>API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. See documentation chapter: <a class="el" href="statistics.html">Statistics</a>. </p>
-<a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
+<div class="textblock"><p>API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. See documentation chapter: <a class="el" href="statistics.html" title="Statistics">Statistics</a>. </p>
+</div><a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
 <a id="gaa078667e71b1ef24e87a6a30d128381d" name="gaa078667e71b1ef24e87a6a30d128381d"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#gaa078667e71b1ef24e87a6a30d128381d">&#9670;&#160;</a></span>VmaBudget</h2>
 
@@ -448,7 +448,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/group__group__virtual.html b/docs/html/group__group__virtual.html
index b5e23cc..538bc6c 100644
--- a/docs/html/group__group__virtual.html
+++ b/docs/html/group__group__virtual.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Virtual allocator</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -80,47 +80,47 @@
 </div><!--header-->
 <div class="contents">
 
-<p>API elements related to the mechanism of <a class="el" href="virtual_allocator.html">Virtual allocator</a> - using the core allocation algorithm for user-defined purpose without allocating any real GPU memory.  
+<p>API elements related to the mechanism of <a class="el" href="virtual_allocator.html" title="Virtual allocator">Virtual allocator</a> - using the core allocation algorithm for user-defined purpose without allocating any real GPU memory.  
 <a href="#details">More...</a></p>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
 Classes</h2></td></tr>
-<tr class="memitem:VmaVirtualBlockCreateInfo" id="r_VmaVirtualBlockCreateInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_virtual_block_create_info.html">VmaVirtualBlockCreateInfo</a></td></tr>
+<tr class="memitem:VmaVirtualBlockCreateInfo" id="r_VmaVirtualBlockCreateInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_virtual_block_create_info.html">VmaVirtualBlockCreateInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of created <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a> object to be passed to <a class="el" href="#gab585754076877265fdae33e5c40ef13b" title="Creates new VmaVirtualBlock object.">vmaCreateVirtualBlock()</a>.  <a href="struct_vma_virtual_block_create_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaVirtualAllocationCreateInfo" id="r_VmaVirtualAllocationCreateInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_virtual_allocation_create_info.html">VmaVirtualAllocationCreateInfo</a></td></tr>
+<tr class="memitem:VmaVirtualAllocationCreateInfo" id="r_VmaVirtualAllocationCreateInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_virtual_allocation_create_info.html">VmaVirtualAllocationCreateInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of created virtual allocation to be passed to <a class="el" href="#ga6b7cdcc1c3e5103c323fedc4e1319e01" title="Allocates new virtual allocation inside given VmaVirtualBlock.">vmaVirtualAllocate()</a>.  <a href="struct_vma_virtual_allocation_create_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaVirtualAllocationInfo" id="r_VmaVirtualAllocationInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_virtual_allocation_info.html">VmaVirtualAllocationInfo</a></td></tr>
+<tr class="memitem:VmaVirtualAllocationInfo" id="r_VmaVirtualAllocationInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_virtual_allocation_info.html">VmaVirtualAllocationInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of an existing virtual allocation, returned by <a class="el" href="#ga8ee14ceb1fe033ec84d8aa29e1f75afa" title="Returns information about a specific virtual allocation within a virtual block, like its size and pUs...">vmaGetVirtualAllocationInfo()</a>.  <a href="struct_vma_virtual_allocation_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaVirtualAllocation" id="r_VmaVirtualAllocation"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a></td></tr>
+<tr class="memitem:VmaVirtualAllocation" id="r_VmaVirtualAllocation"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents single memory allocation done inside <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <a href="struct_vma_virtual_allocation.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaVirtualBlock" id="r_VmaVirtualBlock"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a></td></tr>
+<tr class="memitem:VmaVirtualBlock" id="r_VmaVirtualBlock"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle to a virtual block object that allows to use core allocation algorithm without allocating any real GPU memory.  <a href="struct_vma_virtual_block.html#details">More...</a><br /></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
 Typedefs</h2></td></tr>
-<tr class="memitem:ga0860ba1c0a67178fae4aecb63a78573e" id="r_ga0860ba1c0a67178fae4aecb63a78573e"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="#ga88bcf8c1cd3bb1610ff7343811c65bca">VmaVirtualBlockCreateFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0860ba1c0a67178fae4aecb63a78573e">VmaVirtualBlockCreateFlagBits</a></td></tr>
+<tr class="memitem:ga0860ba1c0a67178fae4aecb63a78573e" id="r_ga0860ba1c0a67178fae4aecb63a78573e"><td class="memItemLeft">typedef enum <a class="el" href="#ga88bcf8c1cd3bb1610ff7343811c65bca">VmaVirtualBlockCreateFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="#ga0860ba1c0a67178fae4aecb63a78573e">VmaVirtualBlockCreateFlagBits</a></td></tr>
 <tr class="memdesc:ga0860ba1c0a67178fae4aecb63a78573e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_virtual_block_create_info.html#aaab9bf7e2d228c02ab6d90a72a6e6912" title="Use combination of VmaVirtualBlockCreateFlagBits.">VmaVirtualBlockCreateInfo::flags</a>.  <br /></td></tr>
-<tr class="memitem:ga4e49c2f0ab7f6b4868833e5bac78d91e" id="r_ga4e49c2f0ab7f6b4868833e5bac78d91e"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga4e49c2f0ab7f6b4868833e5bac78d91e">VmaVirtualBlockCreateFlags</a></td></tr>
+<tr class="memitem:ga4e49c2f0ab7f6b4868833e5bac78d91e" id="r_ga4e49c2f0ab7f6b4868833e5bac78d91e"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="#ga4e49c2f0ab7f6b4868833e5bac78d91e">VmaVirtualBlockCreateFlags</a></td></tr>
 <tr class="memdesc:ga4e49c2f0ab7f6b4868833e5bac78d91e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_virtual_block_create_info.html#aaab9bf7e2d228c02ab6d90a72a6e6912" title="Use combination of VmaVirtualBlockCreateFlagBits.">VmaVirtualBlockCreateInfo::flags</a>. See <a class="el" href="#ga88bcf8c1cd3bb1610ff7343811c65bca" title="Flags to be passed as VmaVirtualBlockCreateInfo::flags.">VmaVirtualBlockCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga936815e64946a6b6d812d08d10184c23" id="r_ga936815e64946a6b6d812d08d10184c23"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="#ga2e9c64d405b14156fea7e10c4ad06cb6">VmaVirtualAllocationCreateFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga936815e64946a6b6d812d08d10184c23">VmaVirtualAllocationCreateFlagBits</a></td></tr>
+<tr class="memitem:ga936815e64946a6b6d812d08d10184c23" id="r_ga936815e64946a6b6d812d08d10184c23"><td class="memItemLeft">typedef enum <a class="el" href="#ga2e9c64d405b14156fea7e10c4ad06cb6">VmaVirtualAllocationCreateFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="#ga936815e64946a6b6d812d08d10184c23">VmaVirtualAllocationCreateFlagBits</a></td></tr>
 <tr class="memdesc:ga936815e64946a6b6d812d08d10184c23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_virtual_allocation_create_info.html#ab10e16956cc4bf20ced9de77d1129ea4" title="Use combination of VmaVirtualAllocationCreateFlagBits.">VmaVirtualAllocationCreateInfo::flags</a>.  <br /></td></tr>
-<tr class="memitem:gae96ffc099bf898257fb19e9410ed08a7" id="r_gae96ffc099bf898257fb19e9410ed08a7"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gae96ffc099bf898257fb19e9410ed08a7">VmaVirtualAllocationCreateFlags</a></td></tr>
+<tr class="memitem:gae96ffc099bf898257fb19e9410ed08a7" id="r_gae96ffc099bf898257fb19e9410ed08a7"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="#gae96ffc099bf898257fb19e9410ed08a7">VmaVirtualAllocationCreateFlags</a></td></tr>
 <tr class="memdesc:gae96ffc099bf898257fb19e9410ed08a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_virtual_allocation_create_info.html#ab10e16956cc4bf20ced9de77d1129ea4" title="Use combination of VmaVirtualAllocationCreateFlagBits.">VmaVirtualAllocationCreateInfo::flags</a>. See <a class="el" href="#ga2e9c64d405b14156fea7e10c4ad06cb6" title="Flags to be passed as VmaVirtualAllocationCreateInfo::flags.">VmaVirtualAllocationCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga4753d42d40217a3a652a3cdf253ad773" id="r_ga4753d42d40217a3a652a3cdf253ad773"><td class="memItemLeft" align="right" valign="top">typedef struct VmaVirtualBlockCreateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga4753d42d40217a3a652a3cdf253ad773">VmaVirtualBlockCreateInfo</a></td></tr>
+<tr class="memitem:ga4753d42d40217a3a652a3cdf253ad773" id="r_ga4753d42d40217a3a652a3cdf253ad773"><td class="memItemLeft">typedef struct VmaVirtualBlockCreateInfo&#160;</td><td class="memItemRight"><a class="el" href="#ga4753d42d40217a3a652a3cdf253ad773">VmaVirtualBlockCreateInfo</a></td></tr>
 <tr class="memdesc:ga4753d42d40217a3a652a3cdf253ad773"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of created <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a> object to be passed to <a class="el" href="#gab585754076877265fdae33e5c40ef13b" title="Creates new VmaVirtualBlock object.">vmaCreateVirtualBlock()</a>.  <br /></td></tr>
-<tr class="memitem:gac3c90d80bedc6847a41b82d0e2158c9e" id="r_gac3c90d80bedc6847a41b82d0e2158c9e"><td class="memItemLeft" align="right" valign="top">typedef struct VmaVirtualAllocationCreateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac3c90d80bedc6847a41b82d0e2158c9e">VmaVirtualAllocationCreateInfo</a></td></tr>
+<tr class="memitem:gac3c90d80bedc6847a41b82d0e2158c9e" id="r_gac3c90d80bedc6847a41b82d0e2158c9e"><td class="memItemLeft">typedef struct VmaVirtualAllocationCreateInfo&#160;</td><td class="memItemRight"><a class="el" href="#gac3c90d80bedc6847a41b82d0e2158c9e">VmaVirtualAllocationCreateInfo</a></td></tr>
 <tr class="memdesc:gac3c90d80bedc6847a41b82d0e2158c9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of created virtual allocation to be passed to <a class="el" href="#ga6b7cdcc1c3e5103c323fedc4e1319e01" title="Allocates new virtual allocation inside given VmaVirtualBlock.">vmaVirtualAllocate()</a>.  <br /></td></tr>
-<tr class="memitem:ga75bc33ff7cf18c98e101f570dc2a5ebc" id="r_ga75bc33ff7cf18c98e101f570dc2a5ebc"><td class="memItemLeft" align="right" valign="top">typedef struct VmaVirtualAllocationInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga75bc33ff7cf18c98e101f570dc2a5ebc">VmaVirtualAllocationInfo</a></td></tr>
+<tr class="memitem:ga75bc33ff7cf18c98e101f570dc2a5ebc" id="r_ga75bc33ff7cf18c98e101f570dc2a5ebc"><td class="memItemLeft">typedef struct VmaVirtualAllocationInfo&#160;</td><td class="memItemRight"><a class="el" href="#ga75bc33ff7cf18c98e101f570dc2a5ebc">VmaVirtualAllocationInfo</a></td></tr>
 <tr class="memdesc:ga75bc33ff7cf18c98e101f570dc2a5ebc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of an existing virtual allocation, returned by <a class="el" href="#ga8ee14ceb1fe033ec84d8aa29e1f75afa" title="Returns information about a specific virtual allocation within a virtual block, like its size and pUs...">vmaGetVirtualAllocationInfo()</a>.  <br /></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
 Enumerations</h2></td></tr>
-<tr class="memitem:ga88bcf8c1cd3bb1610ff7343811c65bca" id="r_ga88bcf8c1cd3bb1610ff7343811c65bca"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga88bcf8c1cd3bb1610ff7343811c65bca">VmaVirtualBlockCreateFlagBits</a> { <a class="el" href="#gga88bcf8c1cd3bb1610ff7343811c65bcaae6423e2fa2f3c9211b21c819e3f10f96">VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT</a> = 0x00000001
+<tr class="memitem:ga88bcf8c1cd3bb1610ff7343811c65bca" id="r_ga88bcf8c1cd3bb1610ff7343811c65bca"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="#ga88bcf8c1cd3bb1610ff7343811c65bca">VmaVirtualBlockCreateFlagBits</a> { <a class="el" href="#gga88bcf8c1cd3bb1610ff7343811c65bcaae6423e2fa2f3c9211b21c819e3f10f96">VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT</a> = 0x00000001
 , <a class="el" href="#gga88bcf8c1cd3bb1610ff7343811c65bcaaf9487467136e1a9e371894dc3a7c4844">VMA_VIRTUAL_BLOCK_CREATE_ALGORITHM_MASK</a>
 , <a class="el" href="#gga88bcf8c1cd3bb1610ff7343811c65bcaa5fc0d333c3d5687a8bbf57df9b377a87">VMA_VIRTUAL_BLOCK_CREATE_FLAG_BITS_MAX_ENUM</a> = 0x7FFFFFFF
  }</td></tr>
 <tr class="memdesc:ga88bcf8c1cd3bb1610ff7343811c65bca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_virtual_block_create_info.html#aaab9bf7e2d228c02ab6d90a72a6e6912" title="Use combination of VmaVirtualBlockCreateFlagBits.">VmaVirtualBlockCreateInfo::flags</a>.  <a href="#ga88bcf8c1cd3bb1610ff7343811c65bca">More...</a><br /></td></tr>
-<tr class="memitem:ga2e9c64d405b14156fea7e10c4ad06cb6" id="r_ga2e9c64d405b14156fea7e10c4ad06cb6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2e9c64d405b14156fea7e10c4ad06cb6">VmaVirtualAllocationCreateFlagBits</a> { <br />
+<tr class="memitem:ga2e9c64d405b14156fea7e10c4ad06cb6" id="r_ga2e9c64d405b14156fea7e10c4ad06cb6"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="#ga2e9c64d405b14156fea7e10c4ad06cb6">VmaVirtualAllocationCreateFlagBits</a> { <br />
 &#160;&#160;<a class="el" href="#gga2e9c64d405b14156fea7e10c4ad06cb6a9524a329a55b5ec390d57d90b67ad78e">VMA_VIRTUAL_ALLOCATION_CREATE_UPPER_ADDRESS_BIT</a> = VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT
 , <a class="el" href="#gga2e9c64d405b14156fea7e10c4ad06cb6ae2a9591a62b5e3b1bdcbc81c6188a1bf">VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT</a> = VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT
 , <a class="el" href="#gga2e9c64d405b14156fea7e10c4ad06cb6a562d10a46012719d33167d3dc5dbbf9b">VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT</a> = VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT
@@ -134,30 +134,30 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
 Functions</h2></td></tr>
-<tr class="memitem:gab585754076877265fdae33e5c40ef13b" id="r_gab585754076877265fdae33e5c40ef13b"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gab585754076877265fdae33e5c40ef13b">vmaCreateVirtualBlock</a> (const <a class="el" href="struct_vma_virtual_block_create_info.html">VmaVirtualBlockCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> *pVirtualBlock)</td></tr>
+<tr class="memitem:gab585754076877265fdae33e5c40ef13b" id="r_gab585754076877265fdae33e5c40ef13b"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#gab585754076877265fdae33e5c40ef13b">vmaCreateVirtualBlock</a> (const <a class="el" href="struct_vma_virtual_block_create_info.html">VmaVirtualBlockCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> *pVirtualBlock)</td></tr>
 <tr class="memdesc:gab585754076877265fdae33e5c40ef13b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates new <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a> object.  <br /></td></tr>
-<tr class="memitem:ga3795f7783ae2c182cede067d656f66a5" id="r_ga3795f7783ae2c182cede067d656f66a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga3795f7783ae2c182cede067d656f66a5">vmaDestroyVirtualBlock</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
+<tr class="memitem:ga3795f7783ae2c182cede067d656f66a5" id="r_ga3795f7783ae2c182cede067d656f66a5"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga3795f7783ae2c182cede067d656f66a5">vmaDestroyVirtualBlock</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
 <tr class="memdesc:ga3795f7783ae2c182cede067d656f66a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a> object.  <br /></td></tr>
-<tr class="memitem:gacd53b5b1d23f8fcbad692ccfdc1811f1" id="r_gacd53b5b1d23f8fcbad692ccfdc1811f1"><td class="memItemLeft" align="right" valign="top">VkBool32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gacd53b5b1d23f8fcbad692ccfdc1811f1">vmaIsVirtualBlockEmpty</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
+<tr class="memitem:gacd53b5b1d23f8fcbad692ccfdc1811f1" id="r_gacd53b5b1d23f8fcbad692ccfdc1811f1"><td class="memItemLeft">VkBool32&#160;</td><td class="memItemRight"><a class="el" href="#gacd53b5b1d23f8fcbad692ccfdc1811f1">vmaIsVirtualBlockEmpty</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
 <tr class="memdesc:gacd53b5b1d23f8fcbad692ccfdc1811f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true of the <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a> is empty - contains 0 virtual allocations and has all its space available for new allocations.  <br /></td></tr>
-<tr class="memitem:ga8ee14ceb1fe033ec84d8aa29e1f75afa" id="r_ga8ee14ceb1fe033ec84d8aa29e1f75afa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga8ee14ceb1fe033ec84d8aa29e1f75afa">vmaGetVirtualAllocationInfo</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation, <a class="el" href="struct_vma_virtual_allocation_info.html">VmaVirtualAllocationInfo</a> *pVirtualAllocInfo)</td></tr>
+<tr class="memitem:ga8ee14ceb1fe033ec84d8aa29e1f75afa" id="r_ga8ee14ceb1fe033ec84d8aa29e1f75afa"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga8ee14ceb1fe033ec84d8aa29e1f75afa">vmaGetVirtualAllocationInfo</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation, <a class="el" href="struct_vma_virtual_allocation_info.html">VmaVirtualAllocationInfo</a> *pVirtualAllocInfo)</td></tr>
 <tr class="memdesc:ga8ee14ceb1fe033ec84d8aa29e1f75afa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about a specific virtual allocation within a virtual block, like its size and <span class="tt">pUserData</span> pointer.  <br /></td></tr>
-<tr class="memitem:ga6b7cdcc1c3e5103c323fedc4e1319e01" id="r_ga6b7cdcc1c3e5103c323fedc4e1319e01"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga6b7cdcc1c3e5103c323fedc4e1319e01">vmaVirtualAllocate</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, const <a class="el" href="struct_vma_virtual_allocation_create_info.html">VmaVirtualAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> *pAllocation, VkDeviceSize *pOffset)</td></tr>
+<tr class="memitem:ga6b7cdcc1c3e5103c323fedc4e1319e01" id="r_ga6b7cdcc1c3e5103c323fedc4e1319e01"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="#ga6b7cdcc1c3e5103c323fedc4e1319e01">vmaVirtualAllocate</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, const <a class="el" href="struct_vma_virtual_allocation_create_info.html">VmaVirtualAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> *pAllocation, VkDeviceSize *pOffset)</td></tr>
 <tr class="memdesc:ga6b7cdcc1c3e5103c323fedc4e1319e01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates new virtual allocation inside given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga09fc688c0c3653ff23723b037e5d5033" id="r_ga09fc688c0c3653ff23723b037e5d5033"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga09fc688c0c3653ff23723b037e5d5033">vmaVirtualFree</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation)</td></tr>
+<tr class="memitem:ga09fc688c0c3653ff23723b037e5d5033" id="r_ga09fc688c0c3653ff23723b037e5d5033"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga09fc688c0c3653ff23723b037e5d5033">vmaVirtualFree</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation)</td></tr>
 <tr class="memdesc:ga09fc688c0c3653ff23723b037e5d5033"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees virtual allocation inside given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga5eda6f55919fb05bd2f56a112590c571" id="r_ga5eda6f55919fb05bd2f56a112590c571"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga5eda6f55919fb05bd2f56a112590c571">vmaClearVirtualBlock</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
+<tr class="memitem:ga5eda6f55919fb05bd2f56a112590c571" id="r_ga5eda6f55919fb05bd2f56a112590c571"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga5eda6f55919fb05bd2f56a112590c571">vmaClearVirtualBlock</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
 <tr class="memdesc:ga5eda6f55919fb05bd2f56a112590c571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees all virtual allocations inside given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga001ea1850458a4062b829e09c303fca2" id="r_ga001ea1850458a4062b829e09c303fca2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga001ea1850458a4062b829e09c303fca2">vmaSetVirtualAllocationUserData</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation, void *pUserData)</td></tr>
+<tr class="memitem:ga001ea1850458a4062b829e09c303fca2" id="r_ga001ea1850458a4062b829e09c303fca2"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga001ea1850458a4062b829e09c303fca2">vmaSetVirtualAllocationUserData</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation, void *pUserData)</td></tr>
 <tr class="memdesc:ga001ea1850458a4062b829e09c303fca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes custom pointer associated with given virtual allocation.  <br /></td></tr>
-<tr class="memitem:ga2902aa3130866afcc64bb5f984113db3" id="r_ga2902aa3130866afcc64bb5f984113db3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2902aa3130866afcc64bb5f984113db3">vmaGetVirtualBlockStatistics</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> *pStats)</td></tr>
+<tr class="memitem:ga2902aa3130866afcc64bb5f984113db3" id="r_ga2902aa3130866afcc64bb5f984113db3"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga2902aa3130866afcc64bb5f984113db3">vmaGetVirtualBlockStatistics</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> *pStats)</td></tr>
 <tr class="memdesc:ga2902aa3130866afcc64bb5f984113db3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates and returns statistics about virtual allocations and memory usage in given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga93c5741bca44b43e5b849cacbd616098" id="r_ga93c5741bca44b43e5b849cacbd616098"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga93c5741bca44b43e5b849cacbd616098">vmaCalculateVirtualBlockStatistics</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> *pStats)</td></tr>
+<tr class="memitem:ga93c5741bca44b43e5b849cacbd616098" id="r_ga93c5741bca44b43e5b849cacbd616098"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="#ga93c5741bca44b43e5b849cacbd616098">vmaCalculateVirtualBlockStatistics</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> *pStats)</td></tr>
 <tr class="memdesc:ga93c5741bca44b43e5b849cacbd616098"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates and returns detailed statistics about virtual allocations and memory usage in given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
-<p>API elements related to the mechanism of <a class="el" href="virtual_allocator.html">Virtual allocator</a> - using the core allocation algorithm for user-defined purpose without allocating any real GPU memory. </p>
-<a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
+<div class="textblock"><p>API elements related to the mechanism of <a class="el" href="virtual_allocator.html" title="Virtual allocator">Virtual allocator</a> - using the core allocation algorithm for user-defined purpose without allocating any real GPU memory. </p>
+</div><a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
 <a id="ga936815e64946a6b6d812d08d10184c23" name="ga936815e64946a6b6d812d08d10184c23"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ga936815e64946a6b6d812d08d10184c23">&#9670;&#160;</a></span>VmaVirtualAllocationCreateFlagBits</h2>
 
@@ -318,7 +318,7 @@
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga88bcf8c1cd3bb1610ff7343811c65bcaae6423e2fa2f3c9211b21c819e3f10f96" name="gga88bcf8c1cd3bb1610ff7343811c65bcaae6423e2fa2f3c9211b21c819e3f10f96"></a>VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT&#160;</td><td class="fielddoc"><p>Enables alternative, linear allocation algorithm in this virtual block. </p>
 <p>Specify this flag to enable linear allocation algorithm, which always creates new allocations after last one and doesn't reuse space from allocations freed in between. It trades memory consumption for simplified algorithm and data structure, which has better performance and uses less memory for metadata.</p>
-<p>By using this flag, you can achieve behavior of free-at-once, stack, ring buffer, and double stack. For details, see documentation chapter <a class="el" href="custom_memory_pools.html#linear_algorithm">Linear allocation algorithm</a>. </p>
+<p>By using this flag, you can achieve behavior of free-at-once, stack, ring buffer, and double stack. For details, see documentation chapter <a class="el" href="custom_memory_pools.html#linear_algorithm" title="Linear allocation algorithm">Linear allocation algorithm</a>. </p>
 </td></tr>
 <tr><td class="fieldname"><a id="gga88bcf8c1cd3bb1610ff7343811c65bcaaf9487467136e1a9e371894dc3a7c4844" name="gga88bcf8c1cd3bb1610ff7343811c65bcaaf9487467136e1a9e371894dc3a7c4844"></a>VMA_VIRTUAL_BLOCK_CREATE_ALGORITHM_MASK&#160;</td><td class="fielddoc"><p>Bit mask to extract only <span class="tt">ALGORITHM</span> bits from entire set of flags. </p>
 </td></tr>
@@ -593,7 +593,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/index.html b/docs/html/index.html
index a8297ef..87e6a53 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Vulkan Memory Allocator</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -75,104 +75,104 @@
 </div><!--header-->
 <div class="contents">
 <div class="textblock"><p><b>Version 3.4.0-development</b></p>
-<p>Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. <br  />
+<p>Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved. <br  />
 License: MIT <br  />
 See also: <a href="https://gpuopen.com/vulkan-memory-allocator/">product page on GPUOpen</a>, <a href="https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator">repository on GitHub</a></p>
 <p><b>API documentation divided into groups:</b> <a href="topics.html">Topics</a></p>
 <p><b>General documentation chapters:</b></p>
 <ul>
-<li><a class="el" href="faq.html">Frequently asked questions</a></li>
-<li><a class="el" href="quick_start.html">Quick start</a><ul>
-<li><a class="el" href="quick_start.html#quick_start_project_setup">Project setup</a></li>
-<li><a class="el" href="quick_start.html#quick_start_initialization">Initialization</a></li>
-<li><a class="el" href="quick_start.html#quick_start_resource_allocation">Resource allocation</a></li>
+<li><a class="el" href="faq.html" title="Frequently asked questions">Frequently asked questions</a></li>
+<li><a class="el" href="quick_start.html" title="Quick start">Quick start</a><ul>
+<li><a class="el" href="quick_start.html#quick_start_project_setup" title="Project setup">Project setup</a></li>
+<li><a class="el" href="quick_start.html#quick_start_initialization" title="Initialization">Initialization</a></li>
+<li><a class="el" href="quick_start.html#quick_start_resource_allocation" title="Resource allocation">Resource allocation</a></li>
 </ul>
 </li>
-<li><a class="el" href="choosing_memory_type.html">Choosing memory type</a><ul>
-<li><a class="el" href="choosing_memory_type.html#choosing_memory_type_usage">Usage</a></li>
-<li><a class="el" href="choosing_memory_type.html#choosing_memory_type_required_preferred_flags">Required and preferred flags</a></li>
-<li><a class="el" href="choosing_memory_type.html#choosing_memory_type_explicit_memory_types">Explicit memory types</a></li>
-<li><a class="el" href="choosing_memory_type.html#choosing_memory_type_custom_memory_pools">Custom memory pools</a></li>
-<li><a class="el" href="choosing_memory_type.html#choosing_memory_type_dedicated_allocations">Dedicated allocations</a></li>
+<li><a class="el" href="choosing_memory_type.html" title="Choosing memory type">Choosing memory type</a><ul>
+<li><a class="el" href="choosing_memory_type.html#choosing_memory_type_usage" title="Usage">Usage</a></li>
+<li><a class="el" href="choosing_memory_type.html#choosing_memory_type_required_preferred_flags" title="Required and preferred flags">Required and preferred flags</a></li>
+<li><a class="el" href="choosing_memory_type.html#choosing_memory_type_explicit_memory_types" title="Explicit memory types">Explicit memory types</a></li>
+<li><a class="el" href="choosing_memory_type.html#choosing_memory_type_custom_memory_pools" title="Custom memory pools">Custom memory pools</a></li>
+<li><a class="el" href="choosing_memory_type.html#choosing_memory_type_dedicated_allocations" title="Dedicated allocations">Dedicated allocations</a></li>
 </ul>
 </li>
-<li><a class="el" href="memory_mapping.html">Memory mapping</a><ul>
-<li><a class="el" href="memory_mapping.html#memory_mapping_copy_functions">Copy functions</a></li>
-<li><a class="el" href="memory_mapping.html#memory_mapping_mapping_functions">Mapping functions</a></li>
-<li><a class="el" href="memory_mapping.html#memory_mapping_persistently_mapped_memory">Persistently mapped memory</a></li>
-<li><a class="el" href="memory_mapping.html#memory_mapping_cache_control">Cache flush and invalidate</a></li>
+<li><a class="el" href="memory_mapping.html" title="Memory mapping">Memory mapping</a><ul>
+<li><a class="el" href="memory_mapping.html#memory_mapping_copy_functions" title="Copy functions">Copy functions</a></li>
+<li><a class="el" href="memory_mapping.html#memory_mapping_mapping_functions" title="Mapping functions">Mapping functions</a></li>
+<li><a class="el" href="memory_mapping.html#memory_mapping_persistently_mapped_memory" title="Persistently mapped memory">Persistently mapped memory</a></li>
+<li><a class="el" href="memory_mapping.html#memory_mapping_cache_control" title="Cache flush and invalidate">Cache flush and invalidate</a></li>
 </ul>
 </li>
-<li><a class="el" href="staying_within_budget.html">Staying within budget</a><ul>
-<li><a class="el" href="staying_within_budget.html#staying_within_budget_querying_for_budget">Querying for budget</a></li>
-<li><a class="el" href="staying_within_budget.html#staying_within_budget_controlling_memory_usage">Controlling memory usage</a></li>
+<li><a class="el" href="staying_within_budget.html" title="Staying within budget">Staying within budget</a><ul>
+<li><a class="el" href="staying_within_budget.html#staying_within_budget_querying_for_budget" title="Querying for budget">Querying for budget</a></li>
+<li><a class="el" href="staying_within_budget.html#staying_within_budget_controlling_memory_usage" title="Controlling memory usage">Controlling memory usage</a></li>
 </ul>
 </li>
-<li><a class="el" href="resource_aliasing.html">Resource aliasing (overlap)</a></li>
-<li><a class="el" href="custom_memory_pools.html">Custom memory pools</a><ul>
-<li><a class="el" href="custom_memory_pools.html#custom_memory_pools_MemTypeIndex">Choosing memory type index</a></li>
-<li><a class="el" href="custom_memory_pools.html#custom_memory_pools_when_not_use">When not to use custom pools</a></li>
-<li><a class="el" href="custom_memory_pools.html#linear_algorithm">Linear allocation algorithm</a><ul>
-<li><a class="el" href="custom_memory_pools.html#linear_algorithm_free_at_once">Free-at-once</a></li>
-<li><a class="el" href="custom_memory_pools.html#linear_algorithm_stack">Stack</a></li>
-<li><a class="el" href="custom_memory_pools.html#linear_algorithm_double_stack">Double stack</a></li>
-<li><a class="el" href="custom_memory_pools.html#linear_algorithm_ring_buffer">Ring buffer</a></li>
+<li><a class="el" href="resource_aliasing.html" title="Resource aliasing (overlap)">Resource aliasing (overlap)</a></li>
+<li><a class="el" href="custom_memory_pools.html" title="Custom memory pools">Custom memory pools</a><ul>
+<li><a class="el" href="custom_memory_pools.html#custom_memory_pools_MemTypeIndex" title="Choosing memory type index">Choosing memory type index</a></li>
+<li><a class="el" href="custom_memory_pools.html#custom_memory_pools_when_not_use" title="When not to use custom pools">When not to use custom pools</a></li>
+<li><a class="el" href="custom_memory_pools.html#linear_algorithm" title="Linear allocation algorithm">Linear allocation algorithm</a><ul>
+<li><a class="el" href="custom_memory_pools.html#linear_algorithm_free_at_once" title="Free-at-once">Free-at-once</a></li>
+<li><a class="el" href="custom_memory_pools.html#linear_algorithm_stack" title="Stack">Stack</a></li>
+<li><a class="el" href="custom_memory_pools.html#linear_algorithm_double_stack" title="Double stack">Double stack</a></li>
+<li><a class="el" href="custom_memory_pools.html#linear_algorithm_ring_buffer" title="Ring buffer">Ring buffer</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="el" href="defragmentation.html">Defragmentation</a></li>
-<li><a class="el" href="statistics.html">Statistics</a><ul>
-<li><a class="el" href="statistics.html#statistics_numeric_statistics">Numeric statistics</a></li>
-<li><a class="el" href="statistics.html#statistics_json_dump">JSON dump</a></li>
+<li><a class="el" href="defragmentation.html" title="Defragmentation">Defragmentation</a></li>
+<li><a class="el" href="statistics.html" title="Statistics">Statistics</a><ul>
+<li><a class="el" href="statistics.html#statistics_numeric_statistics" title="Numeric statistics">Numeric statistics</a></li>
+<li><a class="el" href="statistics.html#statistics_json_dump" title="JSON dump">JSON dump</a></li>
 </ul>
 </li>
-<li><a class="el" href="allocation_annotation.html">Allocation names and user data</a><ul>
-<li><a class="el" href="allocation_annotation.html#allocation_user_data">Allocation user data</a></li>
-<li><a class="el" href="allocation_annotation.html#allocation_names">Allocation names</a></li>
+<li><a class="el" href="allocation_annotation.html" title="Allocation names and user data">Allocation names and user data</a><ul>
+<li><a class="el" href="allocation_annotation.html#allocation_user_data" title="Allocation user data">Allocation user data</a></li>
+<li><a class="el" href="allocation_annotation.html#allocation_names" title="Allocation names">Allocation names</a></li>
 </ul>
 </li>
-<li><a class="el" href="virtual_allocator.html">Virtual allocator</a></li>
-<li><a class="el" href="debugging_memory_usage.html">Debugging incorrect memory usage</a><ul>
-<li><a class="el" href="debugging_memory_usage.html#debugging_memory_usage_initialization">Memory initialization</a></li>
-<li><a class="el" href="debugging_memory_usage.html#debugging_memory_usage_margins">Margins</a></li>
-<li><a class="el" href="debugging_memory_usage.html#debugging_memory_usage_corruption_detection">Corruption detection</a></li>
-<li><a class="el" href="debugging_memory_usage.html#debugging_memory_usage_leak_detection">Leak detection features</a></li>
+<li><a class="el" href="virtual_allocator.html" title="Virtual allocator">Virtual allocator</a></li>
+<li><a class="el" href="debugging_memory_usage.html" title="Debugging incorrect memory usage">Debugging incorrect memory usage</a><ul>
+<li><a class="el" href="debugging_memory_usage.html#debugging_memory_usage_initialization" title="Memory initialization">Memory initialization</a></li>
+<li><a class="el" href="debugging_memory_usage.html#debugging_memory_usage_margins" title="Margins">Margins</a></li>
+<li><a class="el" href="debugging_memory_usage.html#debugging_memory_usage_corruption_detection" title="Corruption detection">Corruption detection</a></li>
+<li><a class="el" href="debugging_memory_usage.html#debugging_memory_usage_leak_detection" title="Leak detection features">Leak detection features</a></li>
 </ul>
 </li>
-<li><a class="el" href="other_api_interop.html">Interop with other graphics APIs</a><ul>
-<li><a class="el" href="other_api_interop.html#other_api_interop_exporting_memory">Exporting memory</a></li>
-<li><a class="el" href="other_api_interop.html#other_api_interop_importing_memory">Importing memory</a></li>
+<li><a class="el" href="other_api_interop.html" title="Interop with other graphics APIs">Interop with other graphics APIs</a><ul>
+<li><a class="el" href="other_api_interop.html#other_api_interop_exporting_memory" title="Exporting memory">Exporting memory</a></li>
+<li><a class="el" href="other_api_interop.html#other_api_interop_importing_memory" title="Importing memory">Importing memory</a></li>
 </ul>
 </li>
-<li><a class="el" href="usage_patterns.html">Recommended usage patterns</a><ul>
-<li><a class="el" href="usage_patterns.html#usage_patterns_gpu_only">GPU-only resource</a></li>
-<li><a class="el" href="usage_patterns.html#usage_patterns_staging_copy_upload">Staging copy for upload</a></li>
-<li><a class="el" href="usage_patterns.html#usage_patterns_readback">Readback</a></li>
-<li><a class="el" href="usage_patterns.html#usage_patterns_advanced_data_uploading">Advanced data uploading</a></li>
-<li><a class="el" href="usage_patterns.html#usage_patterns_other_use_cases">Other use cases</a></li>
+<li><a class="el" href="usage_patterns.html" title="Recommended usage patterns">Recommended usage patterns</a><ul>
+<li><a class="el" href="usage_patterns.html#usage_patterns_gpu_only" title="GPU-only resource">GPU-only resource</a></li>
+<li><a class="el" href="usage_patterns.html#usage_patterns_staging_copy_upload" title="Staging copy for upload">Staging copy for upload</a></li>
+<li><a class="el" href="usage_patterns.html#usage_patterns_readback" title="Readback">Readback</a></li>
+<li><a class="el" href="usage_patterns.html#usage_patterns_advanced_data_uploading" title="Advanced data uploading">Advanced data uploading</a></li>
+<li><a class="el" href="usage_patterns.html#usage_patterns_other_use_cases" title="Other use cases">Other use cases</a></li>
 </ul>
 </li>
-<li><a class="el" href="configuration.html">Configuration</a><ul>
-<li><a class="el" href="configuration.html#config_Vulkan_functions">Pointers to Vulkan functions</a></li>
-<li><a class="el" href="configuration.html#custom_memory_allocator">Custom host memory allocator</a></li>
-<li><a class="el" href="configuration.html#allocation_callbacks">Device memory allocation callbacks</a></li>
-<li><a class="el" href="configuration.html#heap_memory_limit">Device heap memory limit</a></li>
+<li><a class="el" href="configuration.html" title="Configuration">Configuration</a><ul>
+<li><a class="el" href="configuration.html#config_Vulkan_functions" title="Pointers to Vulkan functions">Pointers to Vulkan functions</a></li>
+<li><a class="el" href="configuration.html#custom_memory_allocator" title="Custom host memory allocator">Custom host memory allocator</a></li>
+<li><a class="el" href="configuration.html#allocation_callbacks" title="Device memory allocation callbacks">Device memory allocation callbacks</a></li>
+<li><a class="el" href="configuration.html#heap_memory_limit" title="Device heap memory limit">Device heap memory limit</a></li>
 </ul>
 </li>
 <li><b>Extension support</b><ul>
-<li><a class="el" href="vk_khr_dedicated_allocation.html">VK_KHR_dedicated_allocation</a></li>
-<li><a class="el" href="enabling_buffer_device_address.html">Enabling buffer device address</a></li>
-<li><a class="el" href="vk_ext_memory_priority.html">VK_EXT_memory_priority</a></li>
-<li><a class="el" href="vk_amd_device_coherent_memory.html">VK_AMD_device_coherent_memory</a></li>
+<li><a class="el" href="vk_khr_dedicated_allocation.html" title="VK_KHR_dedicated_allocation">VK_KHR_dedicated_allocation</a></li>
+<li><a class="el" href="enabling_buffer_device_address.html" title="Enabling buffer device address">Enabling buffer device address</a></li>
+<li><a class="el" href="vk_ext_memory_priority.html" title="VK_EXT_memory_priority">VK_EXT_memory_priority</a></li>
+<li><a class="el" href="vk_amd_device_coherent_memory.html" title="VK_AMD_device_coherent_memory">VK_AMD_device_coherent_memory</a></li>
 </ul>
 </li>
-<li><a class="el" href="general_considerations.html">General considerations</a><ul>
-<li><a class="el" href="general_considerations.html#general_considerations_thread_safety">Thread safety</a></li>
-<li><a class="el" href="general_considerations.html#general_considerations_versioning_and_compatibility">Versioning and compatibility</a></li>
-<li><a class="el" href="general_considerations.html#general_considerations_validation_layer_warnings">Validation layer warnings</a></li>
-<li><a class="el" href="general_considerations.html#general_considerations_allocation_algorithm">Allocation algorithm</a></li>
-<li><a class="el" href="general_considerations.html#general_considerations_features_not_supported">Features not supported</a> </li>
+<li><a class="el" href="general_considerations.html" title="General considerations">General considerations</a><ul>
+<li><a class="el" href="general_considerations.html#general_considerations_thread_safety" title="Thread safety">Thread safety</a></li>
+<li><a class="el" href="general_considerations.html#general_considerations_versioning_and_compatibility" title="Versioning and compatibility">Versioning and compatibility</a></li>
+<li><a class="el" href="general_considerations.html#general_considerations_validation_layer_warnings" title="Validation layer warnings">Validation layer warnings</a></li>
+<li><a class="el" href="general_considerations.html#general_considerations_allocation_algorithm" title="Allocation algorithm">Allocation algorithm</a></li>
+<li><a class="el" href="general_considerations.html#general_considerations_features_not_supported" title="Features not supported">Features not supported</a> </li>
 </ul>
 </li>
 </ul>
@@ -181,7 +181,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/memory_mapping.html b/docs/html/memory_mapping.html
index bdc0de9..ea1c337 100644
--- a/docs/html/memory_mapping.html
+++ b/docs/html/memory_mapping.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Memory mapping</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -157,9 +157,9 @@
 <div class="line"><span class="comment">// Buffer is already mapped. You can access its memory.</span></div>
 <div class="line">memcpy(allocInfo.<a class="code hl_variable" href="struct_vma_allocation_info.html#a5eeffbe2d2f30f53370ff14aefbadbe2">pMappedData</a>, &amp;constantBufferData, <span class="keyword">sizeof</span>(constantBufferData));</div>
 <div class="ttc" id="agroup__group__alloc_html_ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f"><div class="ttname"><a href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f">VMA_ALLOCATION_CREATE_MAPPED_BIT</a></div><div class="ttdeci">@ VMA_ALLOCATION_CREATE_MAPPED_BIT</div><div class="ttdoc">Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:613</div></div>
-<div class="ttc" id="astruct_vma_allocation_info_html"><div class="ttname"><a href="struct_vma_allocation_info.html">VmaAllocationInfo</a></div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1413</div></div>
-<div class="ttc" id="astruct_vma_allocation_info_html_a5eeffbe2d2f30f53370ff14aefbadbe2"><div class="ttname"><a href="struct_vma_allocation_info.html#a5eeffbe2d2f30f53370ff14aefbadbe2">VmaAllocationInfo::pMappedData</a></div><div class="ttdeci">void * pMappedData</div><div class="ttdoc">Pointer to the beginning of this allocation as mapped data.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1455</div></div>
-</div><!-- fragment --><dl class="section note"><dt>Note</dt><dd><a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f" title="Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.">VMA_ALLOCATION_CREATE_MAPPED_BIT</a> by itself doesn't guarantee that the allocation will end up in a mappable memory type. For this, you need to also specify <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a9be224df3bfc1cfa06203aed689a30c5">VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT</a> or <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597add61238d98e20917b9a06c617763f492">VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT</a>. <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f" title="Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.">VMA_ALLOCATION_CREATE_MAPPED_BIT</a> only guarantees that if the memory is <span class="tt">HOST_VISIBLE</span>, the allocation will be mapped on creation. For an example of how to make use of this fact, see section <a class="el" href="usage_patterns.html#usage_patterns_advanced_data_uploading">Advanced data uploading</a>.</dd></dl>
+<div class="ttc" id="astruct_vma_allocation_info_html"><div class="ttname"><a href="struct_vma_allocation_info.html">VmaAllocationInfo</a></div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1432</div></div>
+<div class="ttc" id="astruct_vma_allocation_info_html_a5eeffbe2d2f30f53370ff14aefbadbe2"><div class="ttname"><a href="struct_vma_allocation_info.html#a5eeffbe2d2f30f53370ff14aefbadbe2">VmaAllocationInfo::pMappedData</a></div><div class="ttdeci">void * pMappedData</div><div class="ttdoc">Pointer to the beginning of this allocation as mapped data.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1474</div></div>
+</div><!-- fragment --><dl class="section note"><dt>Note</dt><dd><a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f" title="Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.">VMA_ALLOCATION_CREATE_MAPPED_BIT</a> by itself doesn't guarantee that the allocation will end up in a mappable memory type. For this, you need to also specify <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a9be224df3bfc1cfa06203aed689a30c5">VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT</a> or <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597add61238d98e20917b9a06c617763f492">VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT</a>. <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f" title="Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.">VMA_ALLOCATION_CREATE_MAPPED_BIT</a> only guarantees that if the memory is <span class="tt">HOST_VISIBLE</span>, the allocation will be mapped on creation. For an example of how to make use of this fact, see section <a class="el" href="usage_patterns.html#usage_patterns_advanced_data_uploading" title="Advanced data uploading">Advanced data uploading</a>.</dd></dl>
 <h1 class="doxsection"><a class="anchor" id="memory_mapping_cache_control"></a>
 Cache flush and invalidate</h1>
 <p>Memory in Vulkan doesn't need to be unmapped before using it on GPU, but unless a memory types has <span class="tt">VK_MEMORY_PROPERTY_HOST_COHERENT_BIT</span> flag set, you need to manually <b>invalidate</b> cache before reading of mapped pointer and <b>flush</b> cache after writing to mapped pointer. Map/unmap operations don't do that automatically. Vulkan provides following functions for this purpose <span class="tt">vkFlushMappedMemoryRanges()</span>, <span class="tt">vkInvalidateMappedMemoryRanges()</span>, but this library provides more convenient functions that refer to given allocation object: <a class="el" href="group__group__alloc.html#ga30c37c1eec6025f397be41644f48490f" title="Flushes memory of given allocation.">vmaFlushAllocation()</a>, <a class="el" href="group__group__alloc.html#gaaa8412919139ef413a4215ac6a290fae" title="Invalidates memory of given allocation.">vmaInvalidateAllocation()</a>, or multiple objects at once: <a class="el" href="group__group__alloc.html#gac3dd00da721875ed99fa8a881922bdfc" title="Flushes memory of given set of allocations.">vmaFlushAllocations()</a>, <a class="el" href="group__group__alloc.html#gab25b558d75f7378ec944a1522fdcc3c5" title="Invalidates memory of given set of allocations.">vmaInvalidateAllocations()</a>.</p>
@@ -169,7 +169,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/other_api_interop.html b/docs/html/other_api_interop.html
index f978c7e..c2ca292 100644
--- a/docs/html/other_api_interop.html
+++ b/docs/html/other_api_interop.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Interop with other graphics APIs</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -88,11 +88,11 @@
 <div class="fragment"><div class="line"><span class="preprocessor">#include &lt;vulkan/vulkan_win32.h&gt;</span></div>
 </div><!-- fragment --><p>2) Check if "VK_KHR_external_memory_win32" is available among device extensions. Enable it when creating the <span class="tt">VkDevice</span> object.</p>
 <p>3) Enable the usage of this extension in VMA by setting flag <a class="el" href="group__group__init.html#gga4f87c9100d154a65a4ad495f7763cf7ca4897d1181a186e327f4dadd680ad00ac">VMA_ALLOCATOR_CREATE_KHR_EXTERNAL_MEMORY_WIN32_BIT</a> when calling <a class="el" href="group__group__init.html#ga200692051ddb34240248234f5f4c17bb" title="Creates VmaAllocator object.">vmaCreateAllocator()</a>.</p>
-<p>4) Make sure that VMA has access to the <span class="tt">vkGetMemoryWin32HandleKHR</span> function by either enabling <span class="tt">VMA_DYNAMIC_VULKAN_FUNCTIONS</span> macro or setting <a class="el" href="struct_vma_vulkan_functions.html#af45d10a2b47971f4cf5bcacf1d331f86">VmaVulkanFunctions::vkGetMemoryWin32HandleKHR</a> explicitly. For more information, see <a class="el" href="quick_start.html#quick_start_initialization_importing_vulkan_functions">Importing Vulkan functions</a>.</p>
+<p>4) Make sure that VMA has access to the <span class="tt">vkGetMemoryWin32HandleKHR</span> function by either enabling <span class="tt">VMA_DYNAMIC_VULKAN_FUNCTIONS</span> macro or setting <a class="el" href="struct_vma_vulkan_functions.html#af45d10a2b47971f4cf5bcacf1d331f86">VmaVulkanFunctions::vkGetMemoryWin32HandleKHR</a> explicitly. For more information, see <a class="el" href="quick_start.html#quick_start_initialization_importing_vulkan_functions" title="Importing Vulkan functions">Importing Vulkan functions</a>.</p>
 <h2 class="doxsection"><a class="anchor" id="other_api_interop_exporting_preparations"></a>
 Preparations</h2>
 <p>You can find example usage among tests, in file "Tests.cpp", function <span class="tt">TestWin32Handles()</span>.</p>
-<p>To use the extenion, buffers need to be created with <span class="tt">VkExternalMemoryBufferCreateInfoKHR</span> attached to their <span class="tt">pNext</span> chain, and memory allocations need to be made with <span class="tt">VkExportMemoryAllocateInfoKHR</span> attached to their <span class="tt">pNext</span> chain. To make use of them, you need to use <a class="el" href="custom_memory_pools.html">Custom memory pools</a>. Example:</p>
+<p>To use the extenion, buffers need to be created with <span class="tt">VkExternalMemoryBufferCreateInfoKHR</span> attached to their <span class="tt">pNext</span> chain, and memory allocations need to be made with <span class="tt">VkExportMemoryAllocateInfoKHR</span> attached to their <span class="tt">pNext</span> chain. To make use of them, you need to use <a class="el" href="custom_memory_pools.html" title="Custom memory pools">Custom memory pools</a>. Example:</p>
 <div class="fragment"><div class="line"><span class="keyword">constexpr</span> VkExternalMemoryHandleTypeFlagsKHR handleType =</div>
 <div class="line">    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR;</div>
 <div class="line"> </div>
@@ -140,9 +140,9 @@
 <div class="ttc" id="agroup__group__alloc_html_ggaa5846affa1e9da3800e3e78fae2305cca27cde9026a84d34d525777baa41fce6e"><div class="ttname"><a href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305cca27cde9026a84d34d525777baa41fce6e">VMA_MEMORY_USAGE_AUTO</a></div><div class="ttdeci">@ VMA_MEMORY_USAGE_AUTO</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:553</div></div>
 <div class="ttc" id="astruct_vma_allocation_create_info_html"><div class="ttname"><a href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></div><div class="ttdoc">Parameters of new VmaAllocation.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1294</div></div>
 <div class="ttc" id="astruct_vma_allocation_create_info_html_accb8b06b1f677d858cb9af20705fa910"><div class="ttname"><a href="struct_vma_allocation_create_info.html#accb8b06b1f677d858cb9af20705fa910">VmaAllocationCreateInfo::usage</a></div><div class="ttdeci">VmaMemoryUsage usage</div><div class="ttdoc">Intended usage of memory.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1302</div></div>
-<div class="ttc" id="astruct_vma_pool_create_info_html"><div class="ttname"><a href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a></div><div class="ttdoc">Describes parameter of created VmaPool.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1345</div></div>
-<div class="ttc" id="astruct_vma_pool_create_info_html_a596fa76b685d3f1f688f84a709a5b319"><div class="ttname"><a href="struct_vma_pool_create_info.html#a596fa76b685d3f1f688f84a709a5b319">VmaPoolCreateInfo::memoryTypeIndex</a></div><div class="ttdeci">uint32_t memoryTypeIndex</div><div class="ttdoc">Vulkan memory type index to allocate this pool from.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1348</div></div>
-<div class="ttc" id="astruct_vma_pool_create_info_html_ab6f2e52c47bfe1f4b44920b8bfc27b41"><div class="ttname"><a href="struct_vma_pool_create_info.html#ab6f2e52c47bfe1f4b44920b8bfc27b41">VmaPoolCreateInfo::pMemoryAllocateNext</a></div><div class="ttdeci">void *VkMemoryAllocateInfo pMemoryAllocateNext</div><div class="ttdoc">Additional pNext chain to be attached to VkMemoryAllocateInfo used for every allocation made by this ...</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1397</div></div>
+<div class="ttc" id="astruct_vma_pool_create_info_html"><div class="ttname"><a href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a></div><div class="ttdoc">Describes parameter of created VmaPool.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1358</div></div>
+<div class="ttc" id="astruct_vma_pool_create_info_html_a596fa76b685d3f1f688f84a709a5b319"><div class="ttname"><a href="struct_vma_pool_create_info.html#a596fa76b685d3f1f688f84a709a5b319">VmaPoolCreateInfo::memoryTypeIndex</a></div><div class="ttdeci">uint32_t memoryTypeIndex</div><div class="ttdoc">Vulkan memory type index to allocate this pool from.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1361</div></div>
+<div class="ttc" id="astruct_vma_pool_create_info_html_ab6f2e52c47bfe1f4b44920b8bfc27b41"><div class="ttname"><a href="struct_vma_pool_create_info.html#ab6f2e52c47bfe1f4b44920b8bfc27b41">VmaPoolCreateInfo::pMemoryAllocateNext</a></div><div class="ttdeci">void *VkMemoryAllocateInfo pMemoryAllocateNext</div><div class="ttdoc">Additional pNext chain to be attached to VkMemoryAllocateInfo used for every allocation made by this ...</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1416</div></div>
 <div class="ttc" id="astruct_vma_pool_html"><div class="ttname"><a href="struct_vma_pool.html">VmaPool</a></div><div class="ttdoc">Represents custom memory pool.</div></div>
 </div><!-- fragment --><p>Note that the structure passed as <a class="el" href="struct_vma_pool_create_info.html#ab6f2e52c47bfe1f4b44920b8bfc27b41" title="Additional pNext chain to be attached to VkMemoryAllocateInfo used for every allocation made by this ...">VmaPoolCreateInfo::pMemoryAllocateNext</a> must remain alive and unchanged for the whole lifetime of the custom pool, because it will be used when the pool allocates a new device memory block. No copy is made internally. This is why variable <span class="tt">exportMemAllocInfo</span> is defined as static.</p>
 <p>If you want to export all memory allocated by VMA from certain memory types, including dedicated allocations and allocations made from default pools, an alternative solution is to fill in <a class="el" href="struct_vma_allocator_create_info.html#ae8f0db05e5cb4c43d7713bf4a49a736b" title="Either null or a pointer to an array of external memory handle types for each Vulkan memory type.">VmaAllocatorCreateInfo::pTypeExternalMemoryHandleTypes</a>. It should point to an array with <span class="tt">VkExternalMemoryHandleTypeFlagsKHR</span> to be automatically passed by the library through <span class="tt">VkExportMemoryAllocateInfoKHR</span> on each allocation made from a specific memory type. You should not mix these two methods in a way that allows to apply both to the same memory type. Otherwise, <span class="tt">VkExportMemoryAllocateInfoKHR</span> structure would be attached twice to the <span class="tt">pNext</span> chain of <span class="tt">VkMemoryAllocateInfo</span>.</p>
@@ -176,6 +176,7 @@
 <div class="ttc" id="astruct_vma_allocation_create_info_html_a6272c0555cfd1fe28bff1afeb6190150"><div class="ttname"><a href="struct_vma_allocation_create_info.html#a6272c0555cfd1fe28bff1afeb6190150">VmaAllocationCreateInfo::pool</a></div><div class="ttdeci">VmaPool pool</div><div class="ttdoc">Pool that this allocation should be created in.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1326</div></div>
 <div class="ttc" id="astruct_vma_allocation_html"><div class="ttname"><a href="struct_vma_allocation.html">VmaAllocation</a></div><div class="ttdoc">Represents single memory allocation.</div></div>
 </div><!-- fragment --><p>If you need each allocation to have its own device memory block and start at offset 0, you can still do by using <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a> flag. It works also with custom pools.</p>
+<p>Alternatively, you can use convenient functions <a class="el" href="group__group__alloc.html#gab313b89299877ca21c196027bed9e874" title="Creates a dedicated buffer while offering extra parameter pMemoryAllocateNext.">vmaCreateDedicatedBuffer()</a>, <a class="el" href="group__group__alloc.html#ga07c66ffa000906a599d471047a7c0324" title="Function similar to vmaCreateDedicatedBuffer() but for images.">vmaCreateDedicatedImage()</a> that always allocate dedicated memory for the buffer/image created, and also allow specifying custom <span class="tt">pNext</span> chain for the <span class="tt">VkMemoryAllocateInfo</span> structure.</p>
 <h2 class="doxsection"><a class="anchor" id="other_api_interop_exporting_exporting_win32_handle"></a>
 Exporting Win32 handle</h2>
 <p>After the allocation is created, you can acquire a Win32 <span class="tt">HANDLE</span> to the <span class="tt">VkDeviceMemory</span> block it belongs to. VMA function <a class="el" href="group__group__alloc.html#ga1a8d7aba3bf5a4de66c801b9988afa58" title="Given an allocation, returns Win32 handle that may be imported by other processes or APIs.">vmaGetMemoryWin32Handle2()</a> is a replacement of the Vulkan function <span class="tt">vkGetMemoryWin32HandleKHR</span>.</p>
@@ -196,8 +197,8 @@
 <h2 class="doxsection"><a class="anchor" id="other_api_interop_exporting_custom_alignment"></a>
 Custom alignment</h2>
 <p>Buffers or images exported to a different API like OpenGL may require a different alignment, higher than the one used by the library automatically, queried from functions like <span class="tt">vkGetBufferMemoryRequirements</span>. To impose such alignment:</p>
-<p>You can create <a class="el" href="custom_memory_pools.html">Custom memory pools</a> for such allocations. Set <a class="el" href="struct_vma_pool_create_info.html#ade3eca546f0c6ab4e8fbf20eb6d854cb" title="Additional minimum alignment to be used for all allocations created from this pool....">VmaPoolCreateInfo::minAllocationAlignment</a> member to the minimum alignment required for each allocation to be made out of this pool. The alignment actually used will be the maximum of this member and the alignment returned for the specific buffer or image from a function like <span class="tt">vkGetBufferMemoryRequirements</span>, which is called by VMA automatically.</p>
-<p>If you want to create a buffer with a specific minimum alignment out of default pools, you can use special function <a class="el" href="group__group__alloc.html#gaa06a690013a0d01e60894ac378083834" title="Creates a buffer with additional minimum alignment.">vmaCreateBufferWithAlignment()</a>, which takes additional parameter <span class="tt">minAlignment</span>.</p>
+<p>You can create <a class="el" href="custom_memory_pools.html" title="Custom memory pools">Custom memory pools</a> for such allocations. Set <a class="el" href="struct_vma_pool_create_info.html#ade3eca546f0c6ab4e8fbf20eb6d854cb" title="Additional minimum alignment to be used for all allocations created from this pool....">VmaPoolCreateInfo::minAllocationAlignment</a> member to the minimum alignment required for each allocation to be made out of this pool. The alignment actually used will be the maximum of this member and the alignment returned for the specific buffer or image from a function like <span class="tt">vkGetBufferMemoryRequirements</span>, which is called by VMA automatically.</p>
+<p>If you want to create a buffer/image/allocate memory with a specific minimum alignment out of default pools, you can use <a class="el" href="struct_vma_allocation_create_info.html#a4fa1895486efac8c128dcffad46706a0" title="Additional minimum alignment to be used for this allocation. Can be 0.">VmaAllocationCreateInfo::minAlignment</a>.</p>
 <p>Note the problem of alignment affects only resources placed inside bigger <span class="tt">VkDeviceMemory</span> blocks and not dedicated allocations, as these, by definition, always have alignment = 0 because the resource is bound to the beginning of its dedicated block. You can ensure that an allocation is created as dedicated by using <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f" title="Set this flag if the allocation should have its own memory block.">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a>. Contrary to Direct3D 12, Vulkan doesn't have a concept of alignment of the entire memory block passed on its allocation.</p>
 <h2 class="doxsection"><a class="anchor" id="other_api_interop_exporting_extended_allocation_information"></a>
 Extended allocation information</h2>
@@ -236,7 +237,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/pages.html b/docs/html/pages.html
index a32f44b..ff608a5 100644
--- a/docs/html/pages.html
+++ b/docs/html/pages.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Related Pages</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -82,7 +82,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/quick_start.html b/docs/html/quick_start.html
index d4f1c90..aa77594 100644
--- a/docs/html/quick_start.html
+++ b/docs/html/quick_start.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Quick start</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -106,7 +106,7 @@
 <h2 class="doxsection"><a class="anchor" id="quick_start_initialization_selecting_vulkan_version"></a>
 Selecting Vulkan version</h2>
 <p>VMA supports Vulkan version down to 1.0, for backward compatibility. If you want to use higher version, you need to inform the library about it. This is a two-step process.</p>
-<p><b>Step 1: Compile time.</b> By default, VMA compiles with code supporting the highest Vulkan version found in the included <span class="tt">&lt;vulkan/vulkan.h&gt;</span> that is also supported by the library. If this is OK, you don't need to do anything. However, if you want to compile VMA as if only some lower Vulkan version was available, define macro <span class="tt">VMA_VULKAN_VERSION</span> before every <span class="tt">#include "vk_mem_alloc.h"</span>. It should have decimal numeric value in form of ABBBCCC, where A = major, BBB = minor, CCC = patch Vulkan version. For example, to compile against Vulkan 1.2:</p>
+<p><b>Step 1: Compile time.</b> By default, VMA compiles with code supporting the highest Vulkan version found in the included <span class="tt">&lt;vulkan/vulkan.h&gt;</span> that is also supported by the library. If this is OK, you don't need to do anything. However, if you want to compile VMA as if only some lower Vulkan version was available, define macro <span class="tt">VMA_VULKAN_VERSION</span> before every <span class="tt">#include "<a class="el" href="vk__mem__alloc_8h.html">vk_mem_alloc.h</a>"</span>. It should have decimal numeric value in form of ABBBCCC, where A = major, BBB = minor, CCC = patch Vulkan version. For example, to compile against Vulkan 1.2:</p>
 <div class="fragment"><div class="line"><span class="preprocessor">#define VMA_VULKAN_VERSION 1002000 </span><span class="comment">// Vulkan 1.2</span></div>
 <div class="line"><span class="preprocessor">#include &quot;<a class="code" href="vk__mem__alloc_8h.html">vk_mem_alloc.h</a>&quot;</span></div>
 </div><!-- fragment --><p><b>Step 2: Runtime.</b> Even when compiled with higher Vulkan version available, VMA can use only features of a lower version, which is configurable during creation of the <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object. By default, only Vulkan 1.0 is used. To initialize the allocator with support for higher Vulkan version, you need to set member <a class="el" href="struct_vma_allocator_create_info.html#ae0ffc55139b54520a6bb704b29ffc285" title="Optional. Vulkan version that the application uses.">VmaAllocatorCreateInfo::vulkanApiVersion</a> to an appropriate value, e.g. using constants like <span class="tt">VK_API_VERSION_1_2</span>. See code sample below.</p>
@@ -200,7 +200,7 @@
 <div class="ttc" id="astruct_vma_allocator_html"><div class="ttname"><a href="struct_vma_allocator.html">VmaAllocator</a></div><div class="ttdoc">Represents main object of this library initialized.</div></div>
 </div><!-- fragment --><h2 class="doxsection"><a class="anchor" id="quick_start_initialization_other_config"></a>
 Other configuration options</h2>
-<p>There are additional configuration options available through preprocessor macros that you can define before including VMA header and through parameters passed in <a class="el" href="struct_vma_allocator_create_info.html" title="Description of a Allocator to be created.">VmaAllocatorCreateInfo</a>. They include a possibility to use your own callbacks for host memory allocations (<span class="tt">VkAllocationCallbacks</span>), callbacks for device memory allocations (instead of <span class="tt">vkAllocateMemory</span>, <span class="tt">vkFreeMemory</span>), or your custom <span class="tt">VMA_ASSERT</span> macro, among others. For more information, see: <a class="el" href="configuration.html">Configuration</a>.</p>
+<p>There are additional configuration options available through preprocessor macros that you can define before including VMA header and through parameters passed in <a class="el" href="struct_vma_allocator_create_info.html" title="Description of a Allocator to be created.">VmaAllocatorCreateInfo</a>. They include a possibility to use your own callbacks for host memory allocations (<span class="tt">VkAllocationCallbacks</span>), callbacks for device memory allocations (instead of <span class="tt">vkAllocateMemory</span>, <span class="tt">vkFreeMemory</span>), or your custom <span class="tt">VMA_ASSERT</span> macro, among others. For more information, see: <a class="el" href="configuration.html" title="Configuration">Configuration</a>.</p>
 <h1 class="doxsection"><a class="anchor" id="quick_start_resource_allocation"></a>
 Resource allocation</h1>
 <p>When you want to create a buffer or image:</p>
@@ -227,12 +227,12 @@
 </div><!-- fragment --><p>Don't forget to destroy your buffer and allocation objects when no longer needed:</p>
 <div class="fragment"><div class="line"><a class="code hl_function" href="group__group__alloc.html#ga0d9f4e4ba5bf9aab1f1c746387753d77">vmaDestroyBuffer</a>(allocator, buffer, allocation);</div>
 <div class="ttc" id="agroup__group__alloc_html_ga0d9f4e4ba5bf9aab1f1c746387753d77"><div class="ttname"><a href="group__group__alloc.html#ga0d9f4e4ba5bf9aab1f1c746387753d77">vmaDestroyBuffer</a></div><div class="ttdeci">void vmaDestroyBuffer(VmaAllocator allocator, VkBuffer buffer, VmaAllocation allocation)</div><div class="ttdoc">Destroys Vulkan buffer and frees allocated memory.</div></div>
-</div><!-- fragment --><p>If you need to map the buffer, you must set flag <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a9be224df3bfc1cfa06203aed689a30c5">VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT</a> or <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597add61238d98e20917b9a06c617763f492">VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT</a> in <a class="el" href="struct_vma_allocation_create_info.html#add09658ac14fe290ace25470ddd6d41b" title="Use VmaAllocationCreateFlagBits enum.">VmaAllocationCreateInfo::flags</a>. There are many additional parameters that can control the choice of memory type to be used for the allocation and other features. For more information, see documentation chapters: <a class="el" href="choosing_memory_type.html">Choosing memory type</a>, <a class="el" href="memory_mapping.html">Memory mapping</a>. </p>
+</div><!-- fragment --><p>If you need to map the buffer, you must set flag <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a9be224df3bfc1cfa06203aed689a30c5">VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT</a> or <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597add61238d98e20917b9a06c617763f492">VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT</a> in <a class="el" href="struct_vma_allocation_create_info.html#add09658ac14fe290ace25470ddd6d41b" title="Use VmaAllocationCreateFlagBits enum.">VmaAllocationCreateInfo::flags</a>. There are many additional parameters that can control the choice of memory type to be used for the allocation and other features. For more information, see documentation chapters: <a class="el" href="choosing_memory_type.html" title="Choosing memory type">Choosing memory type</a>, <a class="el" href="memory_mapping.html" title="Memory mapping">Memory mapping</a>. </p>
 </div></div><!-- contents -->
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/resource_aliasing.html b/docs/html/resource_aliasing.html
index 30e9032..efa0a32 100644
--- a/docs/html/resource_aliasing.html
+++ b/docs/html/resource_aliasing.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Resource aliasing (overlap)</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -164,7 +164,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js
index e32840d..9173051 100644
--- a/docs/html/search/all_b.js
+++ b/docs/html/search/all_b.js
@@ -25,8 +25,9 @@
   ['memorytype_22',['memoryType',['../struct_vma_total_statistics.html#acb70e5b7fe543813ed8ba9282640969d',1,'VmaTotalStatistics::memoryType'],['../struct_vma_allocation_info.html#a7f6b0aa58c135e488e6b40a388dad9d5',1,'VmaAllocationInfo::memoryType']]],
   ['memorytypebits_23',['memoryTypeBits',['../struct_vma_allocation_create_info.html#a3bf940c0271d85d6ba32a4d820075055',1,'VmaAllocationCreateInfo']]],
   ['memorytypeindex_24',['memoryTypeIndex',['../struct_vma_pool_create_info.html#a596fa76b685d3f1f688f84a709a5b319',1,'VmaPoolCreateInfo']]],
-  ['minallocationalignment_25',['minAllocationAlignment',['../struct_vma_pool_create_info.html#ade3eca546f0c6ab4e8fbf20eb6d854cb',1,'VmaPoolCreateInfo']]],
-  ['minblockcount_26',['minBlockCount',['../struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae',1,'VmaPoolCreateInfo']]],
-  ['more_20information_27',['More information',['../vk_amd_device_coherent_memory.html#vk_amd_device_coherent_memory_more_information',1,'More information'],['../enabling_buffer_device_address.html#enabling_buffer_device_address_more_information',1,'More information']]],
-  ['movecount_28',['moveCount',['../struct_vma_defragmentation_pass_move_info.html#a1b3e18c23f9691f35baf183e615c4408',1,'VmaDefragmentationPassMoveInfo']]]
+  ['minalignment_25',['minAlignment',['../struct_vma_allocation_create_info.html#a4fa1895486efac8c128dcffad46706a0',1,'VmaAllocationCreateInfo']]],
+  ['minallocationalignment_26',['minAllocationAlignment',['../struct_vma_pool_create_info.html#ade3eca546f0c6ab4e8fbf20eb6d854cb',1,'VmaPoolCreateInfo']]],
+  ['minblockcount_27',['minBlockCount',['../struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae',1,'VmaPoolCreateInfo']]],
+  ['more_20information_28',['More information',['../vk_amd_device_coherent_memory.html#vk_amd_device_coherent_memory_more_information',1,'More information'],['../enabling_buffer_device_address.html#enabling_buffer_device_address_more_information',1,'More information']]],
+  ['movecount_29',['moveCount',['../struct_vma_defragmentation_pass_move_info.html#a1b3e18c23f9691f35baf183e615c4408',1,'VmaDefragmentationPassMoveInfo']]]
 ];
diff --git a/docs/html/search/search.css b/docs/html/search/search.css
index 956f31f..043d32d 100644
--- a/docs/html/search/search.css
+++ b/docs/html/search/search.css
@@ -291,7 +291,6 @@
 
 div.SRPage {
     margin: 5px 2px;
-    /*background-color: var(--search-results-background-color);*/
 }
 
 .SRChildren {
diff --git a/docs/html/search/variables_5.js b/docs/html/search/variables_5.js
index a9e9f97..e5b2ec1 100644
--- a/docs/html/search/variables_5.js
+++ b/docs/html/search/variables_5.js
@@ -7,7 +7,8 @@
   ['memorytype_4',['memoryType',['../struct_vma_total_statistics.html#acb70e5b7fe543813ed8ba9282640969d',1,'VmaTotalStatistics::memoryType'],['../struct_vma_allocation_info.html#a7f6b0aa58c135e488e6b40a388dad9d5',1,'VmaAllocationInfo::memoryType']]],
   ['memorytypebits_5',['memoryTypeBits',['../struct_vma_allocation_create_info.html#a3bf940c0271d85d6ba32a4d820075055',1,'VmaAllocationCreateInfo']]],
   ['memorytypeindex_6',['memoryTypeIndex',['../struct_vma_pool_create_info.html#a596fa76b685d3f1f688f84a709a5b319',1,'VmaPoolCreateInfo']]],
-  ['minallocationalignment_7',['minAllocationAlignment',['../struct_vma_pool_create_info.html#ade3eca546f0c6ab4e8fbf20eb6d854cb',1,'VmaPoolCreateInfo']]],
-  ['minblockcount_8',['minBlockCount',['../struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae',1,'VmaPoolCreateInfo']]],
-  ['movecount_9',['moveCount',['../struct_vma_defragmentation_pass_move_info.html#a1b3e18c23f9691f35baf183e615c4408',1,'VmaDefragmentationPassMoveInfo']]]
+  ['minalignment_7',['minAlignment',['../struct_vma_allocation_create_info.html#a4fa1895486efac8c128dcffad46706a0',1,'VmaAllocationCreateInfo']]],
+  ['minallocationalignment_8',['minAllocationAlignment',['../struct_vma_pool_create_info.html#ade3eca546f0c6ab4e8fbf20eb6d854cb',1,'VmaPoolCreateInfo']]],
+  ['minblockcount_9',['minBlockCount',['../struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae',1,'VmaPoolCreateInfo']]],
+  ['movecount_10',['moveCount',['../struct_vma_defragmentation_pass_move_info.html#a1b3e18c23f9691f35baf183e615c4408',1,'VmaDefragmentationPassMoveInfo']]]
 ];
diff --git a/docs/html/statistics.html b/docs/html/statistics.html
index 14547b7..61c4820 100644
--- a/docs/html/statistics.html
+++ b/docs/html/statistics.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Statistics</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -81,7 +81,7 @@
 <div class="textblock"><p>This library contains several functions that return information about its internal state, especially the amount of memory allocated from Vulkan.</p>
 <h1 class="doxsection"><a class="anchor" id="statistics_numeric_statistics"></a>
 Numeric statistics</h1>
-<p>If you need to obtain basic statistics about memory usage per heap, together with current budget, you can call function <a class="el" href="group__group__stats.html#ga9f88db9d46a432c0ad7278cecbc5eaa7" title="Retrieves information about current memory usage and budget for all memory heaps.">vmaGetHeapBudgets()</a> and inspect structure <a class="el" href="struct_vma_budget.html" title="Statistics of current memory usage and available budget for a specific memory heap.">VmaBudget</a>. This is useful to keep track of memory usage and stay within budget (see also <a class="el" href="staying_within_budget.html">Staying within budget</a>). Example:</p>
+<p>If you need to obtain basic statistics about memory usage per heap, together with current budget, you can call function <a class="el" href="group__group__stats.html#ga9f88db9d46a432c0ad7278cecbc5eaa7" title="Retrieves information about current memory usage and budget for all memory heaps.">vmaGetHeapBudgets()</a> and inspect structure <a class="el" href="struct_vma_budget.html" title="Statistics of current memory usage and available budget for a specific memory heap.">VmaBudget</a>. This is useful to keep track of memory usage and stay within budget (see also <a class="el" href="staying_within_budget.html" title="Staying within budget">Staying within budget</a>). Example:</p>
 <div class="fragment"><div class="line">uint32_t heapIndex = ...</div>
 <div class="line"> </div>
 <div class="line">VmaBudget budgets[VK_MAX_MEMORY_HEAPS];</div>
@@ -102,14 +102,14 @@
 <p>You can query for information about a specific allocation using function <a class="el" href="group__group__alloc.html#ga86dd08aba8633bfa4ad0df2e76481d8b" title="Returns current information about specified allocation.">vmaGetAllocationInfo()</a>. It fill structure <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a>.</p>
 <h1 class="doxsection"><a class="anchor" id="statistics_json_dump"></a>
 JSON dump</h1>
-<p>You can dump internal state of the allocator to a string in JSON format using function <a class="el" href="group__group__stats.html#gaa4fee7eb5253377599ef4fd38c93c2a0" title="Builds and returns statistics as a null-terminated string in JSON format.">vmaBuildStatsString()</a>. The result is guaranteed to be correct JSON. It uses ANSI encoding. Any strings provided by user (see <a class="el" href="allocation_annotation.html#allocation_names">Allocation names</a>) are copied as-is and properly escaped for JSON, so if they use UTF-8, ISO-8859-2 or any other encoding, this JSON string can be treated as using this encoding. It must be freed using function <a class="el" href="group__group__stats.html#ga3104eb30d8122c84dd8541063f145288">vmaFreeStatsString()</a>.</p>
+<p>You can dump internal state of the allocator to a string in JSON format using function <a class="el" href="group__group__stats.html#gaa4fee7eb5253377599ef4fd38c93c2a0" title="Builds and returns statistics as a null-terminated string in JSON format.">vmaBuildStatsString()</a>. The result is guaranteed to be correct JSON. It uses ANSI encoding. Any strings provided by user (see <a class="el" href="allocation_annotation.html#allocation_names" title="Allocation names">Allocation names</a>) are copied as-is and properly escaped for JSON, so if they use UTF-8, ISO-8859-2 or any other encoding, this JSON string can be treated as using this encoding. It must be freed using function <a class="el" href="group__group__stats.html#ga3104eb30d8122c84dd8541063f145288">vmaFreeStatsString()</a>.</p>
 <p>The format of this JSON string is not part of official documentation of the library, but it will not change in backward-incompatible way without increasing library major version number and appropriate mention in changelog.</p>
 <p>The JSON string contains all the data that can be obtained using <a class="el" href="group__group__stats.html#ga36f3484de7aa6cd6edc4de9edfa0ff59" title="Retrieves statistics from current state of the Allocator.">vmaCalculateStatistics()</a>. It can also contain detailed map of allocated memory blocks and their regions - free and occupied by allocations. This allows e.g. to visualize the memory or assess fragmentation. </p>
 </div></div><!-- contents -->
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/staying_within_budget.html b/docs/html/staying_within_budget.html
index 03b5b3e..6c898ff 100644
--- a/docs/html/staying_within_budget.html
+++ b/docs/html/staying_within_budget.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Staying within budget</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -103,12 +103,12 @@
 <p>If the size of the requested resource plus current memory usage is more than the budget, by default the library still tries to create it, leaving it to the Vulkan implementation whether the allocation succeeds or fails. You can change this behavior by using <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597ab8b1764f3e9022368e440c057783b92d">VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT</a> flag. With it, the allocation is not made if it would exceed the budget or if the budget is already exceeded. VMA then tries to make the allocation from the next eligible Vulkan memory type. If all of them fail, the call then fails with <span class="tt">VK_ERROR_OUT_OF_DEVICE_MEMORY</span>. Example usage pattern may be to pass the <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597ab8b1764f3e9022368e440c057783b92d">VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT</a> flag when creating resources that are not essential for the application (e.g. the texture of a specific object) and not to pass it when creating critically important resources (e.g. render targets).</p>
 <p>On AMD graphics cards there is a custom vendor extension available: <b>VK_AMD_memory_overallocation_behavior</b> that allows to control the behavior of the Vulkan implementation in out-of-memory cases - whether it should fail with an error code or still allow the allocation. Usage of this extension involves only passing extra structure on Vulkan device creation, so it is out of scope of this library.</p>
 <p>Finally, you can also use <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a89759603401014eb325eb22a3839f2ff" title="Set this flag to only try to allocate from existing VkDeviceMemory blocks and never create new such b...">VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT</a> flag to make sure a new allocation is created only when it fits inside one of the existing memory blocks. If it would require to allocate a new block, if fails instead with <span class="tt">VK_ERROR_OUT_OF_DEVICE_MEMORY</span>. This also ensures that the function call is very fast because it never goes to Vulkan to obtain a new block.</p>
-<dl class="section note"><dt>Note</dt><dd>Creating <a class="el" href="custom_memory_pools.html">Custom memory pools</a> with <a class="el" href="struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae" title="Minimum number of blocks to be always allocated in this pool, even if they stay empty.">VmaPoolCreateInfo::minBlockCount</a> set to more than 0 will currently try to allocate memory blocks without checking whether they fit within budget. </dd></dl>
+<dl class="section note"><dt>Note</dt><dd>Creating <a class="el" href="custom_memory_pools.html" title="Custom memory pools">Custom memory pools</a> with <a class="el" href="struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae" title="Minimum number of blocks to be always allocated in this pool, even if they stay empty.">VmaPoolCreateInfo::minBlockCount</a> set to more than 0 will currently try to allocate memory blocks without checking whether they fit within budget. </dd></dl>
 </div></div><!-- contents -->
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocation.html b/docs/html/struct_vma_allocation.html
index 19298f1..a3e4990 100644
--- a/docs/html/struct_vma_allocation.html
+++ b/docs/html/struct_vma_allocation.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaAllocation Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -80,7 +80,7 @@
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Represents single memory allocation. </p>
 <p>It may be either dedicated block of <span class="tt">VkDeviceMemory</span> or a specific region of a bigger block of this type plus unique offset.</p>
-<p>There are multiple ways to create such object. You need to fill structure <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a>. For more information see <a class="el" href="choosing_memory_type.html">Choosing memory type</a>.</p>
+<p>There are multiple ways to create such object. You need to fill structure <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a>. For more information see <a class="el" href="choosing_memory_type.html" title="Choosing memory type">Choosing memory type</a>.</p>
 <p>Although the library provides convenience functions that create Vulkan buffer or image, allocate memory for it and bind them together, binding of the allocation to a buffer or an image is out of scope of the allocation itself. Allocation object can exist without buffer/image bound, binding can be done manually by the user, and destruction of it can be done independently of destruction of the allocation.</p>
 <p>The object also remembers its size and some other information. To retrieve this information, use function <a class="el" href="group__group__alloc.html#ga86dd08aba8633bfa4ad0df2e76481d8b" title="Returns current information about specified allocation.">vmaGetAllocationInfo()</a> and inspect returned structure <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a>. </p>
 </div><hr/>The documentation for this struct was generated from the following file:<ul>
@@ -89,7 +89,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocation_create_info-members.html b/docs/html/struct_vma_allocation_create_info-members.html
index 36a9f29..f896a6f 100644
--- a/docs/html/struct_vma_allocation_create_info-members.html
+++ b/docs/html/struct_vma_allocation_create_info-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -79,16 +79,17 @@
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#add09658ac14fe290ace25470ddd6d41b">flags</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
   <tr class="odd"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a3bf940c0271d85d6ba32a4d820075055">memoryTypeBits</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a6272c0555cfd1fe28bff1afeb6190150">pool</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
-  <tr class="odd"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a7fe8d81a1ad10b2a2faacacee5b15d6d">preferredFlags</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a983d39e1a2e63649d78a960aa2fdd0f7">priority</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
-  <tr class="odd"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a8259e85c272683434f4abb4ddddffe19">pUserData</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a9166390303ff42d783305bc31c2b6b90">requiredFlags</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
-  <tr class="odd"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#accb8b06b1f677d858cb9af20705fa910">usage</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a4fa1895486efac8c128dcffad46706a0">minAlignment</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a6272c0555cfd1fe28bff1afeb6190150">pool</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a7fe8d81a1ad10b2a2faacacee5b15d6d">preferredFlags</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a983d39e1a2e63649d78a960aa2fdd0f7">priority</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a8259e85c272683434f4abb4ddddffe19">pUserData</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#a9166390303ff42d783305bc31c2b6b90">requiredFlags</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html#accb8b06b1f677d858cb9af20705fa910">usage</a></td><td class="entry"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocation_create_info.html b/docs/html/struct_vma_allocation_create_info.html
index 71e503e..56cab8a 100644
--- a/docs/html/struct_vma_allocation_create_info.html
+++ b/docs/html/struct_vma_allocation_create_info.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaAllocationCreateInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,22 +83,24 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:add09658ac14fe290ace25470ddd6d41b" id="r_add09658ac14fe290ace25470ddd6d41b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__alloc.html#ga5225e5e11f8376f6a31a1791f3d6e817">VmaAllocationCreateFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#add09658ac14fe290ace25470ddd6d41b">flags</a></td></tr>
+<tr class="memitem:add09658ac14fe290ace25470ddd6d41b" id="r_add09658ac14fe290ace25470ddd6d41b"><td class="memItemLeft"><a class="el" href="group__group__alloc.html#ga5225e5e11f8376f6a31a1791f3d6e817">VmaAllocationCreateFlags</a>&#160;</td><td class="memItemRight"><a class="el" href="#add09658ac14fe290ace25470ddd6d41b">flags</a></td></tr>
 <tr class="memdesc:add09658ac14fe290ace25470ddd6d41b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use <a class="el" href="group__group__alloc.html#gad9889c10c798b040d59c92f257cae597" title="Flags to be passed as VmaAllocationCreateInfo::flags.">VmaAllocationCreateFlagBits</a> enum.  <br /></td></tr>
-<tr class="memitem:accb8b06b1f677d858cb9af20705fa910" id="r_accb8b06b1f677d858cb9af20705fa910"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__alloc.html#gaa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#accb8b06b1f677d858cb9af20705fa910">usage</a></td></tr>
+<tr class="memitem:accb8b06b1f677d858cb9af20705fa910" id="r_accb8b06b1f677d858cb9af20705fa910"><td class="memItemLeft"><a class="el" href="group__group__alloc.html#gaa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a>&#160;</td><td class="memItemRight"><a class="el" href="#accb8b06b1f677d858cb9af20705fa910">usage</a></td></tr>
 <tr class="memdesc:accb8b06b1f677d858cb9af20705fa910"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intended usage of memory.  <br /></td></tr>
-<tr class="memitem:a9166390303ff42d783305bc31c2b6b90" id="r_a9166390303ff42d783305bc31c2b6b90"><td class="memItemLeft" align="right" valign="top">VkMemoryPropertyFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9166390303ff42d783305bc31c2b6b90">requiredFlags</a></td></tr>
+<tr class="memitem:a9166390303ff42d783305bc31c2b6b90" id="r_a9166390303ff42d783305bc31c2b6b90"><td class="memItemLeft">VkMemoryPropertyFlags&#160;</td><td class="memItemRight"><a class="el" href="#a9166390303ff42d783305bc31c2b6b90">requiredFlags</a></td></tr>
 <tr class="memdesc:a9166390303ff42d783305bc31c2b6b90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags that must be set in a Memory Type chosen for an allocation.  <br /></td></tr>
-<tr class="memitem:a7fe8d81a1ad10b2a2faacacee5b15d6d" id="r_a7fe8d81a1ad10b2a2faacacee5b15d6d"><td class="memItemLeft" align="right" valign="top">VkMemoryPropertyFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7fe8d81a1ad10b2a2faacacee5b15d6d">preferredFlags</a></td></tr>
+<tr class="memitem:a7fe8d81a1ad10b2a2faacacee5b15d6d" id="r_a7fe8d81a1ad10b2a2faacacee5b15d6d"><td class="memItemLeft">VkMemoryPropertyFlags&#160;</td><td class="memItemRight"><a class="el" href="#a7fe8d81a1ad10b2a2faacacee5b15d6d">preferredFlags</a></td></tr>
 <tr class="memdesc:a7fe8d81a1ad10b2a2faacacee5b15d6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags that preferably should be set in a memory type chosen for an allocation.  <br /></td></tr>
-<tr class="memitem:a3bf940c0271d85d6ba32a4d820075055" id="r_a3bf940c0271d85d6ba32a4d820075055"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3bf940c0271d85d6ba32a4d820075055">memoryTypeBits</a></td></tr>
+<tr class="memitem:a3bf940c0271d85d6ba32a4d820075055" id="r_a3bf940c0271d85d6ba32a4d820075055"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#a3bf940c0271d85d6ba32a4d820075055">memoryTypeBits</a></td></tr>
 <tr class="memdesc:a3bf940c0271d85d6ba32a4d820075055"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitmask containing one bit set for every memory type acceptable for this allocation.  <br /></td></tr>
-<tr class="memitem:a6272c0555cfd1fe28bff1afeb6190150" id="r_a6272c0555cfd1fe28bff1afeb6190150"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_pool.html">VmaPool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6272c0555cfd1fe28bff1afeb6190150">pool</a></td></tr>
+<tr class="memitem:a6272c0555cfd1fe28bff1afeb6190150" id="r_a6272c0555cfd1fe28bff1afeb6190150"><td class="memItemLeft"><a class="el" href="struct_vma_pool.html">VmaPool</a>&#160;</td><td class="memItemRight"><a class="el" href="#a6272c0555cfd1fe28bff1afeb6190150">pool</a></td></tr>
 <tr class="memdesc:a6272c0555cfd1fe28bff1afeb6190150"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pool that this allocation should be created in.  <br /></td></tr>
-<tr class="memitem:a8259e85c272683434f4abb4ddddffe19" id="r_a8259e85c272683434f4abb4ddddffe19"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8259e85c272683434f4abb4ddddffe19">pUserData</a></td></tr>
+<tr class="memitem:a8259e85c272683434f4abb4ddddffe19" id="r_a8259e85c272683434f4abb4ddddffe19"><td class="memItemLeft">void *&#160;</td><td class="memItemRight"><a class="el" href="#a8259e85c272683434f4abb4ddddffe19">pUserData</a></td></tr>
 <tr class="memdesc:a8259e85c272683434f4abb4ddddffe19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom general-purpose pointer that will be stored in <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>, can be read as <a class="el" href="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13" title="Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...">VmaAllocationInfo::pUserData</a> and changed using <a class="el" href="group__group__alloc.html#gaf9147d31ffc11d62fc187bde283ed14f" title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a>.  <br /></td></tr>
-<tr class="memitem:a983d39e1a2e63649d78a960aa2fdd0f7" id="r_a983d39e1a2e63649d78a960aa2fdd0f7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a983d39e1a2e63649d78a960aa2fdd0f7">priority</a></td></tr>
+<tr class="memitem:a983d39e1a2e63649d78a960aa2fdd0f7" id="r_a983d39e1a2e63649d78a960aa2fdd0f7"><td class="memItemLeft">float&#160;</td><td class="memItemRight"><a class="el" href="#a983d39e1a2e63649d78a960aa2fdd0f7">priority</a></td></tr>
 <tr class="memdesc:a983d39e1a2e63649d78a960aa2fdd0f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A floating-point value between 0 and 1, indicating the priority of the allocation relative to other memory allocations.  <br /></td></tr>
+<tr class="memitem:a4fa1895486efac8c128dcffad46706a0" id="r_a4fa1895486efac8c128dcffad46706a0"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a4fa1895486efac8c128dcffad46706a0">minAlignment</a></td></tr>
+<tr class="memdesc:a4fa1895486efac8c128dcffad46706a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Additional minimum alignment to be used for this allocation. Can be 0.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Parameters of new <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>. </p>
@@ -134,7 +136,25 @@
 
 <p>Bitmask containing one bit set for every memory type acceptable for this allocation. </p>
 <p>Value 0 is equivalent to <span class="tt">UINT32_MAX</span> - it means any memory type is accepted if it meets other requirements specified by this structure, with no further restrictions on memory type index. <br  />
-If <span class="tt">pool</span> is not null, this member is ignored. </p>
+If <span class="tt"><a class="el" href="#a6272c0555cfd1fe28bff1afeb6190150" title="Pool that this allocation should be created in.">pool</a></span> is not null, this member is ignored. </p>
+
+</div>
+</div>
+<a id="a4fa1895486efac8c128dcffad46706a0" name="a4fa1895486efac8c128dcffad46706a0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4fa1895486efac8c128dcffad46706a0">&#9670;&#160;</a></span>minAlignment</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">VkDeviceSize VmaAllocationCreateInfo::minAlignment</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Additional minimum alignment to be used for this allocation. Can be 0. </p>
+<p>Leave 0 (default) not to impose any additional alignment. If not 0, it must be a power of two.</p>
+<p>When creating a buffer or an image, specifying a custom alignment is not needed in most cases, because Vulkan implementation inspects the <span class="tt">CreateInfo</span> structure (including intended usage flags) and returns required alignment through functions like <span class="tt">vkGetBufferMemoryRequirements2</span>, which VMA automatically uses and respects. Extra alignment may be needed in some cases, like when using a buffer for acceleration structure scratch (<span class="tt">VkPhysicalDeviceAccelerationStructurePropertiesKHR::minAccelerationStructureScratchOffsetAlignment</span>, see also issue #523) or when doing interop with OpenGL. </p>
 
 </div>
 </div>
@@ -151,7 +171,7 @@
 </div><div class="memdoc">
 
 <p>Pool that this allocation should be created in. </p>
-<p>Leave <span class="tt">VK_NULL_HANDLE</span> to allocate from default pool. If not null, members: <span class="tt">usage</span>, <span class="tt">requiredFlags</span>, <span class="tt">preferredFlags</span>, <span class="tt">memoryTypeBits</span> are ignored. </p>
+<p>Leave <span class="tt">VK_NULL_HANDLE</span> to allocate from default pool. If not null, members: <span class="tt"><a class="el" href="#accb8b06b1f677d858cb9af20705fa910" title="Intended usage of memory.">usage</a></span>, <span class="tt"><a class="el" href="#a9166390303ff42d783305bc31c2b6b90" title="Flags that must be set in a Memory Type chosen for an allocation.">requiredFlags</a></span>, <span class="tt"><a class="el" href="#a7fe8d81a1ad10b2a2faacacee5b15d6d" title="Flags that preferably should be set in a memory type chosen for an allocation.">preferredFlags</a></span>, <span class="tt"><a class="el" href="#a3bf940c0271d85d6ba32a4d820075055" title="Bitmask containing one bit set for every memory type acceptable for this allocation.">memoryTypeBits</a></span> are ignored. </p>
 
 </div>
 </div>
@@ -169,7 +189,7 @@
 
 <p>Flags that preferably should be set in a memory type chosen for an allocation. </p>
 <p>Set to 0 if no additional flags are preferred. <br  />
-If <span class="tt">pool</span> is not null, this member is ignored. </p>
+If <span class="tt"><a class="el" href="#a6272c0555cfd1fe28bff1afeb6190150" title="Pool that this allocation should be created in.">pool</a></span> is not null, this member is ignored. </p>
 
 </div>
 </div>
@@ -221,7 +241,7 @@
 
 <p>Flags that must be set in a Memory Type chosen for an allocation. </p>
 <p>Leave 0 if you specify memory requirements in other way. <br  />
-If <span class="tt">pool</span> is not null, this member is ignored. </p>
+If <span class="tt"><a class="el" href="#a6272c0555cfd1fe28bff1afeb6190150" title="Pool that this allocation should be created in.">pool</a></span> is not null, this member is ignored. </p>
 
 </div>
 </div>
@@ -239,7 +259,7 @@
 
 <p>Intended usage of memory. </p>
 <p>You can leave <a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305ccaf50d27e34e0925cf3a63db8c839121dd">VMA_MEMORY_USAGE_UNKNOWN</a> if you specify memory requirements in other way. <br  />
-If <span class="tt">pool</span> is not null, this member is ignored. </p>
+If <span class="tt"><a class="el" href="#a6272c0555cfd1fe28bff1afeb6190150" title="Pool that this allocation should be created in.">pool</a></span> is not null, this member is ignored. </p>
 
 </div>
 </div>
@@ -249,7 +269,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocation_info-members.html b/docs/html/struct_vma_allocation_info-members.html
index 544bb41..43fd1fa 100644
--- a/docs/html/struct_vma_allocation_info-members.html
+++ b/docs/html/struct_vma_allocation_info-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -87,7 +87,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocation_info.html b/docs/html/struct_vma_allocation_info.html
index 6358901..a246a92 100644
--- a/docs/html/struct_vma_allocation_info.html
+++ b/docs/html/struct_vma_allocation_info.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaAllocationInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -80,19 +80,19 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a7f6b0aa58c135e488e6b40a388dad9d5" id="r_a7f6b0aa58c135e488e6b40a388dad9d5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7f6b0aa58c135e488e6b40a388dad9d5">memoryType</a></td></tr>
+<tr class="memitem:a7f6b0aa58c135e488e6b40a388dad9d5" id="r_a7f6b0aa58c135e488e6b40a388dad9d5"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#a7f6b0aa58c135e488e6b40a388dad9d5">memoryType</a></td></tr>
 <tr class="memdesc:a7f6b0aa58c135e488e6b40a388dad9d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory type index that this allocation was allocated from.  <br /></td></tr>
-<tr class="memitem:ae0bfb7dfdf79a76ffefc9a94677a2f67" id="r_ae0bfb7dfdf79a76ffefc9a94677a2f67"><td class="memItemLeft" align="right" valign="top">VkDeviceMemory&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae0bfb7dfdf79a76ffefc9a94677a2f67">deviceMemory</a></td></tr>
+<tr class="memitem:ae0bfb7dfdf79a76ffefc9a94677a2f67" id="r_ae0bfb7dfdf79a76ffefc9a94677a2f67"><td class="memItemLeft">VkDeviceMemory&#160;</td><td class="memItemRight"><a class="el" href="#ae0bfb7dfdf79a76ffefc9a94677a2f67">deviceMemory</a></td></tr>
 <tr class="memdesc:ae0bfb7dfdf79a76ffefc9a94677a2f67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle to Vulkan memory object.  <br /></td></tr>
-<tr class="memitem:a4a3c732388dbdc7a23f9365b00825268" id="r_a4a3c732388dbdc7a23f9365b00825268"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4a3c732388dbdc7a23f9365b00825268">offset</a></td></tr>
-<tr class="memdesc:a4a3c732388dbdc7a23f9365b00825268"><td class="mdescLeft">&#160;</td><td class="mdescRight">Offset in <span class="tt">VkDeviceMemory</span> object to the beginning of this allocation, in bytes. <span class="tt">(deviceMemory, offset)</span> pair is unique to this allocation.  <br /></td></tr>
-<tr class="memitem:aac76d113a6a5ccbb09fea00fb25fd18f" id="r_aac76d113a6a5ccbb09fea00fb25fd18f"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aac76d113a6a5ccbb09fea00fb25fd18f">size</a></td></tr>
+<tr class="memitem:a4a3c732388dbdc7a23f9365b00825268" id="r_a4a3c732388dbdc7a23f9365b00825268"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a4a3c732388dbdc7a23f9365b00825268">offset</a></td></tr>
+<tr class="memdesc:a4a3c732388dbdc7a23f9365b00825268"><td class="mdescLeft">&#160;</td><td class="mdescRight">Offset in <span class="tt">VkDeviceMemory</span> object to the beginning of this allocation, in bytes. <span class="tt">(<a class="el" href="#ae0bfb7dfdf79a76ffefc9a94677a2f67" title="Handle to Vulkan memory object.">deviceMemory</a>, <a class="el" href="#a4a3c732388dbdc7a23f9365b00825268" title="Offset in VkDeviceMemory object to the beginning of this allocation, in bytes. (deviceMemory,...">offset</a>)</span> pair is unique to this allocation.  <br /></td></tr>
+<tr class="memitem:aac76d113a6a5ccbb09fea00fb25fd18f" id="r_aac76d113a6a5ccbb09fea00fb25fd18f"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#aac76d113a6a5ccbb09fea00fb25fd18f">size</a></td></tr>
 <tr class="memdesc:aac76d113a6a5ccbb09fea00fb25fd18f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of this allocation, in bytes.  <br /></td></tr>
-<tr class="memitem:a5eeffbe2d2f30f53370ff14aefbadbe2" id="r_a5eeffbe2d2f30f53370ff14aefbadbe2"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5eeffbe2d2f30f53370ff14aefbadbe2">pMappedData</a></td></tr>
+<tr class="memitem:a5eeffbe2d2f30f53370ff14aefbadbe2" id="r_a5eeffbe2d2f30f53370ff14aefbadbe2"><td class="memItemLeft">void *&#160;</td><td class="memItemRight"><a class="el" href="#a5eeffbe2d2f30f53370ff14aefbadbe2">pMappedData</a></td></tr>
 <tr class="memdesc:a5eeffbe2d2f30f53370ff14aefbadbe2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the beginning of this allocation as mapped data.  <br /></td></tr>
-<tr class="memitem:adc507656149c04de7ed95d0042ba2a13" id="r_adc507656149c04de7ed95d0042ba2a13"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adc507656149c04de7ed95d0042ba2a13">pUserData</a></td></tr>
+<tr class="memitem:adc507656149c04de7ed95d0042ba2a13" id="r_adc507656149c04de7ed95d0042ba2a13"><td class="memItemLeft">void *&#160;</td><td class="memItemRight"><a class="el" href="#adc507656149c04de7ed95d0042ba2a13">pUserData</a></td></tr>
 <tr class="memdesc:adc507656149c04de7ed95d0042ba2a13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom general-purpose pointer that was passed as <a class="el" href="struct_vma_allocation_create_info.html#a8259e85c272683434f4abb4ddddffe19" title="Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...">VmaAllocationCreateInfo::pUserData</a> or set using <a class="el" href="group__group__alloc.html#gaf9147d31ffc11d62fc187bde283ed14f" title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a>.  <br /></td></tr>
-<tr class="memitem:a28612f3e897e5b268254a3c63413d759" id="r_a28612f3e897e5b268254a3c63413d759"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a28612f3e897e5b268254a3c63413d759">pName</a></td></tr>
+<tr class="memitem:a28612f3e897e5b268254a3c63413d759" id="r_a28612f3e897e5b268254a3c63413d759"><td class="memItemLeft">const char *&#160;</td><td class="memItemRight"><a class="el" href="#a28612f3e897e5b268254a3c63413d759">pName</a></td></tr>
 <tr class="memdesc:a28612f3e897e5b268254a3c63413d759"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom allocation name that was set with <a class="el" href="group__group__alloc.html#gabe02cbb0cd913b3f125958179f2020fc" title="Sets pName in given allocation to new value.">vmaSetAllocationName()</a>.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -113,7 +113,7 @@
 
 <p>Handle to Vulkan memory object. </p>
 <p>Same memory object can be shared by multiple allocations.</p>
-<p>It can change after the allocation is moved during <a class="el" href="defragmentation.html">Defragmentation</a>. </p>
+<p>It can change after the allocation is moved during <a class="el" href="defragmentation.html" title="Defragmentation">Defragmentation</a>. </p>
 
 </div>
 </div>
@@ -146,9 +146,9 @@
       </table>
 </div><div class="memdoc">
 
-<p>Offset in <span class="tt">VkDeviceMemory</span> object to the beginning of this allocation, in bytes. <span class="tt">(deviceMemory, offset)</span> pair is unique to this allocation. </p>
+<p>Offset in <span class="tt">VkDeviceMemory</span> object to the beginning of this allocation, in bytes. <span class="tt">(<a class="el" href="#ae0bfb7dfdf79a76ffefc9a94677a2f67" title="Handle to Vulkan memory object.">deviceMemory</a>, <a class="el" href="#a4a3c732388dbdc7a23f9365b00825268" title="Offset in VkDeviceMemory object to the beginning of this allocation, in bytes. (deviceMemory,...">offset</a>)</span> pair is unique to this allocation. </p>
 <p>You usually don't need to use this offset. If you create a buffer or an image together with the allocation using e.g. function <a class="el" href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>, <a class="el" href="group__group__alloc.html#ga02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer() but for images.">vmaCreateImage()</a>, functions that operate on these resources refer to the beginning of the buffer or image, not entire device memory block. Functions like <a class="el" href="group__group__alloc.html#gad5bd1243512d099706de88168992f069" title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a>, <a class="el" href="group__group__alloc.html#ga6b0929b914b60cf2d45cac4bf3547470" title="Binds buffer to allocation.">vmaBindBufferMemory()</a> also refer to the beginning of the allocation and apply this offset automatically.</p>
-<p>It can change after the allocation is moved during <a class="el" href="defragmentation.html">Defragmentation</a>. </p>
+<p>It can change after the allocation is moved during <a class="el" href="defragmentation.html" title="Defragmentation">Defragmentation</a>. </p>
 
 </div>
 </div>
@@ -166,7 +166,7 @@
 
 <p>Pointer to the beginning of this allocation as mapped data. </p>
 <p>If the allocation hasn't been mapped using <a class="el" href="group__group__alloc.html#gad5bd1243512d099706de88168992f069" title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a> and hasn't been created with <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f" title="Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.">VMA_ALLOCATION_CREATE_MAPPED_BIT</a> flag, this value is null.</p>
-<p>It can change after call to <a class="el" href="group__group__alloc.html#gad5bd1243512d099706de88168992f069" title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a>, <a class="el" href="group__group__alloc.html#ga9bc268595cb33f6ec4d519cfce81ff45" title="Unmaps memory represented by given allocation, mapped previously using vmaMapMemory().">vmaUnmapMemory()</a>. It can also change after the allocation is moved during <a class="el" href="defragmentation.html">Defragmentation</a>. </p>
+<p>It can change after call to <a class="el" href="group__group__alloc.html#gad5bd1243512d099706de88168992f069" title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a>, <a class="el" href="group__group__alloc.html#ga9bc268595cb33f6ec4d519cfce81ff45" title="Unmaps memory represented by given allocation, mapped previously using vmaMapMemory().">vmaUnmapMemory()</a>. It can also change after the allocation is moved during <a class="el" href="defragmentation.html" title="Defragmentation">Defragmentation</a>. </p>
 
 </div>
 </div>
@@ -229,7 +229,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocation_info2-members.html b/docs/html/struct_vma_allocation_info2-members.html
index 5254b53..72804f0 100644
--- a/docs/html/struct_vma_allocation_info2-members.html
+++ b/docs/html/struct_vma_allocation_info2-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,7 +83,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocation_info2.html b/docs/html/struct_vma_allocation_info2.html
index 220b2d8..e783a5f 100644
--- a/docs/html/struct_vma_allocation_info2.html
+++ b/docs/html/struct_vma_allocation_info2.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaAllocationInfo2 Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,11 +83,11 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a315218ac1206a05026c95e06a8bbd6d5" id="r_a315218ac1206a05026c95e06a8bbd6d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a315218ac1206a05026c95e06a8bbd6d5">allocationInfo</a></td></tr>
+<tr class="memitem:a315218ac1206a05026c95e06a8bbd6d5" id="r_a315218ac1206a05026c95e06a8bbd6d5"><td class="memItemLeft"><a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a>&#160;</td><td class="memItemRight"><a class="el" href="#a315218ac1206a05026c95e06a8bbd6d5">allocationInfo</a></td></tr>
 <tr class="memdesc:a315218ac1206a05026c95e06a8bbd6d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic parameters of the allocation.  <br /></td></tr>
-<tr class="memitem:aae839de16b3a62cc42c69df378e8e3a2" id="r_aae839de16b3a62cc42c69df378e8e3a2"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aae839de16b3a62cc42c69df378e8e3a2">blockSize</a></td></tr>
+<tr class="memitem:aae839de16b3a62cc42c69df378e8e3a2" id="r_aae839de16b3a62cc42c69df378e8e3a2"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#aae839de16b3a62cc42c69df378e8e3a2">blockSize</a></td></tr>
 <tr class="memdesc:aae839de16b3a62cc42c69df378e8e3a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the <span class="tt">VkDeviceMemory</span> block that the allocation belongs to.  <br /></td></tr>
-<tr class="memitem:a7cf87251bd155d00ac6c6aaf4fc10448" id="r_a7cf87251bd155d00ac6c6aaf4fc10448"><td class="memItemLeft" align="right" valign="top">VkBool32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7cf87251bd155d00ac6c6aaf4fc10448">dedicatedMemory</a></td></tr>
+<tr class="memitem:a7cf87251bd155d00ac6c6aaf4fc10448" id="r_a7cf87251bd155d00ac6c6aaf4fc10448"><td class="memItemLeft">VkBool32&#160;</td><td class="memItemRight"><a class="el" href="#a7cf87251bd155d00ac6c6aaf4fc10448">dedicatedMemory</a></td></tr>
 <tr class="memdesc:a7cf87251bd155d00ac6c6aaf4fc10448"><td class="mdescLeft">&#160;</td><td class="mdescRight"><span class="tt">VK_TRUE</span> if the allocation has dedicated memory, <span class="tt">VK_FALSE</span> if it was placed as part of a larger memory block.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -150,7 +150,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocator.html b/docs/html/struct_vma_allocator.html
index 679de7e..8e1c1db 100644
--- a/docs/html/struct_vma_allocator.html
+++ b/docs/html/struct_vma_allocator.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaAllocator Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -87,7 +87,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocator_create_info-members.html b/docs/html/struct_vma_allocator_create_info-members.html
index f613e41..ba95211 100644
--- a/docs/html/struct_vma_allocator_create_info-members.html
+++ b/docs/html/struct_vma_allocator_create_info-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -91,7 +91,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocator_create_info.html b/docs/html/struct_vma_allocator_create_info.html
index fe71cbe..9dba66e 100644
--- a/docs/html/struct_vma_allocator_create_info.html
+++ b/docs/html/struct_vma_allocator_create_info.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaAllocatorCreateInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,27 +83,27 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a392ea2ecbaff93f91a7c49f735ad4346" id="r_a392ea2ecbaff93f91a7c49f735ad4346"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__init.html#gacfe6863e160722c2c1bbcf7573fddc4d">VmaAllocatorCreateFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a392ea2ecbaff93f91a7c49f735ad4346">flags</a></td></tr>
+<tr class="memitem:a392ea2ecbaff93f91a7c49f735ad4346" id="r_a392ea2ecbaff93f91a7c49f735ad4346"><td class="memItemLeft"><a class="el" href="group__group__init.html#gacfe6863e160722c2c1bbcf7573fddc4d">VmaAllocatorCreateFlags</a>&#160;</td><td class="memItemRight"><a class="el" href="#a392ea2ecbaff93f91a7c49f735ad4346">flags</a></td></tr>
 <tr class="memdesc:a392ea2ecbaff93f91a7c49f735ad4346"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags for created allocator. Use <a class="el" href="group__group__init.html#ga4f87c9100d154a65a4ad495f7763cf7c" title="Flags for created VmaAllocator.">VmaAllocatorCreateFlagBits</a> enum.  <br /></td></tr>
-<tr class="memitem:a08230f04ae6ccf8a78150a9e829a7156" id="r_a08230f04ae6ccf8a78150a9e829a7156"><td class="memItemLeft" align="right" valign="top">VkPhysicalDevice&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a08230f04ae6ccf8a78150a9e829a7156">physicalDevice</a></td></tr>
+<tr class="memitem:a08230f04ae6ccf8a78150a9e829a7156" id="r_a08230f04ae6ccf8a78150a9e829a7156"><td class="memItemLeft">VkPhysicalDevice&#160;</td><td class="memItemRight"><a class="el" href="#a08230f04ae6ccf8a78150a9e829a7156">physicalDevice</a></td></tr>
 <tr class="memdesc:a08230f04ae6ccf8a78150a9e829a7156"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vulkan physical device.  <br /></td></tr>
-<tr class="memitem:ad924ddd77b04039c88d0c09b0ffcd500" id="r_ad924ddd77b04039c88d0c09b0ffcd500"><td class="memItemLeft" align="right" valign="top">VkDevice&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad924ddd77b04039c88d0c09b0ffcd500">device</a></td></tr>
+<tr class="memitem:ad924ddd77b04039c88d0c09b0ffcd500" id="r_ad924ddd77b04039c88d0c09b0ffcd500"><td class="memItemLeft">VkDevice&#160;</td><td class="memItemRight"><a class="el" href="#ad924ddd77b04039c88d0c09b0ffcd500">device</a></td></tr>
 <tr class="memdesc:ad924ddd77b04039c88d0c09b0ffcd500"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vulkan device.  <br /></td></tr>
-<tr class="memitem:a8e4714298e3121cdd8b214a1ae7a637a" id="r_a8e4714298e3121cdd8b214a1ae7a637a"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8e4714298e3121cdd8b214a1ae7a637a">preferredLargeHeapBlockSize</a></td></tr>
+<tr class="memitem:a8e4714298e3121cdd8b214a1ae7a637a" id="r_a8e4714298e3121cdd8b214a1ae7a637a"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a8e4714298e3121cdd8b214a1ae7a637a">preferredLargeHeapBlockSize</a></td></tr>
 <tr class="memdesc:a8e4714298e3121cdd8b214a1ae7a637a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Preferred size of a single <span class="tt">VkDeviceMemory</span> block to be allocated from large heaps &gt; 1 GiB. Optional.  <br /></td></tr>
-<tr class="memitem:a6e409087e3be55400d0e4ccbe43c608d" id="r_a6e409087e3be55400d0e4ccbe43c608d"><td class="memItemLeft" align="right" valign="top">const VkAllocationCallbacks *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6e409087e3be55400d0e4ccbe43c608d">pAllocationCallbacks</a></td></tr>
+<tr class="memitem:a6e409087e3be55400d0e4ccbe43c608d" id="r_a6e409087e3be55400d0e4ccbe43c608d"><td class="memItemLeft">const VkAllocationCallbacks *&#160;</td><td class="memItemRight"><a class="el" href="#a6e409087e3be55400d0e4ccbe43c608d">pAllocationCallbacks</a></td></tr>
 <tr class="memdesc:a6e409087e3be55400d0e4ccbe43c608d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom CPU memory allocation callbacks. Optional.  <br /></td></tr>
-<tr class="memitem:af1380969b5e1ea4c3184a877892d260e" id="r_af1380969b5e1ea4c3184a877892d260e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_vma_device_memory_callbacks.html">VmaDeviceMemoryCallbacks</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af1380969b5e1ea4c3184a877892d260e">pDeviceMemoryCallbacks</a></td></tr>
+<tr class="memitem:af1380969b5e1ea4c3184a877892d260e" id="r_af1380969b5e1ea4c3184a877892d260e"><td class="memItemLeft">const <a class="el" href="struct_vma_device_memory_callbacks.html">VmaDeviceMemoryCallbacks</a> *&#160;</td><td class="memItemRight"><a class="el" href="#af1380969b5e1ea4c3184a877892d260e">pDeviceMemoryCallbacks</a></td></tr>
 <tr class="memdesc:af1380969b5e1ea4c3184a877892d260e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Informative callbacks for <span class="tt">vkAllocateMemory</span>, <span class="tt">vkFreeMemory</span>. Optional.  <br /></td></tr>
-<tr class="memitem:a31c192aa6cbffa33279f6d9f0c47c44b" id="r_a31c192aa6cbffa33279f6d9f0c47c44b"><td class="memItemLeft" align="right" valign="top">const VkDeviceSize *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a31c192aa6cbffa33279f6d9f0c47c44b">pHeapSizeLimit</a></td></tr>
+<tr class="memitem:a31c192aa6cbffa33279f6d9f0c47c44b" id="r_a31c192aa6cbffa33279f6d9f0c47c44b"><td class="memItemLeft">const VkDeviceSize *&#160;</td><td class="memItemRight"><a class="el" href="#a31c192aa6cbffa33279f6d9f0c47c44b">pHeapSizeLimit</a></td></tr>
 <tr class="memdesc:a31c192aa6cbffa33279f6d9f0c47c44b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Either null or a pointer to an array of limits on maximum number of bytes that can be allocated out of particular Vulkan memory heap.  <br /></td></tr>
-<tr class="memitem:a3dc197be3227da7338b1643f70db36bd" id="r_a3dc197be3227da7338b1643f70db36bd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_vma_vulkan_functions.html">VmaVulkanFunctions</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3dc197be3227da7338b1643f70db36bd">pVulkanFunctions</a></td></tr>
+<tr class="memitem:a3dc197be3227da7338b1643f70db36bd" id="r_a3dc197be3227da7338b1643f70db36bd"><td class="memItemLeft">const <a class="el" href="struct_vma_vulkan_functions.html">VmaVulkanFunctions</a> *&#160;</td><td class="memItemRight"><a class="el" href="#a3dc197be3227da7338b1643f70db36bd">pVulkanFunctions</a></td></tr>
 <tr class="memdesc:a3dc197be3227da7338b1643f70db36bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointers to Vulkan functions. Can be null.  <br /></td></tr>
-<tr class="memitem:a70dd42e29b1df1d1b9b61532ae0b370b" id="r_a70dd42e29b1df1d1b9b61532ae0b370b"><td class="memItemLeft" align="right" valign="top">VkInstance&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a70dd42e29b1df1d1b9b61532ae0b370b">instance</a></td></tr>
+<tr class="memitem:a70dd42e29b1df1d1b9b61532ae0b370b" id="r_a70dd42e29b1df1d1b9b61532ae0b370b"><td class="memItemLeft">VkInstance&#160;</td><td class="memItemRight"><a class="el" href="#a70dd42e29b1df1d1b9b61532ae0b370b">instance</a></td></tr>
 <tr class="memdesc:a70dd42e29b1df1d1b9b61532ae0b370b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle to Vulkan instance object.  <br /></td></tr>
-<tr class="memitem:ae0ffc55139b54520a6bb704b29ffc285" id="r_ae0ffc55139b54520a6bb704b29ffc285"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae0ffc55139b54520a6bb704b29ffc285">vulkanApiVersion</a></td></tr>
+<tr class="memitem:ae0ffc55139b54520a6bb704b29ffc285" id="r_ae0ffc55139b54520a6bb704b29ffc285"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#ae0ffc55139b54520a6bb704b29ffc285">vulkanApiVersion</a></td></tr>
 <tr class="memdesc:ae0ffc55139b54520a6bb704b29ffc285"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional. Vulkan version that the application uses.  <br /></td></tr>
-<tr class="memitem:ae8f0db05e5cb4c43d7713bf4a49a736b" id="r_ae8f0db05e5cb4c43d7713bf4a49a736b"><td class="memItemLeft" align="right" valign="top">const VkExternalMemoryHandleTypeFlagsKHR *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae8f0db05e5cb4c43d7713bf4a49a736b">pTypeExternalMemoryHandleTypes</a></td></tr>
+<tr class="memitem:ae8f0db05e5cb4c43d7713bf4a49a736b" id="r_ae8f0db05e5cb4c43d7713bf4a49a736b"><td class="memItemLeft">const VkExternalMemoryHandleTypeFlagsKHR *&#160;</td><td class="memItemRight"><a class="el" href="#ae8f0db05e5cb4c43d7713bf4a49a736b">pTypeExternalMemoryHandleTypes</a></td></tr>
 <tr class="memdesc:ae8f0db05e5cb4c43d7713bf4a49a736b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Either null or a pointer to an array of external memory handle types for each Vulkan memory type.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -207,7 +207,7 @@
 
 <p>Either null or a pointer to an array of limits on maximum number of bytes that can be allocated out of particular Vulkan memory heap. </p>
 <p>If not NULL, it must be a pointer to an array of <span class="tt">VkPhysicalDeviceMemoryProperties::memoryHeapCount</span> elements, defining limit on maximum number of bytes that can be allocated out of particular Vulkan memory heap.</p>
-<p>Any of the elements may be equal to <span class="tt">VK_WHOLE_SIZE</span>, which means no limit on that heap. This is also the default in case of <span class="tt">pHeapSizeLimit</span> = NULL.</p>
+<p>Any of the elements may be equal to <span class="tt">VK_WHOLE_SIZE</span>, which means no limit on that heap. This is also the default in case of <span class="tt"><a class="el" href="#a31c192aa6cbffa33279f6d9f0c47c44b" title="Either null or a pointer to an array of limits on maximum number of bytes that can be allocated out o...">pHeapSizeLimit</a></span> = NULL.</p>
 <p>If there is a limit defined for a heap:</p>
 <ul>
 <li>If user tries to allocate more memory from that heap using this allocator, the allocation fails with <span class="tt">VK_ERROR_OUT_OF_DEVICE_MEMORY</span>.</li>
@@ -265,7 +265,7 @@
 
 <p>Either null or a pointer to an array of external memory handle types for each Vulkan memory type. </p>
 <p>If not NULL, it must be a pointer to an array of <span class="tt">VkPhysicalDeviceMemoryProperties::memoryTypeCount</span> elements, defining external memory handle types of particular Vulkan memory type, to be passed using <span class="tt">VkExportMemoryAllocateInfoKHR</span>.</p>
-<p>Any of the elements may be equal to 0, which means not to use <span class="tt">VkExportMemoryAllocateInfoKHR</span> on this memory type. This is also the default in case of <span class="tt">pTypeExternalMemoryHandleTypes</span> = NULL. </p>
+<p>Any of the elements may be equal to 0, which means not to use <span class="tt">VkExportMemoryAllocateInfoKHR</span> on this memory type. This is also the default in case of <span class="tt"><a class="el" href="#ae8f0db05e5cb4c43d7713bf4a49a736b" title="Either null or a pointer to an array of external memory handle types for each Vulkan memory type.">pTypeExternalMemoryHandleTypes</a></span> = NULL. </p>
 
 </div>
 </div>
@@ -282,7 +282,7 @@
 </div><div class="memdoc">
 
 <p>Pointers to Vulkan functions. Can be null. </p>
-<p>For details see <a class="el" href="configuration.html#config_Vulkan_functions">Pointers to Vulkan functions</a>. </p>
+<p>For details see <a class="el" href="configuration.html#config_Vulkan_functions" title="Pointers to Vulkan functions">Pointers to Vulkan functions</a>. </p>
 
 </div>
 </div>
@@ -309,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocator_info-members.html b/docs/html/struct_vma_allocator_info-members.html
index 3045a2c..95961ce 100644
--- a/docs/html/struct_vma_allocator_info-members.html
+++ b/docs/html/struct_vma_allocator_info-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,7 +83,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_allocator_info.html b/docs/html/struct_vma_allocator_info.html
index 152c1a9..476df2a 100644
--- a/docs/html/struct_vma_allocator_info.html
+++ b/docs/html/struct_vma_allocator_info.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaAllocatorInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,11 +83,11 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a2ed6a4d2d3fea039d66a13f15d0ce5fe" id="r_a2ed6a4d2d3fea039d66a13f15d0ce5fe"><td class="memItemLeft" align="right" valign="top">VkInstance&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2ed6a4d2d3fea039d66a13f15d0ce5fe">instance</a></td></tr>
+<tr class="memitem:a2ed6a4d2d3fea039d66a13f15d0ce5fe" id="r_a2ed6a4d2d3fea039d66a13f15d0ce5fe"><td class="memItemLeft">VkInstance&#160;</td><td class="memItemRight"><a class="el" href="#a2ed6a4d2d3fea039d66a13f15d0ce5fe">instance</a></td></tr>
 <tr class="memdesc:a2ed6a4d2d3fea039d66a13f15d0ce5fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle to Vulkan instance object.  <br /></td></tr>
-<tr class="memitem:aba2b703f96e51d567717e1fb2935b47a" id="r_aba2b703f96e51d567717e1fb2935b47a"><td class="memItemLeft" align="right" valign="top">VkPhysicalDevice&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aba2b703f96e51d567717e1fb2935b47a">physicalDevice</a></td></tr>
+<tr class="memitem:aba2b703f96e51d567717e1fb2935b47a" id="r_aba2b703f96e51d567717e1fb2935b47a"><td class="memItemLeft">VkPhysicalDevice&#160;</td><td class="memItemRight"><a class="el" href="#aba2b703f96e51d567717e1fb2935b47a">physicalDevice</a></td></tr>
 <tr class="memdesc:aba2b703f96e51d567717e1fb2935b47a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle to Vulkan physical device object.  <br /></td></tr>
-<tr class="memitem:a012b4c485bf3b0ea8921352c5ee0c357" id="r_a012b4c485bf3b0ea8921352c5ee0c357"><td class="memItemLeft" align="right" valign="top">VkDevice&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a012b4c485bf3b0ea8921352c5ee0c357">device</a></td></tr>
+<tr class="memitem:a012b4c485bf3b0ea8921352c5ee0c357" id="r_a012b4c485bf3b0ea8921352c5ee0c357"><td class="memItemLeft">VkDevice&#160;</td><td class="memItemRight"><a class="el" href="#a012b4c485bf3b0ea8921352c5ee0c357">device</a></td></tr>
 <tr class="memdesc:a012b4c485bf3b0ea8921352c5ee0c357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle to Vulkan device object.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -150,7 +150,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_budget-members.html b/docs/html/struct_vma_budget-members.html
index e47b062..e441346 100644
--- a/docs/html/struct_vma_budget-members.html
+++ b/docs/html/struct_vma_budget-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,7 +83,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_budget.html b/docs/html/struct_vma_budget.html
index 61fd115..bf82b0d 100644
--- a/docs/html/struct_vma_budget.html
+++ b/docs/html/struct_vma_budget.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaBudget Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,11 +83,11 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a6d15ab3a798fd62d9efa3a1e1f83bf54" id="r_a6d15ab3a798fd62d9efa3a1e1f83bf54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6d15ab3a798fd62d9efa3a1e1f83bf54">statistics</a></td></tr>
+<tr class="memitem:a6d15ab3a798fd62d9efa3a1e1f83bf54" id="r_a6d15ab3a798fd62d9efa3a1e1f83bf54"><td class="memItemLeft"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a>&#160;</td><td class="memItemRight"><a class="el" href="#a6d15ab3a798fd62d9efa3a1e1f83bf54">statistics</a></td></tr>
 <tr class="memdesc:a6d15ab3a798fd62d9efa3a1e1f83bf54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics fetched from the library.  <br /></td></tr>
-<tr class="memitem:a84dd1ecca8b0110259eb206dbadb11f6" id="r_a84dd1ecca8b0110259eb206dbadb11f6"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a84dd1ecca8b0110259eb206dbadb11f6">usage</a></td></tr>
+<tr class="memitem:a84dd1ecca8b0110259eb206dbadb11f6" id="r_a84dd1ecca8b0110259eb206dbadb11f6"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a84dd1ecca8b0110259eb206dbadb11f6">usage</a></td></tr>
 <tr class="memdesc:a84dd1ecca8b0110259eb206dbadb11f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimated current memory usage of the program, in bytes.  <br /></td></tr>
-<tr class="memitem:ab82e1d1754c2d210d0bdf90220bc6cdd" id="r_ab82e1d1754c2d210d0bdf90220bc6cdd"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab82e1d1754c2d210d0bdf90220bc6cdd">budget</a></td></tr>
+<tr class="memitem:ab82e1d1754c2d210d0bdf90220bc6cdd" id="r_ab82e1d1754c2d210d0bdf90220bc6cdd"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#ab82e1d1754c2d210d0bdf90220bc6cdd">budget</a></td></tr>
 <tr class="memdesc:ab82e1d1754c2d210d0bdf90220bc6cdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimated amount of memory available to the program, in bytes.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -108,7 +108,7 @@
 
 <p>Estimated amount of memory available to the program, in bytes. </p>
 <p>Fetched from system using VK_EXT_memory_budget extension if enabled.</p>
-<p>It might be different (most probably smaller) than <span class="tt">VkMemoryHeap::size[heapIndex]</span> due to factors external to the program, decided by the operating system. Difference <span class="tt">budget - usage</span> is the amount of additional memory that can probably be allocated without problems. Exceeding the budget may result in various problems. </p>
+<p>It might be different (most probably smaller) than <span class="tt">VkMemoryHeap::size[heapIndex]</span> due to factors external to the program, decided by the operating system. Difference <span class="tt"><a class="el" href="#ab82e1d1754c2d210d0bdf90220bc6cdd" title="Estimated amount of memory available to the program, in bytes.">budget</a> - <a class="el" href="#a84dd1ecca8b0110259eb206dbadb11f6" title="Estimated current memory usage of the program, in bytes.">usage</a></span> is the amount of additional memory that can probably be allocated without problems. Exceeding the budget may result in various problems. </p>
 
 </div>
 </div>
@@ -152,7 +152,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_defragmentation_context.html b/docs/html/struct_vma_defragmentation_context.html
index 005a0fd..d8db942 100644
--- a/docs/html/struct_vma_defragmentation_context.html
+++ b/docs/html/struct_vma_defragmentation_context.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaDefragmentationContext Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -86,7 +86,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_defragmentation_info-members.html b/docs/html/struct_vma_defragmentation_info-members.html
index 29ab3e8..928c110 100644
--- a/docs/html/struct_vma_defragmentation_info-members.html
+++ b/docs/html/struct_vma_defragmentation_info-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -86,7 +86,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_defragmentation_info.html b/docs/html/struct_vma_defragmentation_info.html
index 64b7eac..2758b77 100644
--- a/docs/html/struct_vma_defragmentation_info.html
+++ b/docs/html/struct_vma_defragmentation_info.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaDefragmentationInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,17 +83,17 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a3e23080c978ecf3abb3180f5b2069da7" id="r_a3e23080c978ecf3abb3180f5b2069da7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__alloc.html#ga88a77cef37e5d3c4fc9eb328885d048d">VmaDefragmentationFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3e23080c978ecf3abb3180f5b2069da7">flags</a></td></tr>
+<tr class="memitem:a3e23080c978ecf3abb3180f5b2069da7" id="r_a3e23080c978ecf3abb3180f5b2069da7"><td class="memItemLeft"><a class="el" href="group__group__alloc.html#ga88a77cef37e5d3c4fc9eb328885d048d">VmaDefragmentationFlags</a>&#160;</td><td class="memItemRight"><a class="el" href="#a3e23080c978ecf3abb3180f5b2069da7">flags</a></td></tr>
 <tr class="memdesc:a3e23080c978ecf3abb3180f5b2069da7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use combination of <a class="el" href="group__group__alloc.html#ga6552a65b71d16f378c6994b3ceaef50c" title="Flags to be passed as VmaDefragmentationInfo::flags.">VmaDefragmentationFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:a18dd2097d8ab2976cdc7dd3e7b978bd4" id="r_a18dd2097d8ab2976cdc7dd3e7b978bd4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_pool.html">VmaPool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a18dd2097d8ab2976cdc7dd3e7b978bd4">pool</a></td></tr>
+<tr class="memitem:a18dd2097d8ab2976cdc7dd3e7b978bd4" id="r_a18dd2097d8ab2976cdc7dd3e7b978bd4"><td class="memItemLeft"><a class="el" href="struct_vma_pool.html">VmaPool</a>&#160;</td><td class="memItemRight"><a class="el" href="#a18dd2097d8ab2976cdc7dd3e7b978bd4">pool</a></td></tr>
 <tr class="memdesc:a18dd2097d8ab2976cdc7dd3e7b978bd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom pool to be defragmented.  <br /></td></tr>
-<tr class="memitem:a637ada77b02179a27fa92290000afac4" id="r_a637ada77b02179a27fa92290000afac4"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a637ada77b02179a27fa92290000afac4">maxBytesPerPass</a></td></tr>
+<tr class="memitem:a637ada77b02179a27fa92290000afac4" id="r_a637ada77b02179a27fa92290000afac4"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a637ada77b02179a27fa92290000afac4">maxBytesPerPass</a></td></tr>
 <tr class="memdesc:a637ada77b02179a27fa92290000afac4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum numbers of bytes that can be copied during single pass, while moving allocations to different places.  <br /></td></tr>
-<tr class="memitem:ac2db29d309bebc4f7d55041416e9694b" id="r_ac2db29d309bebc4f7d55041416e9694b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac2db29d309bebc4f7d55041416e9694b">maxAllocationsPerPass</a></td></tr>
+<tr class="memitem:ac2db29d309bebc4f7d55041416e9694b" id="r_ac2db29d309bebc4f7d55041416e9694b"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#ac2db29d309bebc4f7d55041416e9694b">maxAllocationsPerPass</a></td></tr>
 <tr class="memdesc:ac2db29d309bebc4f7d55041416e9694b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of allocations that can be moved during single pass to a different place.  <br /></td></tr>
-<tr class="memitem:a9f189976b5b605345f84b5b5217acc0f" id="r_a9f189976b5b605345f84b5b5217acc0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__alloc.html#ga6f57b18d4241e80be444842df3094b30">PFN_vmaCheckDefragmentationBreakFunction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9f189976b5b605345f84b5b5217acc0f">pfnBreakCallback</a></td></tr>
+<tr class="memitem:a9f189976b5b605345f84b5b5217acc0f" id="r_a9f189976b5b605345f84b5b5217acc0f"><td class="memItemLeft"><a class="el" href="group__group__alloc.html#ga6f57b18d4241e80be444842df3094b30">PFN_vmaCheckDefragmentationBreakFunction</a>&#160;</td><td class="memItemRight"><a class="el" href="#a9f189976b5b605345f84b5b5217acc0f">pfnBreakCallback</a></td></tr>
 <tr class="memdesc:a9f189976b5b605345f84b5b5217acc0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional custom callback for stopping <a class="el" href="group__group__alloc.html#gac3335566858b45541fa9c0d7a6bbb57e" title="Begins defragmentation process.">vmaBeginDefragmentation()</a>.  <br /></td></tr>
-<tr class="memitem:ab08ed4a96a671ca176d926ccc31b203f" id="r_ab08ed4a96a671ca176d926ccc31b203f"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab08ed4a96a671ca176d926ccc31b203f">pBreakCallbackUserData</a></td></tr>
+<tr class="memitem:ab08ed4a96a671ca176d926ccc31b203f" id="r_ab08ed4a96a671ca176d926ccc31b203f"><td class="memItemLeft">void *&#160;</td><td class="memItemRight"><a class="el" href="#ab08ed4a96a671ca176d926ccc31b203f">pBreakCallbackUserData</a></td></tr>
 <tr class="memdesc:ab08ed4a96a671ca176d926ccc31b203f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional data to pass to custom callback for stopping pass of defragmentation.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -206,7 +206,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_defragmentation_move-members.html b/docs/html/struct_vma_defragmentation_move-members.html
index 96a75e2..f884a6e 100644
--- a/docs/html/struct_vma_defragmentation_move-members.html
+++ b/docs/html/struct_vma_defragmentation_move-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,7 +83,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_defragmentation_move.html b/docs/html/struct_vma_defragmentation_move.html
index 2618863..71c5912 100644
--- a/docs/html/struct_vma_defragmentation_move.html
+++ b/docs/html/struct_vma_defragmentation_move.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaDefragmentationMove Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,12 +83,12 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a20996a4686c9246dff77b375ac4a91e2" id="r_a20996a4686c9246dff77b375ac4a91e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__alloc.html#gada9e3861caf96f08894b0bcc160ec257">VmaDefragmentationMoveOperation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a20996a4686c9246dff77b375ac4a91e2">operation</a></td></tr>
+<tr class="memitem:a20996a4686c9246dff77b375ac4a91e2" id="r_a20996a4686c9246dff77b375ac4a91e2"><td class="memItemLeft"><a class="el" href="group__group__alloc.html#gada9e3861caf96f08894b0bcc160ec257">VmaDefragmentationMoveOperation</a>&#160;</td><td class="memItemRight"><a class="el" href="#a20996a4686c9246dff77b375ac4a91e2">operation</a></td></tr>
 <tr class="memdesc:a20996a4686c9246dff77b375ac4a91e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operation to be performed on the allocation by <a class="el" href="group__group__alloc.html#gaded05a445742a00718ee766144c5c226" title="Ends single defragmentation pass.">vmaEndDefragmentationPass()</a>. Default value is <a class="el" href="group__group__alloc.html#ggada9e3861caf96f08894b0bcc160ec257ad4a06ac46c4cb1c67b0ebc1edfab9f18" title="Buffer/image has been recreated at dstTmpAllocation, data has been copied, old buffer/image has been ...">VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY</a>. You can modify it.  <br /></td></tr>
-<tr class="memitem:a25aa1bb64efc507a49c6cbc50689f862" id="r_a25aa1bb64efc507a49c6cbc50689f862"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_allocation.html">VmaAllocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a25aa1bb64efc507a49c6cbc50689f862">srcAllocation</a></td></tr>
+<tr class="memitem:a25aa1bb64efc507a49c6cbc50689f862" id="r_a25aa1bb64efc507a49c6cbc50689f862"><td class="memItemLeft"><a class="el" href="struct_vma_allocation.html">VmaAllocation</a>&#160;</td><td class="memItemRight"><a class="el" href="#a25aa1bb64efc507a49c6cbc50689f862">srcAllocation</a></td></tr>
 <tr class="memdesc:a25aa1bb64efc507a49c6cbc50689f862"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocation that should be moved.  <br /></td></tr>
-<tr class="memitem:ab65b106adf209acd7313296d1075300e" id="r_ab65b106adf209acd7313296d1075300e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_allocation.html">VmaAllocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab65b106adf209acd7313296d1075300e">dstTmpAllocation</a></td></tr>
-<tr class="memdesc:ab65b106adf209acd7313296d1075300e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Temporary allocation pointing to destination memory that will replace <span class="tt">srcAllocation</span>.  <br /></td></tr>
+<tr class="memitem:ab65b106adf209acd7313296d1075300e" id="r_ab65b106adf209acd7313296d1075300e"><td class="memItemLeft"><a class="el" href="struct_vma_allocation.html">VmaAllocation</a>&#160;</td><td class="memItemRight"><a class="el" href="#ab65b106adf209acd7313296d1075300e">dstTmpAllocation</a></td></tr>
+<tr class="memdesc:ab65b106adf209acd7313296d1075300e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Temporary allocation pointing to destination memory that will replace <span class="tt"><a class="el" href="#a25aa1bb64efc507a49c6cbc50689f862" title="Allocation that should be moved.">srcAllocation</a></span>.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Single move of an allocation to be done for defragmentation. </p>
@@ -105,8 +105,8 @@
       </table>
 </div><div class="memdoc">
 
-<p>Temporary allocation pointing to destination memory that will replace <span class="tt">srcAllocation</span>. </p>
-<dl class="section warning"><dt>Warning</dt><dd>Do not store this allocation in your data structures! It exists only temporarily, for the duration of the defragmentation pass, to be used for binding new buffer/image to the destination memory using e.g. <a class="el" href="group__group__alloc.html#ga6b0929b914b60cf2d45cac4bf3547470" title="Binds buffer to allocation.">vmaBindBufferMemory()</a>. <a class="el" href="group__group__alloc.html#gaded05a445742a00718ee766144c5c226" title="Ends single defragmentation pass.">vmaEndDefragmentationPass()</a> will destroy it and make <span class="tt">srcAllocation</span> point to this memory. </dd></dl>
+<p>Temporary allocation pointing to destination memory that will replace <span class="tt"><a class="el" href="#a25aa1bb64efc507a49c6cbc50689f862" title="Allocation that should be moved.">srcAllocation</a></span>. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Do not store this allocation in your data structures! It exists only temporarily, for the duration of the defragmentation pass, to be used for binding new buffer/image to the destination memory using e.g. <a class="el" href="group__group__alloc.html#ga6b0929b914b60cf2d45cac4bf3547470" title="Binds buffer to allocation.">vmaBindBufferMemory()</a>. <a class="el" href="group__group__alloc.html#gaded05a445742a00718ee766144c5c226" title="Ends single defragmentation pass.">vmaEndDefragmentationPass()</a> will destroy it and make <span class="tt"><a class="el" href="#a25aa1bb64efc507a49c6cbc50689f862" title="Allocation that should be moved.">srcAllocation</a></span> point to this memory. </dd></dl>
 
 </div>
 </div>
@@ -148,7 +148,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_defragmentation_pass_move_info-members.html b/docs/html/struct_vma_defragmentation_pass_move_info-members.html
index 78ba975..30edc01 100644
--- a/docs/html/struct_vma_defragmentation_pass_move_info-members.html
+++ b/docs/html/struct_vma_defragmentation_pass_move_info-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -82,7 +82,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_defragmentation_pass_move_info.html b/docs/html/struct_vma_defragmentation_pass_move_info.html
index c1eece4..5573295 100644
--- a/docs/html/struct_vma_defragmentation_pass_move_info.html
+++ b/docs/html/struct_vma_defragmentation_pass_move_info.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaDefragmentationPassMoveInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,9 +83,9 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a1b3e18c23f9691f35baf183e615c4408" id="r_a1b3e18c23f9691f35baf183e615c4408"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1b3e18c23f9691f35baf183e615c4408">moveCount</a></td></tr>
-<tr class="memdesc:a1b3e18c23f9691f35baf183e615c4408"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of elements in the <span class="tt">pMoves</span> array.  <br /></td></tr>
-<tr class="memitem:adfa7a4994afd9b940e7f1dfaf436a725" id="r_adfa7a4994afd9b940e7f1dfaf436a725"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_defragmentation_move.html">VmaDefragmentationMove</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adfa7a4994afd9b940e7f1dfaf436a725">pMoves</a></td></tr>
+<tr class="memitem:a1b3e18c23f9691f35baf183e615c4408" id="r_a1b3e18c23f9691f35baf183e615c4408"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#a1b3e18c23f9691f35baf183e615c4408">moveCount</a></td></tr>
+<tr class="memdesc:a1b3e18c23f9691f35baf183e615c4408"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of elements in the <span class="tt"><a class="el" href="#adfa7a4994afd9b940e7f1dfaf436a725" title="Array of moves to be performed by the user in the current defragmentation pass.">pMoves</a></span> array.  <br /></td></tr>
+<tr class="memitem:adfa7a4994afd9b940e7f1dfaf436a725" id="r_adfa7a4994afd9b940e7f1dfaf436a725"><td class="memItemLeft"><a class="el" href="struct_vma_defragmentation_move.html">VmaDefragmentationMove</a> *&#160;</td><td class="memItemRight"><a class="el" href="#adfa7a4994afd9b940e7f1dfaf436a725">pMoves</a></td></tr>
 <tr class="memdesc:adfa7a4994afd9b940e7f1dfaf436a725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of moves to be performed by the user in the current defragmentation pass.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -104,7 +104,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Number of elements in the <span class="tt">pMoves</span> array. </p>
+<p>Number of elements in the <span class="tt"><a class="el" href="#adfa7a4994afd9b940e7f1dfaf436a725" title="Array of moves to be performed by the user in the current defragmentation pass.">pMoves</a></span> array. </p>
 
 </div>
 </div>
@@ -121,7 +121,7 @@
 </div><div class="memdoc">
 
 <p>Array of moves to be performed by the user in the current defragmentation pass. </p>
-<p>Pointer to an array of <span class="tt">moveCount</span> elements, owned by VMA, created in <a class="el" href="group__group__alloc.html#ga980d7da2ce3b1fd5c8b8476bc362cc00" title="Starts single defragmentation pass.">vmaBeginDefragmentationPass()</a>, destroyed in <a class="el" href="group__group__alloc.html#gaded05a445742a00718ee766144c5c226" title="Ends single defragmentation pass.">vmaEndDefragmentationPass()</a>.</p>
+<p>Pointer to an array of <span class="tt"><a class="el" href="#a1b3e18c23f9691f35baf183e615c4408" title="Number of elements in the pMoves array.">moveCount</a></span> elements, owned by VMA, created in <a class="el" href="group__group__alloc.html#ga980d7da2ce3b1fd5c8b8476bc362cc00" title="Starts single defragmentation pass.">vmaBeginDefragmentationPass()</a>, destroyed in <a class="el" href="group__group__alloc.html#gaded05a445742a00718ee766144c5c226" title="Ends single defragmentation pass.">vmaEndDefragmentationPass()</a>.</p>
 <p>For each element, you should:</p>
 <ol type="1">
 <li>Create a new buffer/image in the place pointed by VmaDefragmentationMove::dstMemory + VmaDefragmentationMove::dstOffset.</li>
@@ -146,7 +146,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_defragmentation_stats-members.html b/docs/html/struct_vma_defragmentation_stats-members.html
index 432d1ea..cc8a934 100644
--- a/docs/html/struct_vma_defragmentation_stats-members.html
+++ b/docs/html/struct_vma_defragmentation_stats-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -84,7 +84,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_defragmentation_stats.html b/docs/html/struct_vma_defragmentation_stats.html
index 9a7cff5..0ef7e61 100644
--- a/docs/html/struct_vma_defragmentation_stats.html
+++ b/docs/html/struct_vma_defragmentation_stats.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaDefragmentationStats Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,13 +83,13 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a36f9d5df2a10ba2a36b16e126d60572d" id="r_a36f9d5df2a10ba2a36b16e126d60572d"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a36f9d5df2a10ba2a36b16e126d60572d">bytesMoved</a></td></tr>
+<tr class="memitem:a36f9d5df2a10ba2a36b16e126d60572d" id="r_a36f9d5df2a10ba2a36b16e126d60572d"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a36f9d5df2a10ba2a36b16e126d60572d">bytesMoved</a></td></tr>
 <tr class="memdesc:a36f9d5df2a10ba2a36b16e126d60572d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of bytes that have been copied while moving allocations to different places.  <br /></td></tr>
-<tr class="memitem:ab0cb9ac0dbc106c77e384ea676422f28" id="r_ab0cb9ac0dbc106c77e384ea676422f28"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab0cb9ac0dbc106c77e384ea676422f28">bytesFreed</a></td></tr>
+<tr class="memitem:ab0cb9ac0dbc106c77e384ea676422f28" id="r_ab0cb9ac0dbc106c77e384ea676422f28"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#ab0cb9ac0dbc106c77e384ea676422f28">bytesFreed</a></td></tr>
 <tr class="memdesc:ab0cb9ac0dbc106c77e384ea676422f28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of bytes that have been released to the system by freeing empty <span class="tt">VkDeviceMemory</span> objects.  <br /></td></tr>
-<tr class="memitem:aefeabf130022008eadd75999478af3f9" id="r_aefeabf130022008eadd75999478af3f9"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aefeabf130022008eadd75999478af3f9">allocationsMoved</a></td></tr>
+<tr class="memitem:aefeabf130022008eadd75999478af3f9" id="r_aefeabf130022008eadd75999478af3f9"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#aefeabf130022008eadd75999478af3f9">allocationsMoved</a></td></tr>
 <tr class="memdesc:aefeabf130022008eadd75999478af3f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of allocations that have been moved to different places.  <br /></td></tr>
-<tr class="memitem:a0113f1877904a5d1ee8f409216ff276b" id="r_a0113f1877904a5d1ee8f409216ff276b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0113f1877904a5d1ee8f409216ff276b">deviceMemoryBlocksFreed</a></td></tr>
+<tr class="memitem:a0113f1877904a5d1ee8f409216ff276b" id="r_a0113f1877904a5d1ee8f409216ff276b"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#a0113f1877904a5d1ee8f409216ff276b">deviceMemoryBlocksFreed</a></td></tr>
 <tr class="memdesc:a0113f1877904a5d1ee8f409216ff276b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of empty <span class="tt">VkDeviceMemory</span> objects that have been released to the system.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -165,7 +165,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_detailed_statistics-members.html b/docs/html/struct_vma_detailed_statistics-members.html
index 4bec096..f1b69fe 100644
--- a/docs/html/struct_vma_detailed_statistics-members.html
+++ b/docs/html/struct_vma_detailed_statistics-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -86,7 +86,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_detailed_statistics.html b/docs/html/struct_vma_detailed_statistics.html
index d0d1ab8..f0525c6 100644
--- a/docs/html/struct_vma_detailed_statistics.html
+++ b/docs/html/struct_vma_detailed_statistics.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaDetailedStatistics Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,17 +83,17 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a13efbdb35bd1291191d275f43e96d360" id="r_a13efbdb35bd1291191d275f43e96d360"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a13efbdb35bd1291191d275f43e96d360">statistics</a></td></tr>
+<tr class="memitem:a13efbdb35bd1291191d275f43e96d360" id="r_a13efbdb35bd1291191d275f43e96d360"><td class="memItemLeft"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a>&#160;</td><td class="memItemRight"><a class="el" href="#a13efbdb35bd1291191d275f43e96d360">statistics</a></td></tr>
 <tr class="memdesc:a13efbdb35bd1291191d275f43e96d360"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic statistics.  <br /></td></tr>
-<tr class="memitem:ab721bf04892e8b67802d4ddb7734638a" id="r_ab721bf04892e8b67802d4ddb7734638a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab721bf04892e8b67802d4ddb7734638a">unusedRangeCount</a></td></tr>
+<tr class="memitem:ab721bf04892e8b67802d4ddb7734638a" id="r_ab721bf04892e8b67802d4ddb7734638a"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#ab721bf04892e8b67802d4ddb7734638a">unusedRangeCount</a></td></tr>
 <tr class="memdesc:ab721bf04892e8b67802d4ddb7734638a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of free ranges of memory between allocations.  <br /></td></tr>
-<tr class="memitem:a6fb397e7487e10f2a52e241577d2a2b8" id="r_a6fb397e7487e10f2a52e241577d2a2b8"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6fb397e7487e10f2a52e241577d2a2b8">allocationSizeMin</a></td></tr>
+<tr class="memitem:a6fb397e7487e10f2a52e241577d2a2b8" id="r_a6fb397e7487e10f2a52e241577d2a2b8"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a6fb397e7487e10f2a52e241577d2a2b8">allocationSizeMin</a></td></tr>
 <tr class="memdesc:a6fb397e7487e10f2a52e241577d2a2b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Smallest allocation size. <span class="tt">VK_WHOLE_SIZE</span> if there are 0 allocations.  <br /></td></tr>
-<tr class="memitem:a06b2add24eed3449a66ff151979a0201" id="r_a06b2add24eed3449a66ff151979a0201"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a06b2add24eed3449a66ff151979a0201">allocationSizeMax</a></td></tr>
+<tr class="memitem:a06b2add24eed3449a66ff151979a0201" id="r_a06b2add24eed3449a66ff151979a0201"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a06b2add24eed3449a66ff151979a0201">allocationSizeMax</a></td></tr>
 <tr class="memdesc:a06b2add24eed3449a66ff151979a0201"><td class="mdescLeft">&#160;</td><td class="mdescRight">Largest allocation size. 0 if there are 0 allocations.  <br /></td></tr>
-<tr class="memitem:a830eda847ed735d0e91da25cfcf797a4" id="r_a830eda847ed735d0e91da25cfcf797a4"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a830eda847ed735d0e91da25cfcf797a4">unusedRangeSizeMin</a></td></tr>
+<tr class="memitem:a830eda847ed735d0e91da25cfcf797a4" id="r_a830eda847ed735d0e91da25cfcf797a4"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a830eda847ed735d0e91da25cfcf797a4">unusedRangeSizeMin</a></td></tr>
 <tr class="memdesc:a830eda847ed735d0e91da25cfcf797a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Smallest empty range size. <span class="tt">VK_WHOLE_SIZE</span> if there are 0 empty ranges.  <br /></td></tr>
-<tr class="memitem:af98943b5da98cf441ffa04b67914c78c" id="r_af98943b5da98cf441ffa04b67914c78c"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af98943b5da98cf441ffa04b67914c78c">unusedRangeSizeMax</a></td></tr>
+<tr class="memitem:af98943b5da98cf441ffa04b67914c78c" id="r_af98943b5da98cf441ffa04b67914c78c"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#af98943b5da98cf441ffa04b67914c78c">unusedRangeSizeMax</a></td></tr>
 <tr class="memdesc:af98943b5da98cf441ffa04b67914c78c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Largest empty range size. 0 if there are 0 empty ranges.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -206,7 +206,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_device_memory_callbacks-members.html b/docs/html/struct_vma_device_memory_callbacks-members.html
index 1259860..ebec086 100644
--- a/docs/html/struct_vma_device_memory_callbacks-members.html
+++ b/docs/html/struct_vma_device_memory_callbacks-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,7 +83,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_device_memory_callbacks.html b/docs/html/struct_vma_device_memory_callbacks.html
index b678652..d94fb15 100644
--- a/docs/html/struct_vma_device_memory_callbacks.html
+++ b/docs/html/struct_vma_device_memory_callbacks.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaDeviceMemoryCallbacks Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,11 +83,11 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a4f17f7b255101e733b44d5633aceabfb" id="r_a4f17f7b255101e733b44d5633aceabfb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__init.html#ga7e1ed85f7799600b03ad51a77acc21f3">PFN_vmaAllocateDeviceMemoryFunction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4f17f7b255101e733b44d5633aceabfb">pfnAllocate</a></td></tr>
+<tr class="memitem:a4f17f7b255101e733b44d5633aceabfb" id="r_a4f17f7b255101e733b44d5633aceabfb"><td class="memItemLeft"><a class="el" href="group__group__init.html#ga7e1ed85f7799600b03ad51a77acc21f3">PFN_vmaAllocateDeviceMemoryFunction</a>&#160;</td><td class="memItemRight"><a class="el" href="#a4f17f7b255101e733b44d5633aceabfb">pfnAllocate</a></td></tr>
 <tr class="memdesc:a4f17f7b255101e733b44d5633aceabfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional, can be null.  <br /></td></tr>
-<tr class="memitem:abe8a3328bbc916f6f712fdb6b299444c" id="r_abe8a3328bbc916f6f712fdb6b299444c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__init.html#ga154ccaaf53dc2c36378f80f0c4f3679b">PFN_vmaFreeDeviceMemoryFunction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abe8a3328bbc916f6f712fdb6b299444c">pfnFree</a></td></tr>
+<tr class="memitem:abe8a3328bbc916f6f712fdb6b299444c" id="r_abe8a3328bbc916f6f712fdb6b299444c"><td class="memItemLeft"><a class="el" href="group__group__init.html#ga154ccaaf53dc2c36378f80f0c4f3679b">PFN_vmaFreeDeviceMemoryFunction</a>&#160;</td><td class="memItemRight"><a class="el" href="#abe8a3328bbc916f6f712fdb6b299444c">pfnFree</a></td></tr>
 <tr class="memdesc:abe8a3328bbc916f6f712fdb6b299444c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional, can be null.  <br /></td></tr>
-<tr class="memitem:a24052de0937ddd54015a2df0363903c6" id="r_a24052de0937ddd54015a2df0363903c6"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a24052de0937ddd54015a2df0363903c6">pUserData</a></td></tr>
+<tr class="memitem:a24052de0937ddd54015a2df0363903c6" id="r_a24052de0937ddd54015a2df0363903c6"><td class="memItemLeft">void *&#160;</td><td class="memItemRight"><a class="el" href="#a24052de0937ddd54015a2df0363903c6">pUserData</a></td></tr>
 <tr class="memdesc:a24052de0937ddd54015a2df0363903c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional, can be null.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -149,7 +149,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_pool.html b/docs/html/struct_vma_pool.html
index b213620..a46c3f6 100644
--- a/docs/html/struct_vma_pool.html
+++ b/docs/html/struct_vma_pool.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaPool Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -80,14 +80,14 @@
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Represents custom memory pool. </p>
 <p>Fill structure <a class="el" href="struct_vma_pool_create_info.html" title="Describes parameter of created VmaPool.">VmaPoolCreateInfo</a> and call function <a class="el" href="group__group__alloc.html#ga5c8770ded7c59c8caac6de0c2cb00b50" title="Allocates Vulkan device memory and creates VmaPool object.">vmaCreatePool()</a> to create it. Call function <a class="el" href="group__group__alloc.html#ga5485779c8f1948238fc4e92232fa65e1" title="Destroys VmaPool object and frees Vulkan device memory.">vmaDestroyPool()</a> to destroy it.</p>
-<p>For more information see <a class="el" href="choosing_memory_type.html#choosing_memory_type_custom_memory_pools">Custom memory pools</a>. </p>
+<p>For more information see <a class="el" href="choosing_memory_type.html#choosing_memory_type_custom_memory_pools" title="Custom memory pools">Custom memory pools</a>. </p>
 </div><hr/>The documentation for this struct was generated from the following file:<ul>
 <li>C:/Code/VulkanMemoryAllocator/REPO/include/<a class="el" href="vk__mem__alloc_8h.html">vk_mem_alloc.h</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_pool_create_info-members.html b/docs/html/struct_vma_pool_create_info-members.html
index 7c8f047..f66ccc8 100644
--- a/docs/html/struct_vma_pool_create_info-members.html
+++ b/docs/html/struct_vma_pool_create_info-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -88,7 +88,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_pool_create_info.html b/docs/html/struct_vma_pool_create_info.html
index 4478865..4c25598 100644
--- a/docs/html/struct_vma_pool_create_info.html
+++ b/docs/html/struct_vma_pool_create_info.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaPoolCreateInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,21 +83,21 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a596fa76b685d3f1f688f84a709a5b319" id="r_a596fa76b685d3f1f688f84a709a5b319"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a596fa76b685d3f1f688f84a709a5b319">memoryTypeIndex</a></td></tr>
+<tr class="memitem:a596fa76b685d3f1f688f84a709a5b319" id="r_a596fa76b685d3f1f688f84a709a5b319"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#a596fa76b685d3f1f688f84a709a5b319">memoryTypeIndex</a></td></tr>
 <tr class="memdesc:a596fa76b685d3f1f688f84a709a5b319"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vulkan memory type index to allocate this pool from.  <br /></td></tr>
-<tr class="memitem:a8405139f63d078340ae74513a59f5446" id="r_a8405139f63d078340ae74513a59f5446"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__alloc.html#ga2770e325ea42e087c1b91fdf46d0292a">VmaPoolCreateFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8405139f63d078340ae74513a59f5446">flags</a></td></tr>
+<tr class="memitem:a8405139f63d078340ae74513a59f5446" id="r_a8405139f63d078340ae74513a59f5446"><td class="memItemLeft"><a class="el" href="group__group__alloc.html#ga2770e325ea42e087c1b91fdf46d0292a">VmaPoolCreateFlags</a>&#160;</td><td class="memItemRight"><a class="el" href="#a8405139f63d078340ae74513a59f5446">flags</a></td></tr>
 <tr class="memdesc:a8405139f63d078340ae74513a59f5446"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use combination of <a class="el" href="group__group__alloc.html#ga9a7c45f9c863695d98c83fa5ac940fe7" title="Flags to be passed as VmaPoolCreateInfo::flags.">VmaPoolCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:aa4265160536cdb9be821b7686c16c676" id="r_aa4265160536cdb9be821b7686c16c676"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa4265160536cdb9be821b7686c16c676">blockSize</a></td></tr>
+<tr class="memitem:aa4265160536cdb9be821b7686c16c676" id="r_aa4265160536cdb9be821b7686c16c676"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#aa4265160536cdb9be821b7686c16c676">blockSize</a></td></tr>
 <tr class="memdesc:aa4265160536cdb9be821b7686c16c676"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of a single <span class="tt">VkDeviceMemory</span> block to be allocated as part of this pool, in bytes. Optional.  <br /></td></tr>
-<tr class="memitem:ad8006fb803185c0a699d30f3e9a865ae" id="r_ad8006fb803185c0a699d30f3e9a865ae"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad8006fb803185c0a699d30f3e9a865ae">minBlockCount</a></td></tr>
+<tr class="memitem:ad8006fb803185c0a699d30f3e9a865ae" id="r_ad8006fb803185c0a699d30f3e9a865ae"><td class="memItemLeft">size_t&#160;</td><td class="memItemRight"><a class="el" href="#ad8006fb803185c0a699d30f3e9a865ae">minBlockCount</a></td></tr>
 <tr class="memdesc:ad8006fb803185c0a699d30f3e9a865ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum number of blocks to be always allocated in this pool, even if they stay empty.  <br /></td></tr>
-<tr class="memitem:ae41142f2834fcdc82baa4883c187b75c" id="r_ae41142f2834fcdc82baa4883c187b75c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae41142f2834fcdc82baa4883c187b75c">maxBlockCount</a></td></tr>
+<tr class="memitem:ae41142f2834fcdc82baa4883c187b75c" id="r_ae41142f2834fcdc82baa4883c187b75c"><td class="memItemLeft">size_t&#160;</td><td class="memItemRight"><a class="el" href="#ae41142f2834fcdc82baa4883c187b75c">maxBlockCount</a></td></tr>
 <tr class="memdesc:ae41142f2834fcdc82baa4883c187b75c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of blocks that can be allocated in this pool. Optional.  <br /></td></tr>
-<tr class="memitem:a16e686c688f6725f119ebf6e24ab5274" id="r_a16e686c688f6725f119ebf6e24ab5274"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a16e686c688f6725f119ebf6e24ab5274">priority</a></td></tr>
+<tr class="memitem:a16e686c688f6725f119ebf6e24ab5274" id="r_a16e686c688f6725f119ebf6e24ab5274"><td class="memItemLeft">float&#160;</td><td class="memItemRight"><a class="el" href="#a16e686c688f6725f119ebf6e24ab5274">priority</a></td></tr>
 <tr class="memdesc:a16e686c688f6725f119ebf6e24ab5274"><td class="mdescLeft">&#160;</td><td class="mdescRight">A floating-point value between 0 and 1, indicating the priority of the allocations in this pool relative to other memory allocations.  <br /></td></tr>
-<tr class="memitem:ade3eca546f0c6ab4e8fbf20eb6d854cb" id="r_ade3eca546f0c6ab4e8fbf20eb6d854cb"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ade3eca546f0c6ab4e8fbf20eb6d854cb">minAllocationAlignment</a></td></tr>
+<tr class="memitem:ade3eca546f0c6ab4e8fbf20eb6d854cb" id="r_ade3eca546f0c6ab4e8fbf20eb6d854cb"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#ade3eca546f0c6ab4e8fbf20eb6d854cb">minAllocationAlignment</a></td></tr>
 <tr class="memdesc:ade3eca546f0c6ab4e8fbf20eb6d854cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Additional minimum alignment to be used for all allocations created from this pool. Can be 0.  <br /></td></tr>
-<tr class="memitem:ab6f2e52c47bfe1f4b44920b8bfc27b41" id="r_ab6f2e52c47bfe1f4b44920b8bfc27b41"><td class="memItemLeft" align="right" valign="top">void *VkMemoryAllocateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab6f2e52c47bfe1f4b44920b8bfc27b41">pMemoryAllocateNext</a></td></tr>
+<tr class="memitem:ab6f2e52c47bfe1f4b44920b8bfc27b41" id="r_ab6f2e52c47bfe1f4b44920b8bfc27b41"><td class="memItemLeft">void *VkMemoryAllocateInfo&#160;</td><td class="memItemRight"><a class="el" href="#ab6f2e52c47bfe1f4b44920b8bfc27b41">pMemoryAllocateNext</a></td></tr>
 <tr class="memdesc:ab6f2e52c47bfe1f4b44920b8bfc27b41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Additional <span class="tt">pNext</span> chain to be attached to <span class="tt">VkMemoryAllocateInfo</span> used for every allocation made by this pool. Optional.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -184,7 +184,8 @@
 </div><div class="memdoc">
 
 <p>Additional minimum alignment to be used for all allocations created from this pool. Can be 0. </p>
-<p>Leave 0 (default) not to impose any additional alignment. If not 0, it must be a power of two. It can be useful in cases where alignment returned by Vulkan by functions like <span class="tt">vkGetBufferMemoryRequirements</span> is not enough, e.g. when doing interop with OpenGL. </p>
+<p>Leave 0 (default) not to impose any additional alignment. If not 0, it must be a power of two.</p>
+<p>When creating a buffer or an image, specifying a custom alignment is not needed in most cases, because Vulkan implementation inspects the <span class="tt">CreateInfo</span> structure (including intended usage flags) and returns required alignment through functions like <span class="tt">vkGetBufferMemoryRequirements2</span>, which VMA automatically uses and respects. Extra alignment may be needed in some cases, like when using a buffer for acceleration structure scratch (<span class="tt">VkPhysicalDeviceAccelerationStructurePropertiesKHR::minAccelerationStructureScratchOffsetAlignment</span>, see also issue #523) or when doing interop with OpenGL. </p>
 
 </div>
 </div>
@@ -246,7 +247,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_statistics-members.html b/docs/html/struct_vma_statistics-members.html
index c645f9c..59d62fa 100644
--- a/docs/html/struct_vma_statistics-members.html
+++ b/docs/html/struct_vma_statistics-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -84,7 +84,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_statistics.html b/docs/html/struct_vma_statistics.html
index 6175f27..55bddd0 100644
--- a/docs/html/struct_vma_statistics.html
+++ b/docs/html/struct_vma_statistics.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaStatistics Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,13 +83,13 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a309179d5853a6a7cd534df497ee43957" id="r_a309179d5853a6a7cd534df497ee43957"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a309179d5853a6a7cd534df497ee43957">blockCount</a></td></tr>
+<tr class="memitem:a309179d5853a6a7cd534df497ee43957" id="r_a309179d5853a6a7cd534df497ee43957"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#a309179d5853a6a7cd534df497ee43957">blockCount</a></td></tr>
 <tr class="memdesc:a309179d5853a6a7cd534df497ee43957"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of <span class="tt">VkDeviceMemory</span> objects - Vulkan memory blocks allocated.  <br /></td></tr>
-<tr class="memitem:ab0ff76e50f58f9f54b6f265e5bf5dde2" id="r_ab0ff76e50f58f9f54b6f265e5bf5dde2"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab0ff76e50f58f9f54b6f265e5bf5dde2">allocationCount</a></td></tr>
+<tr class="memitem:ab0ff76e50f58f9f54b6f265e5bf5dde2" id="r_ab0ff76e50f58f9f54b6f265e5bf5dde2"><td class="memItemLeft">uint32_t&#160;</td><td class="memItemRight"><a class="el" href="#ab0ff76e50f58f9f54b6f265e5bf5dde2">allocationCount</a></td></tr>
 <tr class="memdesc:ab0ff76e50f58f9f54b6f265e5bf5dde2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> objects allocated.  <br /></td></tr>
-<tr class="memitem:a2afbc1c7aa8ad7bbb8de06215ba7e5c4" id="r_a2afbc1c7aa8ad7bbb8de06215ba7e5c4"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2afbc1c7aa8ad7bbb8de06215ba7e5c4">blockBytes</a></td></tr>
+<tr class="memitem:a2afbc1c7aa8ad7bbb8de06215ba7e5c4" id="r_a2afbc1c7aa8ad7bbb8de06215ba7e5c4"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a2afbc1c7aa8ad7bbb8de06215ba7e5c4">blockBytes</a></td></tr>
 <tr class="memdesc:a2afbc1c7aa8ad7bbb8de06215ba7e5c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes allocated in <span class="tt">VkDeviceMemory</span> blocks.  <br /></td></tr>
-<tr class="memitem:a21db06eba3422f87a2b4b4703d879c16" id="r_a21db06eba3422f87a2b4b4703d879c16"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a21db06eba3422f87a2b4b4703d879c16">allocationBytes</a></td></tr>
+<tr class="memitem:a21db06eba3422f87a2b4b4703d879c16" id="r_a21db06eba3422f87a2b4b4703d879c16"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a21db06eba3422f87a2b4b4703d879c16">allocationBytes</a></td></tr>
 <tr class="memdesc:a21db06eba3422f87a2b4b4703d879c16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of bytes occupied by all <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> objects.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -109,7 +109,7 @@
 </div><div class="memdoc">
 
 <p>Total number of bytes occupied by all <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> objects. </p>
-<p>Always less or equal than <span class="tt">blockBytes</span>. Difference <span class="tt">(blockBytes - allocationBytes)</span> is the amount of memory allocated from Vulkan but unused by any <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>. </p>
+<p>Always less or equal than <span class="tt"><a class="el" href="#a2afbc1c7aa8ad7bbb8de06215ba7e5c4" title="Number of bytes allocated in VkDeviceMemory blocks.">blockBytes</a></span>. Difference <span class="tt">(<a class="el" href="#a2afbc1c7aa8ad7bbb8de06215ba7e5c4" title="Number of bytes allocated in VkDeviceMemory blocks.">blockBytes</a> - <a class="el" href="#a21db06eba3422f87a2b4b4703d879c16" title="Total number of bytes occupied by all VmaAllocation objects.">allocationBytes</a>)</span> is the amount of memory allocated from Vulkan but unused by any <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>. </p>
 
 </div>
 </div>
@@ -126,7 +126,7 @@
 </div><div class="memdoc">
 
 <p>Number of <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> objects allocated. </p>
-<p>Dedicated allocations have their own blocks, so each one adds 1 to <span class="tt">allocationCount</span> as well as <span class="tt">blockCount</span>. </p>
+<p>Dedicated allocations have their own blocks, so each one adds 1 to <span class="tt"><a class="el" href="#ab0ff76e50f58f9f54b6f265e5bf5dde2" title="Number of VmaAllocation objects allocated.">allocationCount</a></span> as well as <span class="tt"><a class="el" href="#a309179d5853a6a7cd534df497ee43957" title="Number of VkDeviceMemory objects - Vulkan memory blocks allocated.">blockCount</a></span>. </p>
 
 </div>
 </div>
@@ -169,7 +169,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_total_statistics-members.html b/docs/html/struct_vma_total_statistics-members.html
index aa335a8..97a3eb0 100644
--- a/docs/html/struct_vma_total_statistics-members.html
+++ b/docs/html/struct_vma_total_statistics-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,7 +83,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_total_statistics.html b/docs/html/struct_vma_total_statistics.html
index 5004f63..3f13d9e 100644
--- a/docs/html/struct_vma_total_statistics.html
+++ b/docs/html/struct_vma_total_statistics.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaTotalStatistics Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,9 +83,9 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:acb70e5b7fe543813ed8ba9282640969d" id="r_acb70e5b7fe543813ed8ba9282640969d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acb70e5b7fe543813ed8ba9282640969d">memoryType</a> [VK_MAX_MEMORY_TYPES]</td></tr>
-<tr class="memitem:a39beeba5b3a2e7cfe5f5e2331a2705ce" id="r_a39beeba5b3a2e7cfe5f5e2331a2705ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a39beeba5b3a2e7cfe5f5e2331a2705ce">memoryHeap</a> [VK_MAX_MEMORY_HEAPS]</td></tr>
-<tr class="memitem:a76f1935f7101883f5bb2a03b6c5649d2" id="r_a76f1935f7101883f5bb2a03b6c5649d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a76f1935f7101883f5bb2a03b6c5649d2">total</a></td></tr>
+<tr class="memitem:acb70e5b7fe543813ed8ba9282640969d" id="r_acb70e5b7fe543813ed8ba9282640969d"><td class="memItemLeft"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a>&#160;</td><td class="memItemRight"><a class="el" href="#acb70e5b7fe543813ed8ba9282640969d">memoryType</a> [VK_MAX_MEMORY_TYPES]</td></tr>
+<tr class="memitem:a39beeba5b3a2e7cfe5f5e2331a2705ce" id="r_a39beeba5b3a2e7cfe5f5e2331a2705ce"><td class="memItemLeft"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a>&#160;</td><td class="memItemRight"><a class="el" href="#a39beeba5b3a2e7cfe5f5e2331a2705ce">memoryHeap</a> [VK_MAX_MEMORY_HEAPS]</td></tr>
+<tr class="memitem:a76f1935f7101883f5bb2a03b6c5649d2" id="r_a76f1935f7101883f5bb2a03b6c5649d2"><td class="memItemLeft"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a>&#160;</td><td class="memItemRight"><a class="el" href="#a76f1935f7101883f5bb2a03b6c5649d2">total</a></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>General statistics from current state of the Allocator - total memory usage across all memory heaps and types. </p>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_virtual_allocation.html b/docs/html/struct_vma_virtual_allocation.html
index 3ce6d55..035524c 100644
--- a/docs/html/struct_vma_virtual_allocation.html
+++ b/docs/html/struct_vma_virtual_allocation.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaVirtualAllocation Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -87,7 +87,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_virtual_allocation_create_info-members.html b/docs/html/struct_vma_virtual_allocation_create_info-members.html
index 98466ca..f8455e5 100644
--- a/docs/html/struct_vma_virtual_allocation_create_info-members.html
+++ b/docs/html/struct_vma_virtual_allocation_create_info-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -84,7 +84,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_virtual_allocation_create_info.html b/docs/html/struct_vma_virtual_allocation_create_info.html
index 6a94e75..fd7dad4 100644
--- a/docs/html/struct_vma_virtual_allocation_create_info.html
+++ b/docs/html/struct_vma_virtual_allocation_create_info.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaVirtualAllocationCreateInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,13 +83,13 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:aae08752b86817abd0d944c6025dc603e" id="r_aae08752b86817abd0d944c6025dc603e"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aae08752b86817abd0d944c6025dc603e">size</a></td></tr>
+<tr class="memitem:aae08752b86817abd0d944c6025dc603e" id="r_aae08752b86817abd0d944c6025dc603e"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#aae08752b86817abd0d944c6025dc603e">size</a></td></tr>
 <tr class="memdesc:aae08752b86817abd0d944c6025dc603e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the allocation.  <br /></td></tr>
-<tr class="memitem:a9d19709872fc1904a105079e1c885821" id="r_a9d19709872fc1904a105079e1c885821"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9d19709872fc1904a105079e1c885821">alignment</a></td></tr>
+<tr class="memitem:a9d19709872fc1904a105079e1c885821" id="r_a9d19709872fc1904a105079e1c885821"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a9d19709872fc1904a105079e1c885821">alignment</a></td></tr>
 <tr class="memdesc:a9d19709872fc1904a105079e1c885821"><td class="mdescLeft">&#160;</td><td class="mdescRight">Required alignment of the allocation. Optional.  <br /></td></tr>
-<tr class="memitem:ab10e16956cc4bf20ced9de77d1129ea4" id="r_ab10e16956cc4bf20ced9de77d1129ea4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__virtual.html#gae96ffc099bf898257fb19e9410ed08a7">VmaVirtualAllocationCreateFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab10e16956cc4bf20ced9de77d1129ea4">flags</a></td></tr>
+<tr class="memitem:ab10e16956cc4bf20ced9de77d1129ea4" id="r_ab10e16956cc4bf20ced9de77d1129ea4"><td class="memItemLeft"><a class="el" href="group__group__virtual.html#gae96ffc099bf898257fb19e9410ed08a7">VmaVirtualAllocationCreateFlags</a>&#160;</td><td class="memItemRight"><a class="el" href="#ab10e16956cc4bf20ced9de77d1129ea4">flags</a></td></tr>
 <tr class="memdesc:ab10e16956cc4bf20ced9de77d1129ea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use combination of <a class="el" href="group__group__virtual.html#ga2e9c64d405b14156fea7e10c4ad06cb6" title="Flags to be passed as VmaVirtualAllocationCreateInfo::flags.">VmaVirtualAllocationCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:a015f8544ca51a7350f7434d42d0587bb" id="r_a015f8544ca51a7350f7434d42d0587bb"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a015f8544ca51a7350f7434d42d0587bb">pUserData</a></td></tr>
+<tr class="memitem:a015f8544ca51a7350f7434d42d0587bb" id="r_a015f8544ca51a7350f7434d42d0587bb"><td class="memItemLeft">void *&#160;</td><td class="memItemRight"><a class="el" href="#a015f8544ca51a7350f7434d42d0587bb">pUserData</a></td></tr>
 <tr class="memdesc:a015f8544ca51a7350f7434d42d0587bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom pointer to be associated with the allocation. Optional.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -168,7 +168,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_virtual_allocation_info-members.html b/docs/html/struct_vma_virtual_allocation_info-members.html
index 37c3308..fc02b0d 100644
--- a/docs/html/struct_vma_virtual_allocation_info-members.html
+++ b/docs/html/struct_vma_virtual_allocation_info-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,7 +83,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_virtual_allocation_info.html b/docs/html/struct_vma_virtual_allocation_info.html
index 652d7c9..c670556 100644
--- a/docs/html/struct_vma_virtual_allocation_info.html
+++ b/docs/html/struct_vma_virtual_allocation_info.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaVirtualAllocationInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,11 +83,11 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:accb40a8205f49ccca3de975da7d1a2b5" id="r_accb40a8205f49ccca3de975da7d1a2b5"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#accb40a8205f49ccca3de975da7d1a2b5">offset</a></td></tr>
+<tr class="memitem:accb40a8205f49ccca3de975da7d1a2b5" id="r_accb40a8205f49ccca3de975da7d1a2b5"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#accb40a8205f49ccca3de975da7d1a2b5">offset</a></td></tr>
 <tr class="memdesc:accb40a8205f49ccca3de975da7d1a2b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Offset of the allocation.  <br /></td></tr>
-<tr class="memitem:afb6d6bd0a6813869ea0842048d40aa2b" id="r_afb6d6bd0a6813869ea0842048d40aa2b"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afb6d6bd0a6813869ea0842048d40aa2b">size</a></td></tr>
+<tr class="memitem:afb6d6bd0a6813869ea0842048d40aa2b" id="r_afb6d6bd0a6813869ea0842048d40aa2b"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#afb6d6bd0a6813869ea0842048d40aa2b">size</a></td></tr>
 <tr class="memdesc:afb6d6bd0a6813869ea0842048d40aa2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the allocation.  <br /></td></tr>
-<tr class="memitem:a41d5cb09357656411653d82fee436f45" id="r_a41d5cb09357656411653d82fee436f45"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a41d5cb09357656411653d82fee436f45">pUserData</a></td></tr>
+<tr class="memitem:a41d5cb09357656411653d82fee436f45" id="r_a41d5cb09357656411653d82fee436f45"><td class="memItemLeft">void *&#160;</td><td class="memItemRight"><a class="el" href="#a41d5cb09357656411653d82fee436f45">pUserData</a></td></tr>
 <tr class="memdesc:a41d5cb09357656411653d82fee436f45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom pointer associated with the allocation.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -150,7 +150,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_virtual_block.html b/docs/html/struct_vma_virtual_block.html
index 37141ef..a88bc1b 100644
--- a/docs/html/struct_vma_virtual_block.html
+++ b/docs/html/struct_vma_virtual_block.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaVirtualBlock Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -79,7 +79,7 @@
  <a href="#details">More...</a></p>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Handle to a virtual block object that allows to use core allocation algorithm without allocating any real GPU memory. </p>
-<p>Fill in <a class="el" href="struct_vma_virtual_block_create_info.html" title="Parameters of created VmaVirtualBlock object to be passed to vmaCreateVirtualBlock().">VmaVirtualBlockCreateInfo</a> structure and use <a class="el" href="group__group__virtual.html#gab585754076877265fdae33e5c40ef13b" title="Creates new VmaVirtualBlock object.">vmaCreateVirtualBlock()</a> to create it. Use <a class="el" href="group__group__virtual.html#ga3795f7783ae2c182cede067d656f66a5" title="Destroys VmaVirtualBlock object.">vmaDestroyVirtualBlock()</a> to destroy it. For more information, see documentation chapter <a class="el" href="virtual_allocator.html">Virtual allocator</a>.</p>
+<p>Fill in <a class="el" href="struct_vma_virtual_block_create_info.html" title="Parameters of created VmaVirtualBlock object to be passed to vmaCreateVirtualBlock().">VmaVirtualBlockCreateInfo</a> structure and use <a class="el" href="group__group__virtual.html#gab585754076877265fdae33e5c40ef13b" title="Creates new VmaVirtualBlock object.">vmaCreateVirtualBlock()</a> to create it. Use <a class="el" href="group__group__virtual.html#ga3795f7783ae2c182cede067d656f66a5" title="Destroys VmaVirtualBlock object.">vmaDestroyVirtualBlock()</a> to destroy it. For more information, see documentation chapter <a class="el" href="virtual_allocator.html" title="Virtual allocator">Virtual allocator</a>.</p>
 <p>This object is not thread-safe - should not be used from multiple threads simultaneously, must be synchronized externally. </p>
 </div><hr/>The documentation for this struct was generated from the following file:<ul>
 <li>C:/Code/VulkanMemoryAllocator/REPO/include/<a class="el" href="vk__mem__alloc_8h.html">vk_mem_alloc.h</a></li>
@@ -87,7 +87,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_virtual_block_create_info-members.html b/docs/html/struct_vma_virtual_block_create_info-members.html
index 7e2e65b..d973974 100644
--- a/docs/html/struct_vma_virtual_block_create_info-members.html
+++ b/docs/html/struct_vma_virtual_block_create_info-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,7 +83,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_virtual_block_create_info.html b/docs/html/struct_vma_virtual_block_create_info.html
index a8c3e7b..a065dd9 100644
--- a/docs/html/struct_vma_virtual_block_create_info.html
+++ b/docs/html/struct_vma_virtual_block_create_info.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaVirtualBlockCreateInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,11 +83,11 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a670ab8c6a6e822f3c36781d79e8824e9" id="r_a670ab8c6a6e822f3c36781d79e8824e9"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a670ab8c6a6e822f3c36781d79e8824e9">size</a></td></tr>
+<tr class="memitem:a670ab8c6a6e822f3c36781d79e8824e9" id="r_a670ab8c6a6e822f3c36781d79e8824e9"><td class="memItemLeft">VkDeviceSize&#160;</td><td class="memItemRight"><a class="el" href="#a670ab8c6a6e822f3c36781d79e8824e9">size</a></td></tr>
 <tr class="memdesc:a670ab8c6a6e822f3c36781d79e8824e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total size of the virtual block.  <br /></td></tr>
-<tr class="memitem:aaab9bf7e2d228c02ab6d90a72a6e6912" id="r_aaab9bf7e2d228c02ab6d90a72a6e6912"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__virtual.html#ga4e49c2f0ab7f6b4868833e5bac78d91e">VmaVirtualBlockCreateFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaab9bf7e2d228c02ab6d90a72a6e6912">flags</a></td></tr>
+<tr class="memitem:aaab9bf7e2d228c02ab6d90a72a6e6912" id="r_aaab9bf7e2d228c02ab6d90a72a6e6912"><td class="memItemLeft"><a class="el" href="group__group__virtual.html#ga4e49c2f0ab7f6b4868833e5bac78d91e">VmaVirtualBlockCreateFlags</a>&#160;</td><td class="memItemRight"><a class="el" href="#aaab9bf7e2d228c02ab6d90a72a6e6912">flags</a></td></tr>
 <tr class="memdesc:aaab9bf7e2d228c02ab6d90a72a6e6912"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use combination of <a class="el" href="group__group__virtual.html#ga88bcf8c1cd3bb1610ff7343811c65bca" title="Flags to be passed as VmaVirtualBlockCreateInfo::flags.">VmaVirtualBlockCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:a290283bf915c257d24584872d793ad30" id="r_a290283bf915c257d24584872d793ad30"><td class="memItemLeft" align="right" valign="top">const VkAllocationCallbacks *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a290283bf915c257d24584872d793ad30">pAllocationCallbacks</a></td></tr>
+<tr class="memitem:a290283bf915c257d24584872d793ad30" id="r_a290283bf915c257d24584872d793ad30"><td class="memItemLeft">const VkAllocationCallbacks *&#160;</td><td class="memItemRight"><a class="el" href="#a290283bf915c257d24584872d793ad30">pAllocationCallbacks</a></td></tr>
 <tr class="memdesc:a290283bf915c257d24584872d793ad30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom CPU memory allocation callbacks. Optional.  <br /></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
@@ -149,7 +149,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_vulkan_functions-members.html b/docs/html/struct_vma_vulkan_functions-members.html
index 049d89b..3c53694 100644
--- a/docs/html/struct_vma_vulkan_functions-members.html
+++ b/docs/html/struct_vma_vulkan_functions-members.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Member List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -107,7 +107,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/struct_vma_vulkan_functions.html b/docs/html/struct_vma_vulkan_functions.html
index 973b727..5173de8 100644
--- a/docs/html/struct_vma_vulkan_functions.html
+++ b/docs/html/struct_vma_vulkan_functions.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VmaVulkanFunctions Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -83,42 +83,42 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a3eafa102f5f8915f093f40675636b849" id="r_a3eafa102f5f8915f093f40675636b849"><td class="memItemLeft" align="right" valign="top">PFN_vkGetInstanceProcAddr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3eafa102f5f8915f093f40675636b849">vkGetInstanceProcAddr</a></td></tr>
+<tr class="memitem:a3eafa102f5f8915f093f40675636b849" id="r_a3eafa102f5f8915f093f40675636b849"><td class="memItemLeft">PFN_vkGetInstanceProcAddr&#160;</td><td class="memItemRight"><a class="el" href="#a3eafa102f5f8915f093f40675636b849">vkGetInstanceProcAddr</a></td></tr>
 <tr class="memdesc:a3eafa102f5f8915f093f40675636b849"><td class="mdescLeft">&#160;</td><td class="mdescRight">Required when using VMA_DYNAMIC_VULKAN_FUNCTIONS.  <br /></td></tr>
-<tr class="memitem:ac383ab9af127e5e136622fa4ebea9e57" id="r_ac383ab9af127e5e136622fa4ebea9e57"><td class="memItemLeft" align="right" valign="top">PFN_vkGetDeviceProcAddr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac383ab9af127e5e136622fa4ebea9e57">vkGetDeviceProcAddr</a></td></tr>
+<tr class="memitem:ac383ab9af127e5e136622fa4ebea9e57" id="r_ac383ab9af127e5e136622fa4ebea9e57"><td class="memItemLeft">PFN_vkGetDeviceProcAddr&#160;</td><td class="memItemRight"><a class="el" href="#ac383ab9af127e5e136622fa4ebea9e57">vkGetDeviceProcAddr</a></td></tr>
 <tr class="memdesc:ac383ab9af127e5e136622fa4ebea9e57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Required when using VMA_DYNAMIC_VULKAN_FUNCTIONS.  <br /></td></tr>
-<tr class="memitem:a77b7a74082823e865dd6546623468f96" id="r_a77b7a74082823e865dd6546623468f96"><td class="memItemLeft" align="right" valign="top">PFN_vkGetPhysicalDeviceProperties&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a77b7a74082823e865dd6546623468f96">vkGetPhysicalDeviceProperties</a></td></tr>
-<tr class="memitem:a60d25c33bba06bb8592e6875cbaa9830" id="r_a60d25c33bba06bb8592e6875cbaa9830"><td class="memItemLeft" align="right" valign="top">PFN_vkGetPhysicalDeviceMemoryProperties&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a60d25c33bba06bb8592e6875cbaa9830">vkGetPhysicalDeviceMemoryProperties</a></td></tr>
-<tr class="memitem:a2943bf99dfd784a0e8f599d987e22e6c" id="r_a2943bf99dfd784a0e8f599d987e22e6c"><td class="memItemLeft" align="right" valign="top">PFN_vkAllocateMemory&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2943bf99dfd784a0e8f599d987e22e6c">vkAllocateMemory</a></td></tr>
-<tr class="memitem:a4c658701778564d62034255b5dda91b4" id="r_a4c658701778564d62034255b5dda91b4"><td class="memItemLeft" align="right" valign="top">PFN_vkFreeMemory&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4c658701778564d62034255b5dda91b4">vkFreeMemory</a></td></tr>
-<tr class="memitem:ab5c1f38dea3a2cf00dc9eb4f57218c49" id="r_ab5c1f38dea3a2cf00dc9eb4f57218c49"><td class="memItemLeft" align="right" valign="top">PFN_vkMapMemory&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab5c1f38dea3a2cf00dc9eb4f57218c49">vkMapMemory</a></td></tr>
-<tr class="memitem:acc798589736f0becb317fc2196c1d8b9" id="r_acc798589736f0becb317fc2196c1d8b9"><td class="memItemLeft" align="right" valign="top">PFN_vkUnmapMemory&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acc798589736f0becb317fc2196c1d8b9">vkUnmapMemory</a></td></tr>
-<tr class="memitem:a33c322f4c4ad2810f8a9c97a277572f9" id="r_a33c322f4c4ad2810f8a9c97a277572f9"><td class="memItemLeft" align="right" valign="top">PFN_vkFlushMappedMemoryRanges&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a33c322f4c4ad2810f8a9c97a277572f9">vkFlushMappedMemoryRanges</a></td></tr>
-<tr class="memitem:a5c1093bc32386a8060c37c9f282078a1" id="r_a5c1093bc32386a8060c37c9f282078a1"><td class="memItemLeft" align="right" valign="top">PFN_vkInvalidateMappedMemoryRanges&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5c1093bc32386a8060c37c9f282078a1">vkInvalidateMappedMemoryRanges</a></td></tr>
-<tr class="memitem:a94fc4f3a605d9880bb3c0ba2c2fc80b2" id="r_a94fc4f3a605d9880bb3c0ba2c2fc80b2"><td class="memItemLeft" align="right" valign="top">PFN_vkBindBufferMemory&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a94fc4f3a605d9880bb3c0ba2c2fc80b2">vkBindBufferMemory</a></td></tr>
-<tr class="memitem:a1338d96a128a5ade648b8d934907c637" id="r_a1338d96a128a5ade648b8d934907c637"><td class="memItemLeft" align="right" valign="top">PFN_vkBindImageMemory&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1338d96a128a5ade648b8d934907c637">vkBindImageMemory</a></td></tr>
-<tr class="memitem:a5b92901df89a4194b0d12f6071d4d143" id="r_a5b92901df89a4194b0d12f6071d4d143"><td class="memItemLeft" align="right" valign="top">PFN_vkGetBufferMemoryRequirements&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5b92901df89a4194b0d12f6071d4d143">vkGetBufferMemoryRequirements</a></td></tr>
-<tr class="memitem:a475f6f49f8debe4d10800592606d53f4" id="r_a475f6f49f8debe4d10800592606d53f4"><td class="memItemLeft" align="right" valign="top">PFN_vkGetImageMemoryRequirements&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a475f6f49f8debe4d10800592606d53f4">vkGetImageMemoryRequirements</a></td></tr>
-<tr class="memitem:ae8084315a25006271a2edfc3a447519f" id="r_ae8084315a25006271a2edfc3a447519f"><td class="memItemLeft" align="right" valign="top">PFN_vkCreateBuffer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae8084315a25006271a2edfc3a447519f">vkCreateBuffer</a></td></tr>
-<tr class="memitem:a7e054606faddb07f0e8556f3ed317d45" id="r_a7e054606faddb07f0e8556f3ed317d45"><td class="memItemLeft" align="right" valign="top">PFN_vkDestroyBuffer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7e054606faddb07f0e8556f3ed317d45">vkDestroyBuffer</a></td></tr>
-<tr class="memitem:a23ebe70be515b9b5010a1d691200e325" id="r_a23ebe70be515b9b5010a1d691200e325"><td class="memItemLeft" align="right" valign="top">PFN_vkCreateImage&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a23ebe70be515b9b5010a1d691200e325">vkCreateImage</a></td></tr>
-<tr class="memitem:a90b898227039b1dcb3520f6e91f09ffa" id="r_a90b898227039b1dcb3520f6e91f09ffa"><td class="memItemLeft" align="right" valign="top">PFN_vkDestroyImage&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a90b898227039b1dcb3520f6e91f09ffa">vkDestroyImage</a></td></tr>
-<tr class="memitem:ae5c0db8c89a3b82593dc16aa6a49fa3a" id="r_ae5c0db8c89a3b82593dc16aa6a49fa3a"><td class="memItemLeft" align="right" valign="top">PFN_vkCmdCopyBuffer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae5c0db8c89a3b82593dc16aa6a49fa3a">vkCmdCopyBuffer</a></td></tr>
-<tr class="memitem:a9d8d1b05d2b1e7e1d9b27f6f585acf9c" id="r_a9d8d1b05d2b1e7e1d9b27f6f585acf9c"><td class="memItemLeft" align="right" valign="top">PFN_vkGetBufferMemoryRequirements2KHR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9d8d1b05d2b1e7e1d9b27f6f585acf9c">vkGetBufferMemoryRequirements2KHR</a></td></tr>
+<tr class="memitem:a77b7a74082823e865dd6546623468f96" id="r_a77b7a74082823e865dd6546623468f96"><td class="memItemLeft">PFN_vkGetPhysicalDeviceProperties&#160;</td><td class="memItemRight"><a class="el" href="#a77b7a74082823e865dd6546623468f96">vkGetPhysicalDeviceProperties</a></td></tr>
+<tr class="memitem:a60d25c33bba06bb8592e6875cbaa9830" id="r_a60d25c33bba06bb8592e6875cbaa9830"><td class="memItemLeft">PFN_vkGetPhysicalDeviceMemoryProperties&#160;</td><td class="memItemRight"><a class="el" href="#a60d25c33bba06bb8592e6875cbaa9830">vkGetPhysicalDeviceMemoryProperties</a></td></tr>
+<tr class="memitem:a2943bf99dfd784a0e8f599d987e22e6c" id="r_a2943bf99dfd784a0e8f599d987e22e6c"><td class="memItemLeft">PFN_vkAllocateMemory&#160;</td><td class="memItemRight"><a class="el" href="#a2943bf99dfd784a0e8f599d987e22e6c">vkAllocateMemory</a></td></tr>
+<tr class="memitem:a4c658701778564d62034255b5dda91b4" id="r_a4c658701778564d62034255b5dda91b4"><td class="memItemLeft">PFN_vkFreeMemory&#160;</td><td class="memItemRight"><a class="el" href="#a4c658701778564d62034255b5dda91b4">vkFreeMemory</a></td></tr>
+<tr class="memitem:ab5c1f38dea3a2cf00dc9eb4f57218c49" id="r_ab5c1f38dea3a2cf00dc9eb4f57218c49"><td class="memItemLeft">PFN_vkMapMemory&#160;</td><td class="memItemRight"><a class="el" href="#ab5c1f38dea3a2cf00dc9eb4f57218c49">vkMapMemory</a></td></tr>
+<tr class="memitem:acc798589736f0becb317fc2196c1d8b9" id="r_acc798589736f0becb317fc2196c1d8b9"><td class="memItemLeft">PFN_vkUnmapMemory&#160;</td><td class="memItemRight"><a class="el" href="#acc798589736f0becb317fc2196c1d8b9">vkUnmapMemory</a></td></tr>
+<tr class="memitem:a33c322f4c4ad2810f8a9c97a277572f9" id="r_a33c322f4c4ad2810f8a9c97a277572f9"><td class="memItemLeft">PFN_vkFlushMappedMemoryRanges&#160;</td><td class="memItemRight"><a class="el" href="#a33c322f4c4ad2810f8a9c97a277572f9">vkFlushMappedMemoryRanges</a></td></tr>
+<tr class="memitem:a5c1093bc32386a8060c37c9f282078a1" id="r_a5c1093bc32386a8060c37c9f282078a1"><td class="memItemLeft">PFN_vkInvalidateMappedMemoryRanges&#160;</td><td class="memItemRight"><a class="el" href="#a5c1093bc32386a8060c37c9f282078a1">vkInvalidateMappedMemoryRanges</a></td></tr>
+<tr class="memitem:a94fc4f3a605d9880bb3c0ba2c2fc80b2" id="r_a94fc4f3a605d9880bb3c0ba2c2fc80b2"><td class="memItemLeft">PFN_vkBindBufferMemory&#160;</td><td class="memItemRight"><a class="el" href="#a94fc4f3a605d9880bb3c0ba2c2fc80b2">vkBindBufferMemory</a></td></tr>
+<tr class="memitem:a1338d96a128a5ade648b8d934907c637" id="r_a1338d96a128a5ade648b8d934907c637"><td class="memItemLeft">PFN_vkBindImageMemory&#160;</td><td class="memItemRight"><a class="el" href="#a1338d96a128a5ade648b8d934907c637">vkBindImageMemory</a></td></tr>
+<tr class="memitem:a5b92901df89a4194b0d12f6071d4d143" id="r_a5b92901df89a4194b0d12f6071d4d143"><td class="memItemLeft">PFN_vkGetBufferMemoryRequirements&#160;</td><td class="memItemRight"><a class="el" href="#a5b92901df89a4194b0d12f6071d4d143">vkGetBufferMemoryRequirements</a></td></tr>
+<tr class="memitem:a475f6f49f8debe4d10800592606d53f4" id="r_a475f6f49f8debe4d10800592606d53f4"><td class="memItemLeft">PFN_vkGetImageMemoryRequirements&#160;</td><td class="memItemRight"><a class="el" href="#a475f6f49f8debe4d10800592606d53f4">vkGetImageMemoryRequirements</a></td></tr>
+<tr class="memitem:ae8084315a25006271a2edfc3a447519f" id="r_ae8084315a25006271a2edfc3a447519f"><td class="memItemLeft">PFN_vkCreateBuffer&#160;</td><td class="memItemRight"><a class="el" href="#ae8084315a25006271a2edfc3a447519f">vkCreateBuffer</a></td></tr>
+<tr class="memitem:a7e054606faddb07f0e8556f3ed317d45" id="r_a7e054606faddb07f0e8556f3ed317d45"><td class="memItemLeft">PFN_vkDestroyBuffer&#160;</td><td class="memItemRight"><a class="el" href="#a7e054606faddb07f0e8556f3ed317d45">vkDestroyBuffer</a></td></tr>
+<tr class="memitem:a23ebe70be515b9b5010a1d691200e325" id="r_a23ebe70be515b9b5010a1d691200e325"><td class="memItemLeft">PFN_vkCreateImage&#160;</td><td class="memItemRight"><a class="el" href="#a23ebe70be515b9b5010a1d691200e325">vkCreateImage</a></td></tr>
+<tr class="memitem:a90b898227039b1dcb3520f6e91f09ffa" id="r_a90b898227039b1dcb3520f6e91f09ffa"><td class="memItemLeft">PFN_vkDestroyImage&#160;</td><td class="memItemRight"><a class="el" href="#a90b898227039b1dcb3520f6e91f09ffa">vkDestroyImage</a></td></tr>
+<tr class="memitem:ae5c0db8c89a3b82593dc16aa6a49fa3a" id="r_ae5c0db8c89a3b82593dc16aa6a49fa3a"><td class="memItemLeft">PFN_vkCmdCopyBuffer&#160;</td><td class="memItemRight"><a class="el" href="#ae5c0db8c89a3b82593dc16aa6a49fa3a">vkCmdCopyBuffer</a></td></tr>
+<tr class="memitem:a9d8d1b05d2b1e7e1d9b27f6f585acf9c" id="r_a9d8d1b05d2b1e7e1d9b27f6f585acf9c"><td class="memItemLeft">PFN_vkGetBufferMemoryRequirements2KHR&#160;</td><td class="memItemRight"><a class="el" href="#a9d8d1b05d2b1e7e1d9b27f6f585acf9c">vkGetBufferMemoryRequirements2KHR</a></td></tr>
 <tr class="memdesc:a9d8d1b05d2b1e7e1d9b27f6f585acf9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch "vkGetBufferMemoryRequirements2" on Vulkan &gt;= 1.1, fetch "vkGetBufferMemoryRequirements2KHR" when using VK_KHR_dedicated_allocation extension.  <br /></td></tr>
-<tr class="memitem:a9cdcdc1e2b2ea7c571f7d27e30ba6875" id="r_a9cdcdc1e2b2ea7c571f7d27e30ba6875"><td class="memItemLeft" align="right" valign="top">PFN_vkGetImageMemoryRequirements2KHR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9cdcdc1e2b2ea7c571f7d27e30ba6875">vkGetImageMemoryRequirements2KHR</a></td></tr>
+<tr class="memitem:a9cdcdc1e2b2ea7c571f7d27e30ba6875" id="r_a9cdcdc1e2b2ea7c571f7d27e30ba6875"><td class="memItemLeft">PFN_vkGetImageMemoryRequirements2KHR&#160;</td><td class="memItemRight"><a class="el" href="#a9cdcdc1e2b2ea7c571f7d27e30ba6875">vkGetImageMemoryRequirements2KHR</a></td></tr>
 <tr class="memdesc:a9cdcdc1e2b2ea7c571f7d27e30ba6875"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch "vkGetImageMemoryRequirements2" on Vulkan &gt;= 1.1, fetch "vkGetImageMemoryRequirements2KHR" when using VK_KHR_dedicated_allocation extension.  <br /></td></tr>
-<tr class="memitem:a0c4907235aab9df2767b79836afa2dc9" id="r_a0c4907235aab9df2767b79836afa2dc9"><td class="memItemLeft" align="right" valign="top">PFN_vkBindBufferMemory2KHR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0c4907235aab9df2767b79836afa2dc9">vkBindBufferMemory2KHR</a></td></tr>
+<tr class="memitem:a0c4907235aab9df2767b79836afa2dc9" id="r_a0c4907235aab9df2767b79836afa2dc9"><td class="memItemLeft">PFN_vkBindBufferMemory2KHR&#160;</td><td class="memItemRight"><a class="el" href="#a0c4907235aab9df2767b79836afa2dc9">vkBindBufferMemory2KHR</a></td></tr>
 <tr class="memdesc:a0c4907235aab9df2767b79836afa2dc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch "vkBindBufferMemory2" on Vulkan &gt;= 1.1, fetch "vkBindBufferMemory2KHR" when using VK_KHR_bind_memory2 extension.  <br /></td></tr>
-<tr class="memitem:ab95aaa73ab8a3fe9fd3daaaec4e0b2bf" id="r_ab95aaa73ab8a3fe9fd3daaaec4e0b2bf"><td class="memItemLeft" align="right" valign="top">PFN_vkBindImageMemory2KHR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab95aaa73ab8a3fe9fd3daaaec4e0b2bf">vkBindImageMemory2KHR</a></td></tr>
+<tr class="memitem:ab95aaa73ab8a3fe9fd3daaaec4e0b2bf" id="r_ab95aaa73ab8a3fe9fd3daaaec4e0b2bf"><td class="memItemLeft">PFN_vkBindImageMemory2KHR&#160;</td><td class="memItemRight"><a class="el" href="#ab95aaa73ab8a3fe9fd3daaaec4e0b2bf">vkBindImageMemory2KHR</a></td></tr>
 <tr class="memdesc:ab95aaa73ab8a3fe9fd3daaaec4e0b2bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch "vkBindImageMemory2" on Vulkan &gt;= 1.1, fetch "vkBindImageMemory2KHR" when using VK_KHR_bind_memory2 extension.  <br /></td></tr>
-<tr class="memitem:a0d992896e6ffcf92b9d7ea049fa5c445" id="r_a0d992896e6ffcf92b9d7ea049fa5c445"><td class="memItemLeft" align="right" valign="top">PFN_vkGetPhysicalDeviceMemoryProperties2KHR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0d992896e6ffcf92b9d7ea049fa5c445">vkGetPhysicalDeviceMemoryProperties2KHR</a></td></tr>
+<tr class="memitem:a0d992896e6ffcf92b9d7ea049fa5c445" id="r_a0d992896e6ffcf92b9d7ea049fa5c445"><td class="memItemLeft">PFN_vkGetPhysicalDeviceMemoryProperties2KHR&#160;</td><td class="memItemRight"><a class="el" href="#a0d992896e6ffcf92b9d7ea049fa5c445">vkGetPhysicalDeviceMemoryProperties2KHR</a></td></tr>
 <tr class="memdesc:a0d992896e6ffcf92b9d7ea049fa5c445"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch from "vkGetPhysicalDeviceMemoryProperties2" on Vulkan &gt;= 1.1, but you can also fetch it from "vkGetPhysicalDeviceMemoryProperties2KHR" if you enabled extension VK_KHR_get_physical_device_properties2.  <br /></td></tr>
-<tr class="memitem:ab25228053223e8a4dcd062574beed88d" id="r_ab25228053223e8a4dcd062574beed88d"><td class="memItemLeft" align="right" valign="top">PFN_vkGetDeviceBufferMemoryRequirementsKHR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab25228053223e8a4dcd062574beed88d">vkGetDeviceBufferMemoryRequirements</a></td></tr>
+<tr class="memitem:ab25228053223e8a4dcd062574beed88d" id="r_ab25228053223e8a4dcd062574beed88d"><td class="memItemLeft">PFN_vkGetDeviceBufferMemoryRequirementsKHR&#160;</td><td class="memItemRight"><a class="el" href="#ab25228053223e8a4dcd062574beed88d">vkGetDeviceBufferMemoryRequirements</a></td></tr>
 <tr class="memdesc:ab25228053223e8a4dcd062574beed88d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch from "vkGetDeviceBufferMemoryRequirements" on Vulkan &gt;= 1.3, but you can also fetch it from "vkGetDeviceBufferMemoryRequirementsKHR" if you enabled extension VK_KHR_maintenance4.  <br /></td></tr>
-<tr class="memitem:a10a9bf098a46640fa0a75f1c5fd80b9a" id="r_a10a9bf098a46640fa0a75f1c5fd80b9a"><td class="memItemLeft" align="right" valign="top">PFN_vkGetDeviceImageMemoryRequirementsKHR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a10a9bf098a46640fa0a75f1c5fd80b9a">vkGetDeviceImageMemoryRequirements</a></td></tr>
+<tr class="memitem:a10a9bf098a46640fa0a75f1c5fd80b9a" id="r_a10a9bf098a46640fa0a75f1c5fd80b9a"><td class="memItemLeft">PFN_vkGetDeviceImageMemoryRequirementsKHR&#160;</td><td class="memItemRight"><a class="el" href="#a10a9bf098a46640fa0a75f1c5fd80b9a">vkGetDeviceImageMemoryRequirements</a></td></tr>
 <tr class="memdesc:a10a9bf098a46640fa0a75f1c5fd80b9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch from "vkGetDeviceImageMemoryRequirements" on Vulkan &gt;= 1.3, but you can also fetch it from "vkGetDeviceImageMemoryRequirementsKHR" if you enabled extension VK_KHR_maintenance4.  <br /></td></tr>
-<tr class="memitem:af45d10a2b47971f4cf5bcacf1d331f86" id="r_af45d10a2b47971f4cf5bcacf1d331f86"><td class="memItemLeft" align="right" valign="top">PFN_vkGetMemoryWin32HandleKHR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af45d10a2b47971f4cf5bcacf1d331f86">vkGetMemoryWin32HandleKHR</a></td></tr>
+<tr class="memitem:af45d10a2b47971f4cf5bcacf1d331f86" id="r_af45d10a2b47971f4cf5bcacf1d331f86"><td class="memItemLeft">PFN_vkGetMemoryWin32HandleKHR&#160;</td><td class="memItemRight"><a class="el" href="#af45d10a2b47971f4cf5bcacf1d331f86">vkGetMemoryWin32HandleKHR</a></td></tr>
 </table>
 <a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Pointers to some Vulkan functions - a subset used by the library. </p>
@@ -526,7 +526,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/topics.html b/docs/html/topics.html
index c091fd7..6abff12 100644
--- a/docs/html/topics.html
+++ b/docs/html/topics.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Topics</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -78,14 +78,14 @@
 <table class="directory">
 <tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__init.html" target="_self">Library initialization</a></td><td class="desc">API elements related to the initialization and management of the entire library, especially <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object </td></tr>
 <tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__alloc.html" target="_self">Memory allocation</a></td><td class="desc">API elements related to the allocation, deallocation, and management of Vulkan memory, buffers, images. Most basic ones being: <a class="el" href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>, <a class="el" href="group__group__alloc.html#ga02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer() but for images.">vmaCreateImage()</a> </td></tr>
-<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__virtual.html" target="_self">Virtual allocator</a></td><td class="desc">API elements related to the mechanism of <a class="el" href="virtual_allocator.html">Virtual allocator</a> - using the core allocation algorithm for user-defined purpose without allocating any real GPU memory </td></tr>
-<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__stats.html" target="_self">Statistics</a></td><td class="desc">API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. See documentation chapter: <a class="el" href="statistics.html">Statistics</a> </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__virtual.html" target="_self">Virtual allocator</a></td><td class="desc">API elements related to the mechanism of <a class="el" href="virtual_allocator.html" title="Virtual allocator">Virtual allocator</a> - using the core allocation algorithm for user-defined purpose without allocating any real GPU memory </td></tr>
+<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__group__stats.html" target="_self">Statistics</a></td><td class="desc">API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. See documentation chapter: <a class="el" href="statistics.html" title="Statistics">Statistics</a> </td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/usage_patterns.html b/docs/html/usage_patterns.html
index 4317c37..9c8a0a7 100644
--- a/docs/html/usage_patterns.html
+++ b/docs/html/usage_patterns.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Recommended usage patterns</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -138,8 +138,8 @@
 <div class="ttc" id="agroup__group__alloc_html_gac72ee55598617e8eecca384e746bab51"><div class="ttname"><a href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51">vmaCreateBuffer</a></div><div class="ttdeci">VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)</div><div class="ttdoc">Creates a new VkBuffer, allocates and binds memory for it.</div></div>
 <div class="ttc" id="agroup__group__alloc_html_ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f"><div class="ttname"><a href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f">VMA_ALLOCATION_CREATE_MAPPED_BIT</a></div><div class="ttdeci">@ VMA_ALLOCATION_CREATE_MAPPED_BIT</div><div class="ttdoc">Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:613</div></div>
 <div class="ttc" id="agroup__group__alloc_html_ggad9889c10c798b040d59c92f257cae597a9be224df3bfc1cfa06203aed689a30c5"><div class="ttname"><a href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a9be224df3bfc1cfa06203aed689a30c5">VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT</a></div><div class="ttdeci">@ VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:662</div></div>
-<div class="ttc" id="astruct_vma_allocation_info_html"><div class="ttname"><a href="struct_vma_allocation_info.html">VmaAllocationInfo</a></div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1413</div></div>
-<div class="ttc" id="astruct_vma_allocation_info_html_a5eeffbe2d2f30f53370ff14aefbadbe2"><div class="ttname"><a href="struct_vma_allocation_info.html#a5eeffbe2d2f30f53370ff14aefbadbe2">VmaAllocationInfo::pMappedData</a></div><div class="ttdeci">void * pMappedData</div><div class="ttdoc">Pointer to the beginning of this allocation as mapped data.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1455</div></div>
+<div class="ttc" id="astruct_vma_allocation_info_html"><div class="ttname"><a href="struct_vma_allocation_info.html">VmaAllocationInfo</a></div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1432</div></div>
+<div class="ttc" id="astruct_vma_allocation_info_html_a5eeffbe2d2f30f53370ff14aefbadbe2"><div class="ttname"><a href="struct_vma_allocation_info.html#a5eeffbe2d2f30f53370ff14aefbadbe2">VmaAllocationInfo::pMappedData</a></div><div class="ttdeci">void * pMappedData</div><div class="ttdoc">Pointer to the beginning of this allocation as mapped data.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1474</div></div>
 </div><!-- fragment --><p><b>Also consider:</b> You can map the allocation using <a class="el" href="group__group__alloc.html#gad5bd1243512d099706de88168992f069" title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a> or you can create it as persistenly mapped using <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f" title="Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.">VMA_ALLOCATION_CREATE_MAPPED_BIT</a>, as in the example above.</p>
 <h1 class="doxsection"><a class="anchor" id="usage_patterns_readback"></a>
 Readback</h1>
@@ -303,7 +303,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/virtual_allocator.html b/docs/html/virtual_allocator.html
index 9459aa4..8ba94b7 100644
--- a/docs/html/virtual_allocator.html
+++ b/docs/html/virtual_allocator.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: Virtual allocator</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -93,8 +93,8 @@
 <div class="line"><a class="code hl_struct" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> block;</div>
 <div class="line">VkResult res = <a class="code hl_function" href="group__group__virtual.html#gab585754076877265fdae33e5c40ef13b">vmaCreateVirtualBlock</a>(&amp;blockCreateInfo, &amp;block);</div>
 <div class="ttc" id="agroup__group__virtual_html_gab585754076877265fdae33e5c40ef13b"><div class="ttname"><a href="group__group__virtual.html#gab585754076877265fdae33e5c40ef13b">vmaCreateVirtualBlock</a></div><div class="ttdeci">VkResult vmaCreateVirtualBlock(const VmaVirtualBlockCreateInfo *pCreateInfo, VmaVirtualBlock *pVirtualBlock)</div><div class="ttdoc">Creates new VmaVirtualBlock object.</div></div>
-<div class="ttc" id="astruct_vma_virtual_block_create_info_html"><div class="ttname"><a href="struct_vma_virtual_block_create_info.html">VmaVirtualBlockCreateInfo</a></div><div class="ttdoc">Parameters of created VmaVirtualBlock object to be passed to vmaCreateVirtualBlock().</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1602</div></div>
-<div class="ttc" id="astruct_vma_virtual_block_create_info_html_a670ab8c6a6e822f3c36781d79e8824e9"><div class="ttname"><a href="struct_vma_virtual_block_create_info.html#a670ab8c6a6e822f3c36781d79e8824e9">VmaVirtualBlockCreateInfo::size</a></div><div class="ttdeci">VkDeviceSize size</div><div class="ttdoc">Total size of the virtual block.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1608</div></div>
+<div class="ttc" id="astruct_vma_virtual_block_create_info_html"><div class="ttname"><a href="struct_vma_virtual_block_create_info.html">VmaVirtualBlockCreateInfo</a></div><div class="ttdoc">Parameters of created VmaVirtualBlock object to be passed to vmaCreateVirtualBlock().</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1621</div></div>
+<div class="ttc" id="astruct_vma_virtual_block_create_info_html_a670ab8c6a6e822f3c36781d79e8824e9"><div class="ttname"><a href="struct_vma_virtual_block_create_info.html#a670ab8c6a6e822f3c36781d79e8824e9">VmaVirtualBlockCreateInfo::size</a></div><div class="ttdeci">VkDeviceSize size</div><div class="ttdoc">Total size of the virtual block.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1627</div></div>
 <div class="ttc" id="astruct_vma_virtual_block_html"><div class="ttname"><a href="struct_vma_virtual_block.html">VmaVirtualBlock</a></div><div class="ttdoc">Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...</div></div>
 </div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="virtual_allocator_making_virtual_allocations"></a>
 Making virtual allocations</h1>
@@ -120,8 +120,8 @@
 <div class="line">    <span class="comment">// Allocation failed - no space for it could be found. Handle this error!</span></div>
 <div class="line">}</div>
 <div class="ttc" id="agroup__group__virtual_html_ga6b7cdcc1c3e5103c323fedc4e1319e01"><div class="ttname"><a href="group__group__virtual.html#ga6b7cdcc1c3e5103c323fedc4e1319e01">vmaVirtualAllocate</a></div><div class="ttdeci">VkResult vmaVirtualAllocate(VmaVirtualBlock virtualBlock, const VmaVirtualAllocationCreateInfo *pCreateInfo, VmaVirtualAllocation *pAllocation, VkDeviceSize *pOffset)</div><div class="ttdoc">Allocates new virtual allocation inside given VmaVirtualBlock.</div></div>
-<div class="ttc" id="astruct_vma_virtual_allocation_create_info_html"><div class="ttname"><a href="struct_vma_virtual_allocation_create_info.html">VmaVirtualAllocationCreateInfo</a></div><div class="ttdoc">Parameters of created virtual allocation to be passed to vmaVirtualAllocate().</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1623</div></div>
-<div class="ttc" id="astruct_vma_virtual_allocation_create_info_html_aae08752b86817abd0d944c6025dc603e"><div class="ttname"><a href="struct_vma_virtual_allocation_create_info.html#aae08752b86817abd0d944c6025dc603e">VmaVirtualAllocationCreateInfo::size</a></div><div class="ttdeci">VkDeviceSize size</div><div class="ttdoc">Size of the allocation.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1628</div></div>
+<div class="ttc" id="astruct_vma_virtual_allocation_create_info_html"><div class="ttname"><a href="struct_vma_virtual_allocation_create_info.html">VmaVirtualAllocationCreateInfo</a></div><div class="ttdoc">Parameters of created virtual allocation to be passed to vmaVirtualAllocate().</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1642</div></div>
+<div class="ttc" id="astruct_vma_virtual_allocation_create_info_html_aae08752b86817abd0d944c6025dc603e"><div class="ttname"><a href="struct_vma_virtual_allocation_create_info.html#aae08752b86817abd0d944c6025dc603e">VmaVirtualAllocationCreateInfo::size</a></div><div class="ttdeci">VkDeviceSize size</div><div class="ttdoc">Size of the allocation.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1647</div></div>
 <div class="ttc" id="astruct_vma_virtual_allocation_html"><div class="ttname"><a href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a></div><div class="ttdoc">Represents single memory allocation done inside VmaVirtualBlock.</div></div>
 </div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="virtual_allocator_deallocation"></a>
 Deallocation</h1>
@@ -149,8 +149,8 @@
 <div class="line"> </div>
 <div class="line"><a class="code hl_function" href="group__group__virtual.html#ga09fc688c0c3653ff23723b037e5d5033">vmaVirtualFree</a>(block, alloc);</div>
 <div class="ttc" id="agroup__group__virtual_html_ga8ee14ceb1fe033ec84d8aa29e1f75afa"><div class="ttname"><a href="group__group__virtual.html#ga8ee14ceb1fe033ec84d8aa29e1f75afa">vmaGetVirtualAllocationInfo</a></div><div class="ttdeci">void vmaGetVirtualAllocationInfo(VmaVirtualBlock virtualBlock, VmaVirtualAllocation allocation, VmaVirtualAllocationInfo *pVirtualAllocInfo)</div><div class="ttdoc">Returns information about a specific virtual allocation within a virtual block, like its size and pUs...</div></div>
-<div class="ttc" id="astruct_vma_virtual_allocation_info_html"><div class="ttname"><a href="struct_vma_virtual_allocation_info.html">VmaVirtualAllocationInfo</a></div><div class="ttdoc">Parameters of an existing virtual allocation, returned by vmaGetVirtualAllocationInfo().</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1646</div></div>
-<div class="ttc" id="astruct_vma_virtual_allocation_info_html_a41d5cb09357656411653d82fee436f45"><div class="ttname"><a href="struct_vma_virtual_allocation_info.html#a41d5cb09357656411653d82fee436f45">VmaVirtualAllocationInfo::pUserData</a></div><div class="ttdeci">void * pUserData</div><div class="ttdoc">Custom pointer associated with the allocation.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1661</div></div>
+<div class="ttc" id="astruct_vma_virtual_allocation_info_html"><div class="ttname"><a href="struct_vma_virtual_allocation_info.html">VmaVirtualAllocationInfo</a></div><div class="ttdoc">Parameters of an existing virtual allocation, returned by vmaGetVirtualAllocationInfo().</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1665</div></div>
+<div class="ttc" id="astruct_vma_virtual_allocation_info_html_a41d5cb09357656411653d82fee436f45"><div class="ttname"><a href="struct_vma_virtual_allocation_info.html#a41d5cb09357656411653d82fee436f45">VmaVirtualAllocationInfo::pUserData</a></div><div class="ttdeci">void * pUserData</div><div class="ttdoc">Custom pointer associated with the allocation.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1680</div></div>
 </div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="virtual_allocator_alignment_and_units"></a>
 Alignment and units</h1>
 <p>It feels natural to express sizes and offsets in bytes. If an offset of an allocation needs to be aligned to a multiply of some number (e.g. 4 bytes), you can fill optional member <a class="el" href="struct_vma_virtual_allocation_create_info.html#a9d19709872fc1904a105079e1c885821" title="Required alignment of the allocation. Optional.">VmaVirtualAllocationCreateInfo::alignment</a> to request it. Example:</p>
@@ -160,7 +160,7 @@
 <div class="line"> </div>
 <div class="line"><a class="code hl_struct" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> alloc;</div>
 <div class="line">res = <a class="code hl_function" href="group__group__virtual.html#ga6b7cdcc1c3e5103c323fedc4e1319e01">vmaVirtualAllocate</a>(block, &amp;allocCreateInfo, &amp;alloc, <span class="keyword">nullptr</span>);</div>
-<div class="ttc" id="astruct_vma_virtual_allocation_create_info_html_a9d19709872fc1904a105079e1c885821"><div class="ttname"><a href="struct_vma_virtual_allocation_create_info.html#a9d19709872fc1904a105079e1c885821">VmaVirtualAllocationCreateInfo::alignment</a></div><div class="ttdeci">VkDeviceSize alignment</div><div class="ttdoc">Required alignment of the allocation. Optional.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1633</div></div>
+<div class="ttc" id="astruct_vma_virtual_allocation_create_info_html_a9d19709872fc1904a105079e1c885821"><div class="ttname"><a href="struct_vma_virtual_allocation_create_info.html#a9d19709872fc1904a105079e1c885821">VmaVirtualAllocationCreateInfo::alignment</a></div><div class="ttdeci">VkDeviceSize alignment</div><div class="ttdoc">Required alignment of the allocation. Optional.</div><div class="ttdef"><b>Definition</b> vk_mem_alloc.h:1652</div></div>
 </div><!-- fragment --><p>Alignments of different allocations made from one block may vary. However, if all alignments and sizes are always multiply of some size e.g. 4 B or <span class="tt">sizeof(MyDataStruct)</span>, you can express all sizes, alignments, and offsets in multiples of that size instead of individual bytes. It might be more convenient, but you need to make sure to use this new unit consistently in all the places:</p>
 <ul>
 <li><a class="el" href="struct_vma_virtual_block_create_info.html#a670ab8c6a6e822f3c36781d79e8824e9" title="Total size of the virtual block.">VmaVirtualBlockCreateInfo::size</a></li>
@@ -182,13 +182,13 @@
 <h1 class="doxsection"><a class="anchor" id="virtual_allocator_additional_considerations"></a>
 Additional considerations</h1>
 <p>The "virtual allocator" functionality is implemented on a level of individual memory blocks. Keeping track of a whole collection of blocks, allocating new ones when out of free space, deleting empty ones, and deciding which one to try first for a new allocation must be implemented by the user.</p>
-<p>Alternative allocation algorithms are supported, just like in custom pools of the real GPU memory. See enum <a class="el" href="group__group__virtual.html#ga88bcf8c1cd3bb1610ff7343811c65bca" title="Flags to be passed as VmaVirtualBlockCreateInfo::flags.">VmaVirtualBlockCreateFlagBits</a> to learn how to specify them (e.g. <a class="el" href="group__group__virtual.html#gga88bcf8c1cd3bb1610ff7343811c65bcaae6423e2fa2f3c9211b21c819e3f10f96" title="Enables alternative, linear allocation algorithm in this virtual block.">VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT</a>). You can find their description in chapter <a class="el" href="custom_memory_pools.html">Custom memory pools</a>. Allocation strategies are also supported. See enum <a class="el" href="group__group__virtual.html#ga2e9c64d405b14156fea7e10c4ad06cb6" title="Flags to be passed as VmaVirtualAllocationCreateInfo::flags.">VmaVirtualAllocationCreateFlagBits</a> to learn how to specify them (e.g. <a class="el" href="group__group__virtual.html#gga2e9c64d405b14156fea7e10c4ad06cb6a562d10a46012719d33167d3dc5dbbf9b" title="Allocation strategy that tries to minimize allocation time.">VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT</a>).</p>
+<p>Alternative allocation algorithms are supported, just like in custom pools of the real GPU memory. See enum <a class="el" href="group__group__virtual.html#ga88bcf8c1cd3bb1610ff7343811c65bca" title="Flags to be passed as VmaVirtualBlockCreateInfo::flags.">VmaVirtualBlockCreateFlagBits</a> to learn how to specify them (e.g. <a class="el" href="group__group__virtual.html#gga88bcf8c1cd3bb1610ff7343811c65bcaae6423e2fa2f3c9211b21c819e3f10f96" title="Enables alternative, linear allocation algorithm in this virtual block.">VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT</a>). You can find their description in chapter <a class="el" href="custom_memory_pools.html" title="Custom memory pools">Custom memory pools</a>. Allocation strategies are also supported. See enum <a class="el" href="group__group__virtual.html#ga2e9c64d405b14156fea7e10c4ad06cb6" title="Flags to be passed as VmaVirtualAllocationCreateInfo::flags.">VmaVirtualAllocationCreateFlagBits</a> to learn how to specify them (e.g. <a class="el" href="group__group__virtual.html#gga2e9c64d405b14156fea7e10c4ad06cb6a562d10a46012719d33167d3dc5dbbf9b" title="Allocation strategy that tries to minimize allocation time.">VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT</a>).</p>
 <p>Following features are supported only by the allocator of the real GPU memory and not by virtual allocations: buffer-image granularity, <span class="tt">VMA_DEBUG_MARGIN</span>, <span class="tt">VMA_MIN_ALIGNMENT</span>. </p>
 </div></div><!-- contents -->
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/vk__mem__alloc_8h.html b/docs/html/vk__mem__alloc_8h.html
index 87f6033..4e2a25f 100644
--- a/docs/html/vk__mem__alloc_8h.html
+++ b/docs/html/vk__mem__alloc_8h.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: C:/Code/VulkanMemoryAllocator/REPO/include/vk_mem_alloc.h File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -88,124 +88,124 @@
 </div><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
 Classes</h2></td></tr>
-<tr class="memitem:VmaDeviceMemoryCallbacks" id="r_VmaDeviceMemoryCallbacks"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_device_memory_callbacks.html">VmaDeviceMemoryCallbacks</a></td></tr>
+<tr class="memitem:VmaDeviceMemoryCallbacks" id="r_VmaDeviceMemoryCallbacks"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_device_memory_callbacks.html">VmaDeviceMemoryCallbacks</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set of callbacks that the library will call for <span class="tt">vkAllocateMemory</span> and <span class="tt">vkFreeMemory</span>.  <a href="struct_vma_device_memory_callbacks.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaVulkanFunctions" id="r_VmaVulkanFunctions"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_vulkan_functions.html">VmaVulkanFunctions</a></td></tr>
+<tr class="memitem:VmaVulkanFunctions" id="r_VmaVulkanFunctions"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_vulkan_functions.html">VmaVulkanFunctions</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointers to some Vulkan functions - a subset used by the library.  <a href="struct_vma_vulkan_functions.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaAllocatorCreateInfo" id="r_VmaAllocatorCreateInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a></td></tr>
+<tr class="memitem:VmaAllocatorCreateInfo" id="r_VmaAllocatorCreateInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Description of a Allocator to be created.  <a href="struct_vma_allocator_create_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaAllocatorInfo" id="r_VmaAllocatorInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocator_info.html">VmaAllocatorInfo</a></td></tr>
+<tr class="memitem:VmaAllocatorInfo" id="r_VmaAllocatorInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocator_info.html">VmaAllocatorInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about existing <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object.  <a href="struct_vma_allocator_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaStatistics" id="r_VmaStatistics"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a></td></tr>
+<tr class="memitem:VmaStatistics" id="r_VmaStatistics"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total.  <a href="struct_vma_statistics.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDetailedStatistics" id="r_VmaDetailedStatistics"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a></td></tr>
+<tr class="memitem:VmaDetailedStatistics" id="r_VmaDetailedStatistics"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">More detailed statistics than <a class="el" href="struct_vma_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool,...">VmaStatistics</a>.  <a href="struct_vma_detailed_statistics.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaTotalStatistics" id="r_VmaTotalStatistics"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a></td></tr>
+<tr class="memitem:VmaTotalStatistics" id="r_VmaTotalStatistics"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">General statistics from current state of the Allocator - total memory usage across all memory heaps and types.  <a href="struct_vma_total_statistics.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaBudget" id="r_VmaBudget"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_budget.html">VmaBudget</a></td></tr>
+<tr class="memitem:VmaBudget" id="r_VmaBudget"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_budget.html">VmaBudget</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics of current memory usage and available budget for a specific memory heap.  <a href="struct_vma_budget.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaAllocationCreateInfo" id="r_VmaAllocationCreateInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td></tr>
+<tr class="memitem:VmaAllocationCreateInfo" id="r_VmaAllocationCreateInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of new <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>.  <a href="struct_vma_allocation_create_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaPoolCreateInfo" id="r_VmaPoolCreateInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a></td></tr>
+<tr class="memitem:VmaPoolCreateInfo" id="r_VmaPoolCreateInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes parameter of created <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a>.  <a href="struct_vma_pool_create_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaAllocationInfo" id="r_VmaAllocationInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a></td></tr>
-<tr class="memitem:VmaAllocationInfo2" id="r_VmaAllocationInfo2"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_allocation_info2.html">VmaAllocationInfo2</a></td></tr>
+<tr class="memitem:VmaAllocationInfo" id="r_VmaAllocationInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a></td></tr>
+<tr class="memitem:VmaAllocationInfo2" id="r_VmaAllocationInfo2"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_allocation_info2.html">VmaAllocationInfo2</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended parameters of a <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> object that can be retrieved using function <a class="el" href="group__group__alloc.html#ga1405cf3eae2fd1305d645879173031a0" title="Returns extended information about specified allocation.">vmaGetAllocationInfo2()</a>.  <a href="struct_vma_allocation_info2.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDefragmentationInfo" id="r_VmaDefragmentationInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a></td></tr>
+<tr class="memitem:VmaDefragmentationInfo" id="r_VmaDefragmentationInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters for defragmentation.  <a href="struct_vma_defragmentation_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDefragmentationMove" id="r_VmaDefragmentationMove"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_defragmentation_move.html">VmaDefragmentationMove</a></td></tr>
+<tr class="memitem:VmaDefragmentationMove" id="r_VmaDefragmentationMove"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_defragmentation_move.html">VmaDefragmentationMove</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single move of an allocation to be done for defragmentation.  <a href="struct_vma_defragmentation_move.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDefragmentationPassMoveInfo" id="r_VmaDefragmentationPassMoveInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a></td></tr>
+<tr class="memitem:VmaDefragmentationPassMoveInfo" id="r_VmaDefragmentationPassMoveInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters for incremental defragmentation steps.  <a href="struct_vma_defragmentation_pass_move_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaDefragmentationStats" id="r_VmaDefragmentationStats"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_defragmentation_stats.html">VmaDefragmentationStats</a></td></tr>
+<tr class="memitem:VmaDefragmentationStats" id="r_VmaDefragmentationStats"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_defragmentation_stats.html">VmaDefragmentationStats</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics returned for defragmentation process in function <a class="el" href="group__group__alloc.html#ga59f01ca3d53d50b7cca9b442b77a3e87" title="Ends defragmentation process.">vmaEndDefragmentation()</a>.  <a href="struct_vma_defragmentation_stats.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaVirtualBlockCreateInfo" id="r_VmaVirtualBlockCreateInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_virtual_block_create_info.html">VmaVirtualBlockCreateInfo</a></td></tr>
+<tr class="memitem:VmaVirtualBlockCreateInfo" id="r_VmaVirtualBlockCreateInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_virtual_block_create_info.html">VmaVirtualBlockCreateInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of created <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a> object to be passed to <a class="el" href="group__group__virtual.html#gab585754076877265fdae33e5c40ef13b" title="Creates new VmaVirtualBlock object.">vmaCreateVirtualBlock()</a>.  <a href="struct_vma_virtual_block_create_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaVirtualAllocationCreateInfo" id="r_VmaVirtualAllocationCreateInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_virtual_allocation_create_info.html">VmaVirtualAllocationCreateInfo</a></td></tr>
+<tr class="memitem:VmaVirtualAllocationCreateInfo" id="r_VmaVirtualAllocationCreateInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_virtual_allocation_create_info.html">VmaVirtualAllocationCreateInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of created virtual allocation to be passed to <a class="el" href="group__group__virtual.html#ga6b7cdcc1c3e5103c323fedc4e1319e01" title="Allocates new virtual allocation inside given VmaVirtualBlock.">vmaVirtualAllocate()</a>.  <a href="struct_vma_virtual_allocation_create_info.html#details">More...</a><br /></td></tr>
-<tr class="memitem:VmaVirtualAllocationInfo" id="r_VmaVirtualAllocationInfo"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_virtual_allocation_info.html">VmaVirtualAllocationInfo</a></td></tr>
+<tr class="memitem:VmaVirtualAllocationInfo" id="r_VmaVirtualAllocationInfo"><td class="memItemLeft">struct &#160;</td><td class="memItemRight"><a class="el" href="struct_vma_virtual_allocation_info.html">VmaVirtualAllocationInfo</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of an existing virtual allocation, returned by <a class="el" href="group__group__virtual.html#ga8ee14ceb1fe033ec84d8aa29e1f75afa" title="Returns information about a specific virtual allocation within a virtual block, like its size and pUs...">vmaGetVirtualAllocationInfo()</a>.  <a href="struct_vma_virtual_allocation_info.html#details">More...</a><br /></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
 Macros</h2></td></tr>
-<tr class="memitem:acb14074601291f583de581ed204fd8c1" id="r_acb14074601291f583de581ed204fd8c1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acb14074601291f583de581ed204fd8c1">VMA_VERSION</a>&#160;&#160;&#160;(VK_MAKE_VERSION(3, 4, 0))</td></tr>
+<tr class="memitem:acb14074601291f583de581ed204fd8c1" id="r_acb14074601291f583de581ed204fd8c1"><td class="memItemLeft">#define&#160;</td><td class="memItemRight"><a class="el" href="#acb14074601291f583de581ed204fd8c1">VMA_VERSION</a>&#160;&#160;&#160;(VK_MAKE_VERSION(3, 4, 0))</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
 Typedefs</h2></td></tr>
-<tr class="memitem:gafd73b95e737ee7e76f827cb5472f559f" id="r_gafd73b95e737ee7e76f827cb5472f559f"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__group__init.html#ga4f87c9100d154a65a4ad495f7763cf7c">VmaAllocatorCreateFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#gafd73b95e737ee7e76f827cb5472f559f">VmaAllocatorCreateFlagBits</a></td></tr>
+<tr class="memitem:gafd73b95e737ee7e76f827cb5472f559f" id="r_gafd73b95e737ee7e76f827cb5472f559f"><td class="memItemLeft">typedef enum <a class="el" href="group__group__init.html#ga4f87c9100d154a65a4ad495f7763cf7c">VmaAllocatorCreateFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#gafd73b95e737ee7e76f827cb5472f559f">VmaAllocatorCreateFlagBits</a></td></tr>
 <tr class="memdesc:gafd73b95e737ee7e76f827cb5472f559f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags for created <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a>.  <br /></td></tr>
-<tr class="memitem:gacfe6863e160722c2c1bbcf7573fddc4d" id="r_gacfe6863e160722c2c1bbcf7573fddc4d"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#gacfe6863e160722c2c1bbcf7573fddc4d">VmaAllocatorCreateFlags</a></td></tr>
+<tr class="memitem:gacfe6863e160722c2c1bbcf7573fddc4d" id="r_gacfe6863e160722c2c1bbcf7573fddc4d"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#gacfe6863e160722c2c1bbcf7573fddc4d">VmaAllocatorCreateFlags</a></td></tr>
 <tr class="memdesc:gacfe6863e160722c2c1bbcf7573fddc4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="group__group__init.html#ga4f87c9100d154a65a4ad495f7763cf7c" title="Flags for created VmaAllocator.">VmaAllocatorCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga806e8499dde802e59eb72a1dc811c35f" id="r_ga806e8499dde802e59eb72a1dc811c35f"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__group__alloc.html#gaa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga806e8499dde802e59eb72a1dc811c35f">VmaMemoryUsage</a></td></tr>
+<tr class="memitem:ga806e8499dde802e59eb72a1dc811c35f" id="r_ga806e8499dde802e59eb72a1dc811c35f"><td class="memItemLeft">typedef enum <a class="el" href="group__group__alloc.html#gaa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a>&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga806e8499dde802e59eb72a1dc811c35f">VmaMemoryUsage</a></td></tr>
 <tr class="memdesc:ga806e8499dde802e59eb72a1dc811c35f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intended usage of the allocated memory.  <br /></td></tr>
-<tr class="memitem:ga4fceecc301f4064dc808d3cd6c038941" id="r_ga4fceecc301f4064dc808d3cd6c038941"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__group__alloc.html#gad9889c10c798b040d59c92f257cae597">VmaAllocationCreateFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga4fceecc301f4064dc808d3cd6c038941">VmaAllocationCreateFlagBits</a></td></tr>
+<tr class="memitem:ga4fceecc301f4064dc808d3cd6c038941" id="r_ga4fceecc301f4064dc808d3cd6c038941"><td class="memItemLeft">typedef enum <a class="el" href="group__group__alloc.html#gad9889c10c798b040d59c92f257cae597">VmaAllocationCreateFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga4fceecc301f4064dc808d3cd6c038941">VmaAllocationCreateFlagBits</a></td></tr>
 <tr class="memdesc:ga4fceecc301f4064dc808d3cd6c038941"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_allocation_create_info.html#add09658ac14fe290ace25470ddd6d41b" title="Use VmaAllocationCreateFlagBits enum.">VmaAllocationCreateInfo::flags</a>.  <br /></td></tr>
-<tr class="memitem:ga5225e5e11f8376f6a31a1791f3d6e817" id="r_ga5225e5e11f8376f6a31a1791f3d6e817"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga5225e5e11f8376f6a31a1791f3d6e817">VmaAllocationCreateFlags</a></td></tr>
+<tr class="memitem:ga5225e5e11f8376f6a31a1791f3d6e817" id="r_ga5225e5e11f8376f6a31a1791f3d6e817"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga5225e5e11f8376f6a31a1791f3d6e817">VmaAllocationCreateFlags</a></td></tr>
 <tr class="memdesc:ga5225e5e11f8376f6a31a1791f3d6e817"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="group__group__alloc.html#gad9889c10c798b040d59c92f257cae597" title="Flags to be passed as VmaAllocationCreateInfo::flags.">VmaAllocationCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga4d4f2efc2509157a9e4ecd4fd7942303" id="r_ga4d4f2efc2509157a9e4ecd4fd7942303"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__group__alloc.html#ga9a7c45f9c863695d98c83fa5ac940fe7">VmaPoolCreateFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga4d4f2efc2509157a9e4ecd4fd7942303">VmaPoolCreateFlagBits</a></td></tr>
+<tr class="memitem:ga4d4f2efc2509157a9e4ecd4fd7942303" id="r_ga4d4f2efc2509157a9e4ecd4fd7942303"><td class="memItemLeft">typedef enum <a class="el" href="group__group__alloc.html#ga9a7c45f9c863695d98c83fa5ac940fe7">VmaPoolCreateFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga4d4f2efc2509157a9e4ecd4fd7942303">VmaPoolCreateFlagBits</a></td></tr>
 <tr class="memdesc:ga4d4f2efc2509157a9e4ecd4fd7942303"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_pool_create_info.html#a8405139f63d078340ae74513a59f5446" title="Use combination of VmaPoolCreateFlagBits.">VmaPoolCreateInfo::flags</a>.  <br /></td></tr>
-<tr class="memitem:ga2770e325ea42e087c1b91fdf46d0292a" id="r_ga2770e325ea42e087c1b91fdf46d0292a"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga2770e325ea42e087c1b91fdf46d0292a">VmaPoolCreateFlags</a></td></tr>
+<tr class="memitem:ga2770e325ea42e087c1b91fdf46d0292a" id="r_ga2770e325ea42e087c1b91fdf46d0292a"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga2770e325ea42e087c1b91fdf46d0292a">VmaPoolCreateFlags</a></td></tr>
 <tr class="memdesc:ga2770e325ea42e087c1b91fdf46d0292a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_pool_create_info.html#a8405139f63d078340ae74513a59f5446" title="Use combination of VmaPoolCreateFlagBits.">VmaPoolCreateInfo::flags</a>. See <a class="el" href="group__group__alloc.html#ga9a7c45f9c863695d98c83fa5ac940fe7" title="Flags to be passed as VmaPoolCreateInfo::flags.">VmaPoolCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga13415cc0b443353a7b5abda300b833fc" id="r_ga13415cc0b443353a7b5abda300b833fc"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__group__alloc.html#ga6552a65b71d16f378c6994b3ceaef50c">VmaDefragmentationFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga13415cc0b443353a7b5abda300b833fc">VmaDefragmentationFlagBits</a></td></tr>
+<tr class="memitem:ga13415cc0b443353a7b5abda300b833fc" id="r_ga13415cc0b443353a7b5abda300b833fc"><td class="memItemLeft">typedef enum <a class="el" href="group__group__alloc.html#ga6552a65b71d16f378c6994b3ceaef50c">VmaDefragmentationFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga13415cc0b443353a7b5abda300b833fc">VmaDefragmentationFlagBits</a></td></tr>
 <tr class="memdesc:ga13415cc0b443353a7b5abda300b833fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_defragmentation_info.html#a3e23080c978ecf3abb3180f5b2069da7" title="Use combination of VmaDefragmentationFlagBits.">VmaDefragmentationInfo::flags</a>.  <br /></td></tr>
-<tr class="memitem:ga88a77cef37e5d3c4fc9eb328885d048d" id="r_ga88a77cef37e5d3c4fc9eb328885d048d"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga88a77cef37e5d3c4fc9eb328885d048d">VmaDefragmentationFlags</a></td></tr>
+<tr class="memitem:ga88a77cef37e5d3c4fc9eb328885d048d" id="r_ga88a77cef37e5d3c4fc9eb328885d048d"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga88a77cef37e5d3c4fc9eb328885d048d">VmaDefragmentationFlags</a></td></tr>
 <tr class="memdesc:ga88a77cef37e5d3c4fc9eb328885d048d"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="group__group__alloc.html#ga6552a65b71d16f378c6994b3ceaef50c" title="Flags to be passed as VmaDefragmentationInfo::flags.">VmaDefragmentationFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga2ea666deeb3c2c74806a097e27cdb4a1" id="r_ga2ea666deeb3c2c74806a097e27cdb4a1"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__group__alloc.html#gada9e3861caf96f08894b0bcc160ec257">VmaDefragmentationMoveOperation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga2ea666deeb3c2c74806a097e27cdb4a1">VmaDefragmentationMoveOperation</a></td></tr>
+<tr class="memitem:ga2ea666deeb3c2c74806a097e27cdb4a1" id="r_ga2ea666deeb3c2c74806a097e27cdb4a1"><td class="memItemLeft">typedef enum <a class="el" href="group__group__alloc.html#gada9e3861caf96f08894b0bcc160ec257">VmaDefragmentationMoveOperation</a>&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga2ea666deeb3c2c74806a097e27cdb4a1">VmaDefragmentationMoveOperation</a></td></tr>
 <tr class="memdesc:ga2ea666deeb3c2c74806a097e27cdb4a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operation performed on single defragmentation move. See structure <a class="el" href="struct_vma_defragmentation_move.html" title="Single move of an allocation to be done for defragmentation.">VmaDefragmentationMove</a>.  <br /></td></tr>
-<tr class="memitem:ga0860ba1c0a67178fae4aecb63a78573e" id="r_ga0860ba1c0a67178fae4aecb63a78573e"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__group__virtual.html#ga88bcf8c1cd3bb1610ff7343811c65bca">VmaVirtualBlockCreateFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga0860ba1c0a67178fae4aecb63a78573e">VmaVirtualBlockCreateFlagBits</a></td></tr>
+<tr class="memitem:ga0860ba1c0a67178fae4aecb63a78573e" id="r_ga0860ba1c0a67178fae4aecb63a78573e"><td class="memItemLeft">typedef enum <a class="el" href="group__group__virtual.html#ga88bcf8c1cd3bb1610ff7343811c65bca">VmaVirtualBlockCreateFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga0860ba1c0a67178fae4aecb63a78573e">VmaVirtualBlockCreateFlagBits</a></td></tr>
 <tr class="memdesc:ga0860ba1c0a67178fae4aecb63a78573e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_virtual_block_create_info.html#aaab9bf7e2d228c02ab6d90a72a6e6912" title="Use combination of VmaVirtualBlockCreateFlagBits.">VmaVirtualBlockCreateInfo::flags</a>.  <br /></td></tr>
-<tr class="memitem:ga4e49c2f0ab7f6b4868833e5bac78d91e" id="r_ga4e49c2f0ab7f6b4868833e5bac78d91e"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga4e49c2f0ab7f6b4868833e5bac78d91e">VmaVirtualBlockCreateFlags</a></td></tr>
+<tr class="memitem:ga4e49c2f0ab7f6b4868833e5bac78d91e" id="r_ga4e49c2f0ab7f6b4868833e5bac78d91e"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga4e49c2f0ab7f6b4868833e5bac78d91e">VmaVirtualBlockCreateFlags</a></td></tr>
 <tr class="memdesc:ga4e49c2f0ab7f6b4868833e5bac78d91e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_virtual_block_create_info.html#aaab9bf7e2d228c02ab6d90a72a6e6912" title="Use combination of VmaVirtualBlockCreateFlagBits.">VmaVirtualBlockCreateInfo::flags</a>. See <a class="el" href="group__group__virtual.html#ga88bcf8c1cd3bb1610ff7343811c65bca" title="Flags to be passed as VmaVirtualBlockCreateInfo::flags.">VmaVirtualBlockCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga936815e64946a6b6d812d08d10184c23" id="r_ga936815e64946a6b6d812d08d10184c23"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__group__virtual.html#ga2e9c64d405b14156fea7e10c4ad06cb6">VmaVirtualAllocationCreateFlagBits</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga936815e64946a6b6d812d08d10184c23">VmaVirtualAllocationCreateFlagBits</a></td></tr>
+<tr class="memitem:ga936815e64946a6b6d812d08d10184c23" id="r_ga936815e64946a6b6d812d08d10184c23"><td class="memItemLeft">typedef enum <a class="el" href="group__group__virtual.html#ga2e9c64d405b14156fea7e10c4ad06cb6">VmaVirtualAllocationCreateFlagBits</a>&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga936815e64946a6b6d812d08d10184c23">VmaVirtualAllocationCreateFlagBits</a></td></tr>
 <tr class="memdesc:ga936815e64946a6b6d812d08d10184c23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_virtual_allocation_create_info.html#ab10e16956cc4bf20ced9de77d1129ea4" title="Use combination of VmaVirtualAllocationCreateFlagBits.">VmaVirtualAllocationCreateInfo::flags</a>.  <br /></td></tr>
-<tr class="memitem:gae96ffc099bf898257fb19e9410ed08a7" id="r_gae96ffc099bf898257fb19e9410ed08a7"><td class="memItemLeft" align="right" valign="top">typedef VkFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#gae96ffc099bf898257fb19e9410ed08a7">VmaVirtualAllocationCreateFlags</a></td></tr>
+<tr class="memitem:gae96ffc099bf898257fb19e9410ed08a7" id="r_gae96ffc099bf898257fb19e9410ed08a7"><td class="memItemLeft">typedef VkFlags&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#gae96ffc099bf898257fb19e9410ed08a7">VmaVirtualAllocationCreateFlags</a></td></tr>
 <tr class="memdesc:gae96ffc099bf898257fb19e9410ed08a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_virtual_allocation_create_info.html#ab10e16956cc4bf20ced9de77d1129ea4" title="Use combination of VmaVirtualAllocationCreateFlagBits.">VmaVirtualAllocationCreateInfo::flags</a>. See <a class="el" href="group__group__virtual.html#ga2e9c64d405b14156fea7e10c4ad06cb6" title="Flags to be passed as VmaVirtualAllocationCreateInfo::flags.">VmaVirtualAllocationCreateFlagBits</a>.  <br /></td></tr>
-<tr class="memitem:ga7e1ed85f7799600b03ad51a77acc21f3" id="r_ga7e1ed85f7799600b03ad51a77acc21f3"><td class="memItemLeft" align="right" valign="top">typedef void(VKAPI_PTR *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#ga7e1ed85f7799600b03ad51a77acc21f3">PFN_vmaAllocateDeviceMemoryFunction</a>) (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)</td></tr>
+<tr class="memitem:ga7e1ed85f7799600b03ad51a77acc21f3" id="r_ga7e1ed85f7799600b03ad51a77acc21f3"><td class="memItemLeft">typedef void(VKAPI_PTR *&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#ga7e1ed85f7799600b03ad51a77acc21f3">PFN_vmaAllocateDeviceMemoryFunction</a>) (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)</td></tr>
 <tr class="memdesc:ga7e1ed85f7799600b03ad51a77acc21f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function called after successful vkAllocateMemory.  <br /></td></tr>
-<tr class="memitem:ga154ccaaf53dc2c36378f80f0c4f3679b" id="r_ga154ccaaf53dc2c36378f80f0c4f3679b"><td class="memItemLeft" align="right" valign="top">typedef void(VKAPI_PTR *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#ga154ccaaf53dc2c36378f80f0c4f3679b">PFN_vmaFreeDeviceMemoryFunction</a>) (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)</td></tr>
+<tr class="memitem:ga154ccaaf53dc2c36378f80f0c4f3679b" id="r_ga154ccaaf53dc2c36378f80f0c4f3679b"><td class="memItemLeft">typedef void(VKAPI_PTR *&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#ga154ccaaf53dc2c36378f80f0c4f3679b">PFN_vmaFreeDeviceMemoryFunction</a>) (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)</td></tr>
 <tr class="memdesc:ga154ccaaf53dc2c36378f80f0c4f3679b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function called before vkFreeMemory.  <br /></td></tr>
-<tr class="memitem:ga77692d3c8770ea8882d573206bd27b2b" id="r_ga77692d3c8770ea8882d573206bd27b2b"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDeviceMemoryCallbacks&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#ga77692d3c8770ea8882d573206bd27b2b">VmaDeviceMemoryCallbacks</a></td></tr>
+<tr class="memitem:ga77692d3c8770ea8882d573206bd27b2b" id="r_ga77692d3c8770ea8882d573206bd27b2b"><td class="memItemLeft">typedef struct VmaDeviceMemoryCallbacks&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#ga77692d3c8770ea8882d573206bd27b2b">VmaDeviceMemoryCallbacks</a></td></tr>
 <tr class="memdesc:ga77692d3c8770ea8882d573206bd27b2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set of callbacks that the library will call for <span class="tt">vkAllocateMemory</span> and <span class="tt">vkFreeMemory</span>.  <br /></td></tr>
-<tr class="memitem:gabb0a8e3b5040d847571cca6c7f9a8074" id="r_gabb0a8e3b5040d847571cca6c7f9a8074"><td class="memItemLeft" align="right" valign="top">typedef struct VmaVulkanFunctions&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#gabb0a8e3b5040d847571cca6c7f9a8074">VmaVulkanFunctions</a></td></tr>
+<tr class="memitem:gabb0a8e3b5040d847571cca6c7f9a8074" id="r_gabb0a8e3b5040d847571cca6c7f9a8074"><td class="memItemLeft">typedef struct VmaVulkanFunctions&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#gabb0a8e3b5040d847571cca6c7f9a8074">VmaVulkanFunctions</a></td></tr>
 <tr class="memdesc:gabb0a8e3b5040d847571cca6c7f9a8074"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointers to some Vulkan functions - a subset used by the library.  <br /></td></tr>
-<tr class="memitem:gaad9652301d33759b83e52d4f3605a14a" id="r_gaad9652301d33759b83e52d4f3605a14a"><td class="memItemLeft" align="right" valign="top">typedef struct VmaAllocatorCreateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#gaad9652301d33759b83e52d4f3605a14a">VmaAllocatorCreateInfo</a></td></tr>
+<tr class="memitem:gaad9652301d33759b83e52d4f3605a14a" id="r_gaad9652301d33759b83e52d4f3605a14a"><td class="memItemLeft">typedef struct VmaAllocatorCreateInfo&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#gaad9652301d33759b83e52d4f3605a14a">VmaAllocatorCreateInfo</a></td></tr>
 <tr class="memdesc:gaad9652301d33759b83e52d4f3605a14a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Description of a Allocator to be created.  <br /></td></tr>
-<tr class="memitem:ga1988031b0223fdbd564250fa1edd942c" id="r_ga1988031b0223fdbd564250fa1edd942c"><td class="memItemLeft" align="right" valign="top">typedef struct VmaAllocatorInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#ga1988031b0223fdbd564250fa1edd942c">VmaAllocatorInfo</a></td></tr>
+<tr class="memitem:ga1988031b0223fdbd564250fa1edd942c" id="r_ga1988031b0223fdbd564250fa1edd942c"><td class="memItemLeft">typedef struct VmaAllocatorInfo&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#ga1988031b0223fdbd564250fa1edd942c">VmaAllocatorInfo</a></td></tr>
 <tr class="memdesc:ga1988031b0223fdbd564250fa1edd942c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about existing <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object.  <br /></td></tr>
-<tr class="memitem:gac94bd1a382a3922ddc8de3af4d3ddd06" id="r_gac94bd1a382a3922ddc8de3af4d3ddd06"><td class="memItemLeft" align="right" valign="top">typedef struct VmaStatistics&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#gac94bd1a382a3922ddc8de3af4d3ddd06">VmaStatistics</a></td></tr>
+<tr class="memitem:gac94bd1a382a3922ddc8de3af4d3ddd06" id="r_gac94bd1a382a3922ddc8de3af4d3ddd06"><td class="memItemLeft">typedef struct VmaStatistics&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#gac94bd1a382a3922ddc8de3af4d3ddd06">VmaStatistics</a></td></tr>
 <tr class="memdesc:gac94bd1a382a3922ddc8de3af4d3ddd06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total.  <br /></td></tr>
-<tr class="memitem:ga9ab0c535a6ca655dc63b8609ab4b8394" id="r_ga9ab0c535a6ca655dc63b8609ab4b8394"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDetailedStatistics&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga9ab0c535a6ca655dc63b8609ab4b8394">VmaDetailedStatistics</a></td></tr>
+<tr class="memitem:ga9ab0c535a6ca655dc63b8609ab4b8394" id="r_ga9ab0c535a6ca655dc63b8609ab4b8394"><td class="memItemLeft">typedef struct VmaDetailedStatistics&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#ga9ab0c535a6ca655dc63b8609ab4b8394">VmaDetailedStatistics</a></td></tr>
 <tr class="memdesc:ga9ab0c535a6ca655dc63b8609ab4b8394"><td class="mdescLeft">&#160;</td><td class="mdescRight">More detailed statistics than <a class="el" href="struct_vma_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool,...">VmaStatistics</a>.  <br /></td></tr>
-<tr class="memitem:ga68916e729e55d513f88ffafbadddb770" id="r_ga68916e729e55d513f88ffafbadddb770"><td class="memItemLeft" align="right" valign="top">typedef struct VmaTotalStatistics&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga68916e729e55d513f88ffafbadddb770">VmaTotalStatistics</a></td></tr>
+<tr class="memitem:ga68916e729e55d513f88ffafbadddb770" id="r_ga68916e729e55d513f88ffafbadddb770"><td class="memItemLeft">typedef struct VmaTotalStatistics&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#ga68916e729e55d513f88ffafbadddb770">VmaTotalStatistics</a></td></tr>
 <tr class="memdesc:ga68916e729e55d513f88ffafbadddb770"><td class="mdescLeft">&#160;</td><td class="mdescRight">General statistics from current state of the Allocator - total memory usage across all memory heaps and types.  <br /></td></tr>
-<tr class="memitem:gaa078667e71b1ef24e87a6a30d128381d" id="r_gaa078667e71b1ef24e87a6a30d128381d"><td class="memItemLeft" align="right" valign="top">typedef struct VmaBudget&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#gaa078667e71b1ef24e87a6a30d128381d">VmaBudget</a></td></tr>
+<tr class="memitem:gaa078667e71b1ef24e87a6a30d128381d" id="r_gaa078667e71b1ef24e87a6a30d128381d"><td class="memItemLeft">typedef struct VmaBudget&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#gaa078667e71b1ef24e87a6a30d128381d">VmaBudget</a></td></tr>
 <tr class="memdesc:gaa078667e71b1ef24e87a6a30d128381d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics of current memory usage and available budget for a specific memory heap.  <br /></td></tr>
-<tr class="memitem:ga3bf110892ea2fb4649fedb68488d026a" id="r_ga3bf110892ea2fb4649fedb68488d026a"><td class="memItemLeft" align="right" valign="top">typedef struct VmaAllocationCreateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga3bf110892ea2fb4649fedb68488d026a">VmaAllocationCreateInfo</a></td></tr>
+<tr class="memitem:ga3bf110892ea2fb4649fedb68488d026a" id="r_ga3bf110892ea2fb4649fedb68488d026a"><td class="memItemLeft">typedef struct VmaAllocationCreateInfo&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga3bf110892ea2fb4649fedb68488d026a">VmaAllocationCreateInfo</a></td></tr>
 <tr class="memdesc:ga3bf110892ea2fb4649fedb68488d026a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of new <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>.  <br /></td></tr>
-<tr class="memitem:ga1017aa83489c0eee8d2163d2bf253f67" id="r_ga1017aa83489c0eee8d2163d2bf253f67"><td class="memItemLeft" align="right" valign="top">typedef struct VmaPoolCreateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga1017aa83489c0eee8d2163d2bf253f67">VmaPoolCreateInfo</a></td></tr>
+<tr class="memitem:ga1017aa83489c0eee8d2163d2bf253f67" id="r_ga1017aa83489c0eee8d2163d2bf253f67"><td class="memItemLeft">typedef struct VmaPoolCreateInfo&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga1017aa83489c0eee8d2163d2bf253f67">VmaPoolCreateInfo</a></td></tr>
 <tr class="memdesc:ga1017aa83489c0eee8d2163d2bf253f67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes parameter of created <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a>.  <br /></td></tr>
-<tr class="memitem:ga1cf7774606721026a68aabe3af2e5b50" id="r_ga1cf7774606721026a68aabe3af2e5b50"><td class="memItemLeft" align="right" valign="top">typedef struct VmaAllocationInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga1cf7774606721026a68aabe3af2e5b50">VmaAllocationInfo</a></td></tr>
-<tr class="memitem:ga25ede29f830f326b8572a18ce879bf64" id="r_ga25ede29f830f326b8572a18ce879bf64"><td class="memItemLeft" align="right" valign="top">typedef struct VmaAllocationInfo2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga25ede29f830f326b8572a18ce879bf64">VmaAllocationInfo2</a></td></tr>
+<tr class="memitem:ga1cf7774606721026a68aabe3af2e5b50" id="r_ga1cf7774606721026a68aabe3af2e5b50"><td class="memItemLeft">typedef struct VmaAllocationInfo&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga1cf7774606721026a68aabe3af2e5b50">VmaAllocationInfo</a></td></tr>
+<tr class="memitem:ga25ede29f830f326b8572a18ce879bf64" id="r_ga25ede29f830f326b8572a18ce879bf64"><td class="memItemLeft">typedef struct VmaAllocationInfo2&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga25ede29f830f326b8572a18ce879bf64">VmaAllocationInfo2</a></td></tr>
 <tr class="memdesc:ga25ede29f830f326b8572a18ce879bf64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended parameters of a <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> object that can be retrieved using function <a class="el" href="group__group__alloc.html#ga1405cf3eae2fd1305d645879173031a0" title="Returns extended information about specified allocation.">vmaGetAllocationInfo2()</a>.  <br /></td></tr>
-<tr class="memitem:ga6f57b18d4241e80be444842df3094b30" id="r_ga6f57b18d4241e80be444842df3094b30"><td class="memItemLeft" align="right" valign="top">typedef VkBool32(VKAPI_PTR *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga6f57b18d4241e80be444842df3094b30">PFN_vmaCheckDefragmentationBreakFunction</a>) (void *pUserData)</td></tr>
-<tr class="memitem:ga2bf47f96bf92bed2a49461bd9af3acfa" id="r_ga2bf47f96bf92bed2a49461bd9af3acfa"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDefragmentationInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga2bf47f96bf92bed2a49461bd9af3acfa">VmaDefragmentationInfo</a></td></tr>
+<tr class="memitem:ga6f57b18d4241e80be444842df3094b30" id="r_ga6f57b18d4241e80be444842df3094b30"><td class="memItemLeft">typedef VkBool32(VKAPI_PTR *&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga6f57b18d4241e80be444842df3094b30">PFN_vmaCheckDefragmentationBreakFunction</a>) (void *pUserData)</td></tr>
+<tr class="memitem:ga2bf47f96bf92bed2a49461bd9af3acfa" id="r_ga2bf47f96bf92bed2a49461bd9af3acfa"><td class="memItemLeft">typedef struct VmaDefragmentationInfo&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga2bf47f96bf92bed2a49461bd9af3acfa">VmaDefragmentationInfo</a></td></tr>
 <tr class="memdesc:ga2bf47f96bf92bed2a49461bd9af3acfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters for defragmentation.  <br /></td></tr>
-<tr class="memitem:ga563f4b43d3e31ed603d80cacc9ba8589" id="r_ga563f4b43d3e31ed603d80cacc9ba8589"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDefragmentationMove&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga563f4b43d3e31ed603d80cacc9ba8589">VmaDefragmentationMove</a></td></tr>
+<tr class="memitem:ga563f4b43d3e31ed603d80cacc9ba8589" id="r_ga563f4b43d3e31ed603d80cacc9ba8589"><td class="memItemLeft">typedef struct VmaDefragmentationMove&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga563f4b43d3e31ed603d80cacc9ba8589">VmaDefragmentationMove</a></td></tr>
 <tr class="memdesc:ga563f4b43d3e31ed603d80cacc9ba8589"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single move of an allocation to be done for defragmentation.  <br /></td></tr>
-<tr class="memitem:gad6799e8e2b1527abfc84d33bc44aeaf5" id="r_gad6799e8e2b1527abfc84d33bc44aeaf5"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDefragmentationPassMoveInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gad6799e8e2b1527abfc84d33bc44aeaf5">VmaDefragmentationPassMoveInfo</a></td></tr>
+<tr class="memitem:gad6799e8e2b1527abfc84d33bc44aeaf5" id="r_gad6799e8e2b1527abfc84d33bc44aeaf5"><td class="memItemLeft">typedef struct VmaDefragmentationPassMoveInfo&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gad6799e8e2b1527abfc84d33bc44aeaf5">VmaDefragmentationPassMoveInfo</a></td></tr>
 <tr class="memdesc:gad6799e8e2b1527abfc84d33bc44aeaf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters for incremental defragmentation steps.  <br /></td></tr>
-<tr class="memitem:gad94034192259c2e34a4d1c5e27810403" id="r_gad94034192259c2e34a4d1c5e27810403"><td class="memItemLeft" align="right" valign="top">typedef struct VmaDefragmentationStats&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gad94034192259c2e34a4d1c5e27810403">VmaDefragmentationStats</a></td></tr>
+<tr class="memitem:gad94034192259c2e34a4d1c5e27810403" id="r_gad94034192259c2e34a4d1c5e27810403"><td class="memItemLeft">typedef struct VmaDefragmentationStats&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gad94034192259c2e34a4d1c5e27810403">VmaDefragmentationStats</a></td></tr>
 <tr class="memdesc:gad94034192259c2e34a4d1c5e27810403"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics returned for defragmentation process in function <a class="el" href="group__group__alloc.html#ga59f01ca3d53d50b7cca9b442b77a3e87" title="Ends defragmentation process.">vmaEndDefragmentation()</a>.  <br /></td></tr>
-<tr class="memitem:ga4753d42d40217a3a652a3cdf253ad773" id="r_ga4753d42d40217a3a652a3cdf253ad773"><td class="memItemLeft" align="right" valign="top">typedef struct VmaVirtualBlockCreateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga4753d42d40217a3a652a3cdf253ad773">VmaVirtualBlockCreateInfo</a></td></tr>
+<tr class="memitem:ga4753d42d40217a3a652a3cdf253ad773" id="r_ga4753d42d40217a3a652a3cdf253ad773"><td class="memItemLeft">typedef struct VmaVirtualBlockCreateInfo&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga4753d42d40217a3a652a3cdf253ad773">VmaVirtualBlockCreateInfo</a></td></tr>
 <tr class="memdesc:ga4753d42d40217a3a652a3cdf253ad773"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of created <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a> object to be passed to <a class="el" href="group__group__virtual.html#gab585754076877265fdae33e5c40ef13b" title="Creates new VmaVirtualBlock object.">vmaCreateVirtualBlock()</a>.  <br /></td></tr>
-<tr class="memitem:gac3c90d80bedc6847a41b82d0e2158c9e" id="r_gac3c90d80bedc6847a41b82d0e2158c9e"><td class="memItemLeft" align="right" valign="top">typedef struct VmaVirtualAllocationCreateInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#gac3c90d80bedc6847a41b82d0e2158c9e">VmaVirtualAllocationCreateInfo</a></td></tr>
+<tr class="memitem:gac3c90d80bedc6847a41b82d0e2158c9e" id="r_gac3c90d80bedc6847a41b82d0e2158c9e"><td class="memItemLeft">typedef struct VmaVirtualAllocationCreateInfo&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#gac3c90d80bedc6847a41b82d0e2158c9e">VmaVirtualAllocationCreateInfo</a></td></tr>
 <tr class="memdesc:gac3c90d80bedc6847a41b82d0e2158c9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of created virtual allocation to be passed to <a class="el" href="group__group__virtual.html#ga6b7cdcc1c3e5103c323fedc4e1319e01" title="Allocates new virtual allocation inside given VmaVirtualBlock.">vmaVirtualAllocate()</a>.  <br /></td></tr>
-<tr class="memitem:ga75bc33ff7cf18c98e101f570dc2a5ebc" id="r_ga75bc33ff7cf18c98e101f570dc2a5ebc"><td class="memItemLeft" align="right" valign="top">typedef struct VmaVirtualAllocationInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga75bc33ff7cf18c98e101f570dc2a5ebc">VmaVirtualAllocationInfo</a></td></tr>
+<tr class="memitem:ga75bc33ff7cf18c98e101f570dc2a5ebc" id="r_ga75bc33ff7cf18c98e101f570dc2a5ebc"><td class="memItemLeft">typedef struct VmaVirtualAllocationInfo&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga75bc33ff7cf18c98e101f570dc2a5ebc">VmaVirtualAllocationInfo</a></td></tr>
 <tr class="memdesc:ga75bc33ff7cf18c98e101f570dc2a5ebc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters of an existing virtual allocation, returned by <a class="el" href="group__group__virtual.html#ga8ee14ceb1fe033ec84d8aa29e1f75afa" title="Returns information about a specific virtual allocation within a virtual block, like its size and pUs...">vmaGetVirtualAllocationInfo()</a>.  <br /></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
 Enumerations</h2></td></tr>
-<tr class="memitem:ga4f87c9100d154a65a4ad495f7763cf7c" id="r_ga4f87c9100d154a65a4ad495f7763cf7c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#ga4f87c9100d154a65a4ad495f7763cf7c">VmaAllocatorCreateFlagBits</a> { <br />
+<tr class="memitem:ga4f87c9100d154a65a4ad495f7763cf7c" id="r_ga4f87c9100d154a65a4ad495f7763cf7c"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#ga4f87c9100d154a65a4ad495f7763cf7c">VmaAllocatorCreateFlagBits</a> { <br />
 &#160;&#160;<a class="el" href="group__group__init.html#gga4f87c9100d154a65a4ad495f7763cf7ca4816ddaed324ba110172ca608a20f29d">VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT</a> = 0x00000001
 , <a class="el" href="group__group__init.html#gga4f87c9100d154a65a4ad495f7763cf7cace7da7cc6e71a625dfa763c55a597878">VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT</a> = 0x00000002
 , <a class="el" href="group__group__init.html#gga4f87c9100d154a65a4ad495f7763cf7ca8fb75bf07cd184ab903596295e863dee">VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT</a> = 0x00000004
@@ -222,7 +222,7 @@
 <br />
  }</td></tr>
 <tr class="memdesc:ga4f87c9100d154a65a4ad495f7763cf7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags for created <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a>.  <a href="group__group__init.html#ga4f87c9100d154a65a4ad495f7763cf7c">More...</a><br /></td></tr>
-<tr class="memitem:gaa5846affa1e9da3800e3e78fae2305cc" id="r_gaa5846affa1e9da3800e3e78fae2305cc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gaa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a> { <br />
+<tr class="memitem:gaa5846affa1e9da3800e3e78fae2305cc" id="r_gaa5846affa1e9da3800e3e78fae2305cc"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gaa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a> { <br />
 &#160;&#160;<a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305ccaf50d27e34e0925cf3a63db8c839121dd">VMA_MEMORY_USAGE_UNKNOWN</a> = 0
 , <a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305ccac6b5dc1432d88647aa4cd456246eadf7">VMA_MEMORY_USAGE_GPU_ONLY</a> = 1
 , <a class="el" href="group__group__alloc.html#ggaa5846affa1e9da3800e3e78fae2305cca40bdf4cddeffeb12f43d45ca1286e0a5">VMA_MEMORY_USAGE_CPU_ONLY</a> = 2
@@ -239,7 +239,7 @@
 <br />
  }</td></tr>
 <tr class="memdesc:gaa5846affa1e9da3800e3e78fae2305cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intended usage of the allocated memory.  <a href="group__group__alloc.html#gaa5846affa1e9da3800e3e78fae2305cc">More...</a><br /></td></tr>
-<tr class="memitem:gad9889c10c798b040d59c92f257cae597" id="r_gad9889c10c798b040d59c92f257cae597"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gad9889c10c798b040d59c92f257cae597">VmaAllocationCreateFlagBits</a> { <br />
+<tr class="memitem:gad9889c10c798b040d59c92f257cae597" id="r_gad9889c10c798b040d59c92f257cae597"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gad9889c10c798b040d59c92f257cae597">VmaAllocationCreateFlagBits</a> { <br />
 &#160;&#160;<a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f">VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT</a> = 0x00000001
 , <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a89759603401014eb325eb22a3839f2ff">VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT</a> = 0x00000002
 , <a class="el" href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f">VMA_ALLOCATION_CREATE_MAPPED_BIT</a> = 0x00000004
@@ -265,13 +265,13 @@
 <br />
  }</td></tr>
 <tr class="memdesc:gad9889c10c798b040d59c92f257cae597"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_allocation_create_info.html#add09658ac14fe290ace25470ddd6d41b" title="Use VmaAllocationCreateFlagBits enum.">VmaAllocationCreateInfo::flags</a>.  <a href="group__group__alloc.html#gad9889c10c798b040d59c92f257cae597">More...</a><br /></td></tr>
-<tr class="memitem:ga9a7c45f9c863695d98c83fa5ac940fe7" id="r_ga9a7c45f9c863695d98c83fa5ac940fe7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga9a7c45f9c863695d98c83fa5ac940fe7">VmaPoolCreateFlagBits</a> { <a class="el" href="group__group__alloc.html#gga9a7c45f9c863695d98c83fa5ac940fe7a9f1a499508a8edb4e8ba40aa0290a3d2">VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT</a> = 0x00000002
+<tr class="memitem:ga9a7c45f9c863695d98c83fa5ac940fe7" id="r_ga9a7c45f9c863695d98c83fa5ac940fe7"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga9a7c45f9c863695d98c83fa5ac940fe7">VmaPoolCreateFlagBits</a> { <a class="el" href="group__group__alloc.html#gga9a7c45f9c863695d98c83fa5ac940fe7a9f1a499508a8edb4e8ba40aa0290a3d2">VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT</a> = 0x00000002
 , <a class="el" href="group__group__alloc.html#gga9a7c45f9c863695d98c83fa5ac940fe7a13c8a444197c67866be9cb05599fc726">VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT</a> = 0x00000004
 , <a class="el" href="group__group__alloc.html#gga9a7c45f9c863695d98c83fa5ac940fe7af4d270f8f42517a0f70037ceb6ac1d9c">VMA_POOL_CREATE_ALGORITHM_MASK</a>
 , <a class="el" href="group__group__alloc.html#gga9a7c45f9c863695d98c83fa5ac940fe7a1c7312bea9ea246846b9054fd6bd6aec">VMA_POOL_CREATE_FLAG_BITS_MAX_ENUM</a> = 0x7FFFFFFF
  }</td></tr>
 <tr class="memdesc:ga9a7c45f9c863695d98c83fa5ac940fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_pool_create_info.html#a8405139f63d078340ae74513a59f5446" title="Use combination of VmaPoolCreateFlagBits.">VmaPoolCreateInfo::flags</a>.  <a href="group__group__alloc.html#ga9a7c45f9c863695d98c83fa5ac940fe7">More...</a><br /></td></tr>
-<tr class="memitem:ga6552a65b71d16f378c6994b3ceaef50c" id="r_ga6552a65b71d16f378c6994b3ceaef50c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga6552a65b71d16f378c6994b3ceaef50c">VmaDefragmentationFlagBits</a> { <br />
+<tr class="memitem:ga6552a65b71d16f378c6994b3ceaef50c" id="r_ga6552a65b71d16f378c6994b3ceaef50c"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga6552a65b71d16f378c6994b3ceaef50c">VmaDefragmentationFlagBits</a> { <br />
 &#160;&#160;<a class="el" href="group__group__alloc.html#gga6552a65b71d16f378c6994b3ceaef50ca2e6469bcf5a094776ceb5d118263f04b">VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FAST_BIT</a> = 0x1
 , <a class="el" href="group__group__alloc.html#gga6552a65b71d16f378c6994b3ceaef50caec35a4138111605a6ff32ca61aa871b6">VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT</a> = 0x2
 , <a class="el" href="group__group__alloc.html#gga6552a65b71d16f378c6994b3ceaef50cafa162eac5be800bcdd4011427a71156d">VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FULL_BIT</a> = 0x4
@@ -282,17 +282,17 @@
 <br />
  }</td></tr>
 <tr class="memdesc:ga6552a65b71d16f378c6994b3ceaef50c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_defragmentation_info.html#a3e23080c978ecf3abb3180f5b2069da7" title="Use combination of VmaDefragmentationFlagBits.">VmaDefragmentationInfo::flags</a>.  <a href="group__group__alloc.html#ga6552a65b71d16f378c6994b3ceaef50c">More...</a><br /></td></tr>
-<tr class="memitem:gada9e3861caf96f08894b0bcc160ec257" id="r_gada9e3861caf96f08894b0bcc160ec257"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gada9e3861caf96f08894b0bcc160ec257">VmaDefragmentationMoveOperation</a> { <a class="el" href="group__group__alloc.html#ggada9e3861caf96f08894b0bcc160ec257ad4a06ac46c4cb1c67b0ebc1edfab9f18">VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY</a> = 0
+<tr class="memitem:gada9e3861caf96f08894b0bcc160ec257" id="r_gada9e3861caf96f08894b0bcc160ec257"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gada9e3861caf96f08894b0bcc160ec257">VmaDefragmentationMoveOperation</a> { <a class="el" href="group__group__alloc.html#ggada9e3861caf96f08894b0bcc160ec257ad4a06ac46c4cb1c67b0ebc1edfab9f18">VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY</a> = 0
 , <a class="el" href="group__group__alloc.html#ggada9e3861caf96f08894b0bcc160ec257ad25bc6f816b226b4fd5170e845f218d2">VMA_DEFRAGMENTATION_MOVE_OPERATION_IGNORE</a> = 1
 , <a class="el" href="group__group__alloc.html#ggada9e3861caf96f08894b0bcc160ec257a9786f8492a9be2c03bd26395e352ab85">VMA_DEFRAGMENTATION_MOVE_OPERATION_DESTROY</a> = 2
  }</td></tr>
 <tr class="memdesc:gada9e3861caf96f08894b0bcc160ec257"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operation performed on single defragmentation move. See structure <a class="el" href="struct_vma_defragmentation_move.html" title="Single move of an allocation to be done for defragmentation.">VmaDefragmentationMove</a>.  <a href="group__group__alloc.html#gada9e3861caf96f08894b0bcc160ec257">More...</a><br /></td></tr>
-<tr class="memitem:ga88bcf8c1cd3bb1610ff7343811c65bca" id="r_ga88bcf8c1cd3bb1610ff7343811c65bca"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga88bcf8c1cd3bb1610ff7343811c65bca">VmaVirtualBlockCreateFlagBits</a> { <a class="el" href="group__group__virtual.html#gga88bcf8c1cd3bb1610ff7343811c65bcaae6423e2fa2f3c9211b21c819e3f10f96">VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT</a> = 0x00000001
+<tr class="memitem:ga88bcf8c1cd3bb1610ff7343811c65bca" id="r_ga88bcf8c1cd3bb1610ff7343811c65bca"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga88bcf8c1cd3bb1610ff7343811c65bca">VmaVirtualBlockCreateFlagBits</a> { <a class="el" href="group__group__virtual.html#gga88bcf8c1cd3bb1610ff7343811c65bcaae6423e2fa2f3c9211b21c819e3f10f96">VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT</a> = 0x00000001
 , <a class="el" href="group__group__virtual.html#gga88bcf8c1cd3bb1610ff7343811c65bcaaf9487467136e1a9e371894dc3a7c4844">VMA_VIRTUAL_BLOCK_CREATE_ALGORITHM_MASK</a>
 , <a class="el" href="group__group__virtual.html#gga88bcf8c1cd3bb1610ff7343811c65bcaa5fc0d333c3d5687a8bbf57df9b377a87">VMA_VIRTUAL_BLOCK_CREATE_FLAG_BITS_MAX_ENUM</a> = 0x7FFFFFFF
  }</td></tr>
 <tr class="memdesc:ga88bcf8c1cd3bb1610ff7343811c65bca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags to be passed as <a class="el" href="struct_vma_virtual_block_create_info.html#aaab9bf7e2d228c02ab6d90a72a6e6912" title="Use combination of VmaVirtualBlockCreateFlagBits.">VmaVirtualBlockCreateInfo::flags</a>.  <a href="group__group__virtual.html#ga88bcf8c1cd3bb1610ff7343811c65bca">More...</a><br /></td></tr>
-<tr class="memitem:ga2e9c64d405b14156fea7e10c4ad06cb6" id="r_ga2e9c64d405b14156fea7e10c4ad06cb6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga2e9c64d405b14156fea7e10c4ad06cb6">VmaVirtualAllocationCreateFlagBits</a> { <br />
+<tr class="memitem:ga2e9c64d405b14156fea7e10c4ad06cb6" id="r_ga2e9c64d405b14156fea7e10c4ad06cb6"><td class="memItemLeft">enum &#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga2e9c64d405b14156fea7e10c4ad06cb6">VmaVirtualAllocationCreateFlagBits</a> { <br />
 &#160;&#160;<a class="el" href="group__group__virtual.html#gga2e9c64d405b14156fea7e10c4ad06cb6a9524a329a55b5ec390d57d90b67ad78e">VMA_VIRTUAL_ALLOCATION_CREATE_UPPER_ADDRESS_BIT</a> = VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT
 , <a class="el" href="group__group__virtual.html#gga2e9c64d405b14156fea7e10c4ad06cb6ae2a9591a62b5e3b1bdcbc81c6188a1bf">VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT</a> = VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT
 , <a class="el" href="group__group__virtual.html#gga2e9c64d405b14156fea7e10c4ad06cb6a562d10a46012719d33167d3dc5dbbf9b">VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT</a> = VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT
@@ -306,155 +306,155 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
 Functions</h2></td></tr>
-<tr class="memitem:gaf8d9ee01910a7af7f552145ef0065b9c" id="r_gaf8d9ee01910a7af7f552145ef0065b9c"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#gaf8d9ee01910a7af7f552145ef0065b9c">vmaImportVulkanFunctionsFromVolk</a> (const <a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a> *pAllocatorCreateInfo, <a class="el" href="struct_vma_vulkan_functions.html">VmaVulkanFunctions</a> *pDstVulkanFunctions)</td></tr>
+<tr class="memitem:gaf8d9ee01910a7af7f552145ef0065b9c" id="r_gaf8d9ee01910a7af7f552145ef0065b9c"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#gaf8d9ee01910a7af7f552145ef0065b9c">vmaImportVulkanFunctionsFromVolk</a> (const <a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a> *pAllocatorCreateInfo, <a class="el" href="struct_vma_vulkan_functions.html">VmaVulkanFunctions</a> *pDstVulkanFunctions)</td></tr>
 <tr class="memdesc:gaf8d9ee01910a7af7f552145ef0065b9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fully initializes <span class="tt">pDstVulkanFunctions</span> structure with Vulkan functions needed by VMA using <a href="https://github.com/zeux/volk">volk library</a>.  <br /></td></tr>
-<tr class="memitem:ga200692051ddb34240248234f5f4c17bb" id="r_ga200692051ddb34240248234f5f4c17bb"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#ga200692051ddb34240248234f5f4c17bb">vmaCreateAllocator</a> (const <a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocator.html">VmaAllocator</a> *pAllocator)</td></tr>
+<tr class="memitem:ga200692051ddb34240248234f5f4c17bb" id="r_ga200692051ddb34240248234f5f4c17bb"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#ga200692051ddb34240248234f5f4c17bb">vmaCreateAllocator</a> (const <a class="el" href="struct_vma_allocator_create_info.html">VmaAllocatorCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocator.html">VmaAllocator</a> *pAllocator)</td></tr>
 <tr class="memdesc:ga200692051ddb34240248234f5f4c17bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object.  <br /></td></tr>
-<tr class="memitem:gaa8d164061c88f22fb1fd3c8f3534bc1d" id="r_gaa8d164061c88f22fb1fd3c8f3534bc1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#gaa8d164061c88f22fb1fd3c8f3534bc1d">vmaDestroyAllocator</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator)</td></tr>
+<tr class="memitem:gaa8d164061c88f22fb1fd3c8f3534bc1d" id="r_gaa8d164061c88f22fb1fd3c8f3534bc1d"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#gaa8d164061c88f22fb1fd3c8f3534bc1d">vmaDestroyAllocator</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator)</td></tr>
 <tr class="memdesc:gaa8d164061c88f22fb1fd3c8f3534bc1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys allocator object.  <br /></td></tr>
-<tr class="memitem:gafa02231a791b37255720d566a52683e7" id="r_gafa02231a791b37255720d566a52683e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#gafa02231a791b37255720d566a52683e7">vmaGetAllocatorInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocator_info.html">VmaAllocatorInfo</a> *pAllocatorInfo)</td></tr>
+<tr class="memitem:gafa02231a791b37255720d566a52683e7" id="r_gafa02231a791b37255720d566a52683e7"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#gafa02231a791b37255720d566a52683e7">vmaGetAllocatorInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocator_info.html">VmaAllocatorInfo</a> *pAllocatorInfo)</td></tr>
 <tr class="memdesc:gafa02231a791b37255720d566a52683e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about existing <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object - handle to Vulkan device etc.  <br /></td></tr>
-<tr class="memitem:gaecabf7b6e91ea87d0316fa0a9e014fe0" id="r_gaecabf7b6e91ea87d0316fa0a9e014fe0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#gaecabf7b6e91ea87d0316fa0a9e014fe0">vmaGetPhysicalDeviceProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkPhysicalDeviceProperties **ppPhysicalDeviceProperties)</td></tr>
-<tr class="memitem:gab88db292a17974f911182543fda52d19" id="r_gab88db292a17974f911182543fda52d19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#gab88db292a17974f911182543fda52d19">vmaGetMemoryProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkPhysicalDeviceMemoryProperties **ppPhysicalDeviceMemoryProperties)</td></tr>
-<tr class="memitem:ga8701444752eb5de4464adb5a2b514bca" id="r_ga8701444752eb5de4464adb5a2b514bca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#ga8701444752eb5de4464adb5a2b514bca">vmaGetMemoryTypeProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeIndex, VkMemoryPropertyFlags *pFlags)</td></tr>
+<tr class="memitem:gaecabf7b6e91ea87d0316fa0a9e014fe0" id="r_gaecabf7b6e91ea87d0316fa0a9e014fe0"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#gaecabf7b6e91ea87d0316fa0a9e014fe0">vmaGetPhysicalDeviceProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkPhysicalDeviceProperties **ppPhysicalDeviceProperties)</td></tr>
+<tr class="memitem:gab88db292a17974f911182543fda52d19" id="r_gab88db292a17974f911182543fda52d19"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#gab88db292a17974f911182543fda52d19">vmaGetMemoryProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkPhysicalDeviceMemoryProperties **ppPhysicalDeviceMemoryProperties)</td></tr>
+<tr class="memitem:ga8701444752eb5de4464adb5a2b514bca" id="r_ga8701444752eb5de4464adb5a2b514bca"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#ga8701444752eb5de4464adb5a2b514bca">vmaGetMemoryTypeProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeIndex, VkMemoryPropertyFlags *pFlags)</td></tr>
 <tr class="memdesc:ga8701444752eb5de4464adb5a2b514bca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given Memory Type Index, returns Property Flags of this memory type.  <br /></td></tr>
-<tr class="memitem:gade56bf8dc9f5a5eaddf5f119ed525236" id="r_gade56bf8dc9f5a5eaddf5f119ed525236"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__init.html#gade56bf8dc9f5a5eaddf5f119ed525236">vmaSetCurrentFrameIndex</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t frameIndex)</td></tr>
+<tr class="memitem:gade56bf8dc9f5a5eaddf5f119ed525236" id="r_gade56bf8dc9f5a5eaddf5f119ed525236"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__init.html#gade56bf8dc9f5a5eaddf5f119ed525236">vmaSetCurrentFrameIndex</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t frameIndex)</td></tr>
 <tr class="memdesc:gade56bf8dc9f5a5eaddf5f119ed525236"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets index of the current frame.  <br /></td></tr>
-<tr class="memitem:ga36f3484de7aa6cd6edc4de9edfa0ff59" id="r_ga36f3484de7aa6cd6edc4de9edfa0ff59"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga36f3484de7aa6cd6edc4de9edfa0ff59">vmaCalculateStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a> *pStats)</td></tr>
+<tr class="memitem:ga36f3484de7aa6cd6edc4de9edfa0ff59" id="r_ga36f3484de7aa6cd6edc4de9edfa0ff59"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#ga36f3484de7aa6cd6edc4de9edfa0ff59">vmaCalculateStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a> *pStats)</td></tr>
 <tr class="memdesc:ga36f3484de7aa6cd6edc4de9edfa0ff59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves statistics from current state of the Allocator.  <br /></td></tr>
-<tr class="memitem:ga9f88db9d46a432c0ad7278cecbc5eaa7" id="r_ga9f88db9d46a432c0ad7278cecbc5eaa7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga9f88db9d46a432c0ad7278cecbc5eaa7">vmaGetHeapBudgets</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_budget.html">VmaBudget</a> *pBudgets)</td></tr>
+<tr class="memitem:ga9f88db9d46a432c0ad7278cecbc5eaa7" id="r_ga9f88db9d46a432c0ad7278cecbc5eaa7"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#ga9f88db9d46a432c0ad7278cecbc5eaa7">vmaGetHeapBudgets</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_budget.html">VmaBudget</a> *pBudgets)</td></tr>
 <tr class="memdesc:ga9f88db9d46a432c0ad7278cecbc5eaa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves information about current memory usage and budget for all memory heaps.  <br /></td></tr>
-<tr class="memitem:gaef15a94b58fbcb0fe706d5720e84a74a" id="r_gaef15a94b58fbcb0fe706d5720e84a74a"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gaef15a94b58fbcb0fe706d5720e84a74a">vmaFindMemoryTypeIndex</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeBits, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
+<tr class="memitem:gaef15a94b58fbcb0fe706d5720e84a74a" id="r_gaef15a94b58fbcb0fe706d5720e84a74a"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gaef15a94b58fbcb0fe706d5720e84a74a">vmaFindMemoryTypeIndex</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeBits, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
 <tr class="memdesc:gaef15a94b58fbcb0fe706d5720e84a74a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helps to find <span class="tt">memoryTypeIndex</span>, given <span class="tt">memoryTypeBits</span> and <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a>.  <br /></td></tr>
-<tr class="memitem:gae790ab9ffaf7667fb8f62523e6897888" id="r_gae790ab9ffaf7667fb8f62523e6897888"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gae790ab9ffaf7667fb8f62523e6897888">vmaFindMemoryTypeIndexForBufferInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
+<tr class="memitem:gae790ab9ffaf7667fb8f62523e6897888" id="r_gae790ab9ffaf7667fb8f62523e6897888"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gae790ab9ffaf7667fb8f62523e6897888">vmaFindMemoryTypeIndexForBufferInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
 <tr class="memdesc:gae790ab9ffaf7667fb8f62523e6897888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helps to find <span class="tt">memoryTypeIndex</span>, given <span class="tt">VkBufferCreateInfo</span> and <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a>.  <br /></td></tr>
-<tr class="memitem:ga088da83d8eaf3ce9056d9ea0b981d472" id="r_ga088da83d8eaf3ce9056d9ea0b981d472"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga088da83d8eaf3ce9056d9ea0b981d472">vmaFindMemoryTypeIndexForImageInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
+<tr class="memitem:ga088da83d8eaf3ce9056d9ea0b981d472" id="r_ga088da83d8eaf3ce9056d9ea0b981d472"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga088da83d8eaf3ce9056d9ea0b981d472">vmaFindMemoryTypeIndexForImageInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)</td></tr>
 <tr class="memdesc:ga088da83d8eaf3ce9056d9ea0b981d472"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helps to find <span class="tt">memoryTypeIndex</span>, given <span class="tt">VkImageCreateInfo</span> and <a class="el" href="struct_vma_allocation_create_info.html" title="Parameters of new VmaAllocation.">VmaAllocationCreateInfo</a>.  <br /></td></tr>
-<tr class="memitem:ga5c8770ded7c59c8caac6de0c2cb00b50" id="r_ga5c8770ded7c59c8caac6de0c2cb00b50"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga5c8770ded7c59c8caac6de0c2cb00b50">vmaCreatePool</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const <a class="el" href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_pool.html">VmaPool</a> *pPool)</td></tr>
+<tr class="memitem:ga5c8770ded7c59c8caac6de0c2cb00b50" id="r_ga5c8770ded7c59c8caac6de0c2cb00b50"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga5c8770ded7c59c8caac6de0c2cb00b50">vmaCreatePool</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const <a class="el" href="struct_vma_pool_create_info.html">VmaPoolCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_pool.html">VmaPool</a> *pPool)</td></tr>
 <tr class="memdesc:ga5c8770ded7c59c8caac6de0c2cb00b50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates Vulkan device memory and creates <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object.  <br /></td></tr>
-<tr class="memitem:ga5485779c8f1948238fc4e92232fa65e1" id="r_ga5485779c8f1948238fc4e92232fa65e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga5485779c8f1948238fc4e92232fa65e1">vmaDestroyPool</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool)</td></tr>
+<tr class="memitem:ga5485779c8f1948238fc4e92232fa65e1" id="r_ga5485779c8f1948238fc4e92232fa65e1"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga5485779c8f1948238fc4e92232fa65e1">vmaDestroyPool</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool)</td></tr>
 <tr class="memdesc:ga5485779c8f1948238fc4e92232fa65e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object and frees Vulkan device memory.  <br /></td></tr>
-<tr class="memitem:ga34d8e7d83774eed0caee5c5ae88e217d" id="r_ga34d8e7d83774eed0caee5c5ae88e217d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga34d8e7d83774eed0caee5c5ae88e217d">vmaGetPoolStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> *pPoolStats)</td></tr>
+<tr class="memitem:ga34d8e7d83774eed0caee5c5ae88e217d" id="r_ga34d8e7d83774eed0caee5c5ae88e217d"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#ga34d8e7d83774eed0caee5c5ae88e217d">vmaGetPoolStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> *pPoolStats)</td></tr>
 <tr class="memdesc:ga34d8e7d83774eed0caee5c5ae88e217d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves statistics of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object.  <br /></td></tr>
-<tr class="memitem:ga50ba0eb25d2b363b792be4645ca7a380" id="r_ga50ba0eb25d2b363b792be4645ca7a380"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga50ba0eb25d2b363b792be4645ca7a380">vmaCalculatePoolStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> *pPoolStats)</td></tr>
+<tr class="memitem:ga50ba0eb25d2b363b792be4645ca7a380" id="r_ga50ba0eb25d2b363b792be4645ca7a380"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#ga50ba0eb25d2b363b792be4645ca7a380">vmaCalculatePoolStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> *pPoolStats)</td></tr>
 <tr class="memdesc:ga50ba0eb25d2b363b792be4645ca7a380"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves detailed statistics of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object.  <br /></td></tr>
-<tr class="memitem:gad535935619c7a549bf837e1bb0068f89" id="r_gad535935619c7a549bf837e1bb0068f89"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gad535935619c7a549bf837e1bb0068f89">vmaCheckPoolCorruption</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool)</td></tr>
+<tr class="memitem:gad535935619c7a549bf837e1bb0068f89" id="r_gad535935619c7a549bf837e1bb0068f89"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gad535935619c7a549bf837e1bb0068f89">vmaCheckPoolCorruption</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool)</td></tr>
 <tr class="memdesc:gad535935619c7a549bf837e1bb0068f89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks magic number in margins around all allocations in given memory pool in search for corruptions.  <br /></td></tr>
-<tr class="memitem:gaf09b4e4eafdbee812e8d73ddf960f030" id="r_gaf09b4e4eafdbee812e8d73ddf960f030"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gaf09b4e4eafdbee812e8d73ddf960f030">vmaGetPoolName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, const char **ppName)</td></tr>
+<tr class="memitem:gaf09b4e4eafdbee812e8d73ddf960f030" id="r_gaf09b4e4eafdbee812e8d73ddf960f030"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gaf09b4e4eafdbee812e8d73ddf960f030">vmaGetPoolName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, const char **ppName)</td></tr>
 <tr class="memdesc:gaf09b4e4eafdbee812e8d73ddf960f030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves name of a custom pool.  <br /></td></tr>
-<tr class="memitem:gadbae3a0b4ab078024462fc85c37f3b58" id="r_gadbae3a0b4ab078024462fc85c37f3b58"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gadbae3a0b4ab078024462fc85c37f3b58">vmaSetPoolName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, const char *pName)</td></tr>
+<tr class="memitem:gadbae3a0b4ab078024462fc85c37f3b58" id="r_gadbae3a0b4ab078024462fc85c37f3b58"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gadbae3a0b4ab078024462fc85c37f3b58">vmaSetPoolName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, const char *pName)</td></tr>
 <tr class="memdesc:gadbae3a0b4ab078024462fc85c37f3b58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets name of a custom pool.  <br /></td></tr>
-<tr class="memitem:gabf28077dbf82d0908b8acbe8ee8dd9b8" id="r_gabf28077dbf82d0908b8acbe8ee8dd9b8"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gabf28077dbf82d0908b8acbe8ee8dd9b8">vmaAllocateMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:gabf28077dbf82d0908b8acbe8ee8dd9b8" id="r_gabf28077dbf82d0908b8acbe8ee8dd9b8"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gabf28077dbf82d0908b8acbe8ee8dd9b8">vmaAllocateMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:gabf28077dbf82d0908b8acbe8ee8dd9b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">General purpose memory allocation.  <br /></td></tr>
-<tr class="memitem:ga9a0b91c157adec03dae1e6ea78d33625" id="r_ga9a0b91c157adec03dae1e6ea78d33625"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga9a0b91c157adec03dae1e6ea78d33625">vmaAllocateDedicatedMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga9a0b91c157adec03dae1e6ea78d33625" id="r_ga9a0b91c157adec03dae1e6ea78d33625"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga9a0b91c157adec03dae1e6ea78d33625">vmaAllocateDedicatedMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga9a0b91c157adec03dae1e6ea78d33625"><td class="mdescLeft">&#160;</td><td class="mdescRight">General purpose allocation of a dedicated memory.  <br /></td></tr>
-<tr class="memitem:gad37e82e492b3de38fc3f4cffd9ad0ae1" id="r_gad37e82e492b3de38fc3f4cffd9ad0ae1"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gad37e82e492b3de38fc3f4cffd9ad0ae1">vmaAllocateMemoryPages</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, size_t allocationCount, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocations, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:gad37e82e492b3de38fc3f4cffd9ad0ae1" id="r_gad37e82e492b3de38fc3f4cffd9ad0ae1"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gad37e82e492b3de38fc3f4cffd9ad0ae1">vmaAllocateMemoryPages</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkMemoryRequirements *pVkMemoryRequirements, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, size_t allocationCount, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocations, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:gad37e82e492b3de38fc3f4cffd9ad0ae1"><td class="mdescLeft">&#160;</td><td class="mdescRight">General purpose memory allocation for multiple allocation objects at once.  <br /></td></tr>
-<tr class="memitem:ga7fdf64415b6c3d83c454f28d2c53df7b" id="r_ga7fdf64415b6c3d83c454f28d2c53df7b"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga7fdf64415b6c3d83c454f28d2c53df7b">vmaAllocateMemoryForBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkBuffer buffer, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga7fdf64415b6c3d83c454f28d2c53df7b" id="r_ga7fdf64415b6c3d83c454f28d2c53df7b"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga7fdf64415b6c3d83c454f28d2c53df7b">vmaAllocateMemoryForBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkBuffer buffer, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga7fdf64415b6c3d83c454f28d2c53df7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates memory suitable for given <span class="tt">VkBuffer</span>.  <br /></td></tr>
-<tr class="memitem:ga0faa3f9e5fb233d29d1e00390650febb" id="r_ga0faa3f9e5fb233d29d1e00390650febb"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga0faa3f9e5fb233d29d1e00390650febb">vmaAllocateMemoryForImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkImage image, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga0faa3f9e5fb233d29d1e00390650febb" id="r_ga0faa3f9e5fb233d29d1e00390650febb"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga0faa3f9e5fb233d29d1e00390650febb">vmaAllocateMemoryForImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkImage image, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga0faa3f9e5fb233d29d1e00390650febb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates memory suitable for given <span class="tt">VkImage</span>.  <br /></td></tr>
-<tr class="memitem:ga11f0fbc034fa81a4efedd73d61ce7568" id="r_ga11f0fbc034fa81a4efedd73d61ce7568"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga11f0fbc034fa81a4efedd73d61ce7568">vmaFreeMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
+<tr class="memitem:ga11f0fbc034fa81a4efedd73d61ce7568" id="r_ga11f0fbc034fa81a4efedd73d61ce7568"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga11f0fbc034fa81a4efedd73d61ce7568">vmaFreeMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
 <tr class="memdesc:ga11f0fbc034fa81a4efedd73d61ce7568"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees memory previously allocated using <a class="el" href="group__group__alloc.html#gabf28077dbf82d0908b8acbe8ee8dd9b8" title="General purpose memory allocation.">vmaAllocateMemory()</a>, <a class="el" href="group__group__alloc.html#ga7fdf64415b6c3d83c454f28d2c53df7b" title="Allocates memory suitable for given VkBuffer.">vmaAllocateMemoryForBuffer()</a>, or <a class="el" href="group__group__alloc.html#ga0faa3f9e5fb233d29d1e00390650febb" title="Allocates memory suitable for given VkImage.">vmaAllocateMemoryForImage()</a>.  <br /></td></tr>
-<tr class="memitem:ga834b1e4aef395c0a1d56a28e69a4a17e" id="r_ga834b1e4aef395c0a1d56a28e69a4a17e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga834b1e4aef395c0a1d56a28e69a4a17e">vmaFreeMemoryPages</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, size_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocations)</td></tr>
+<tr class="memitem:ga834b1e4aef395c0a1d56a28e69a4a17e" id="r_ga834b1e4aef395c0a1d56a28e69a4a17e"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga834b1e4aef395c0a1d56a28e69a4a17e">vmaFreeMemoryPages</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, size_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocations)</td></tr>
 <tr class="memdesc:ga834b1e4aef395c0a1d56a28e69a4a17e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees memory and destroys multiple allocations.  <br /></td></tr>
-<tr class="memitem:ga86dd08aba8633bfa4ad0df2e76481d8b" id="r_ga86dd08aba8633bfa4ad0df2e76481d8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga86dd08aba8633bfa4ad0df2e76481d8b">vmaGetAllocationInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga86dd08aba8633bfa4ad0df2e76481d8b" id="r_ga86dd08aba8633bfa4ad0df2e76481d8b"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga86dd08aba8633bfa4ad0df2e76481d8b">vmaGetAllocationInfo</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga86dd08aba8633bfa4ad0df2e76481d8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current information about specified allocation.  <br /></td></tr>
-<tr class="memitem:ga1405cf3eae2fd1305d645879173031a0" id="r_ga1405cf3eae2fd1305d645879173031a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga1405cf3eae2fd1305d645879173031a0">vmaGetAllocationInfo2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, <a class="el" href="struct_vma_allocation_info2.html">VmaAllocationInfo2</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga1405cf3eae2fd1305d645879173031a0" id="r_ga1405cf3eae2fd1305d645879173031a0"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga1405cf3eae2fd1305d645879173031a0">vmaGetAllocationInfo2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, <a class="el" href="struct_vma_allocation_info2.html">VmaAllocationInfo2</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga1405cf3eae2fd1305d645879173031a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns extended information about specified allocation.  <br /></td></tr>
-<tr class="memitem:gaf9147d31ffc11d62fc187bde283ed14f" id="r_gaf9147d31ffc11d62fc187bde283ed14f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gaf9147d31ffc11d62fc187bde283ed14f">vmaSetAllocationUserData</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, void *pUserData)</td></tr>
+<tr class="memitem:gaf9147d31ffc11d62fc187bde283ed14f" id="r_gaf9147d31ffc11d62fc187bde283ed14f"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gaf9147d31ffc11d62fc187bde283ed14f">vmaSetAllocationUserData</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, void *pUserData)</td></tr>
 <tr class="memdesc:gaf9147d31ffc11d62fc187bde283ed14f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets pUserData in given allocation to new value.  <br /></td></tr>
-<tr class="memitem:gabe02cbb0cd913b3f125958179f2020fc" id="r_gabe02cbb0cd913b3f125958179f2020fc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gabe02cbb0cd913b3f125958179f2020fc">vmaSetAllocationName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const char *pName)</td></tr>
+<tr class="memitem:gabe02cbb0cd913b3f125958179f2020fc" id="r_gabe02cbb0cd913b3f125958179f2020fc"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gabe02cbb0cd913b3f125958179f2020fc">vmaSetAllocationName</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const char *pName)</td></tr>
 <tr class="memdesc:gabe02cbb0cd913b3f125958179f2020fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets pName in given allocation to new value.  <br /></td></tr>
-<tr class="memitem:ga571e87dd38e552249b56b1b0b982fad1" id="r_ga571e87dd38e552249b56b1b0b982fad1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga571e87dd38e552249b56b1b0b982fad1">vmaGetAllocationMemoryProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkMemoryPropertyFlags *pFlags)</td></tr>
+<tr class="memitem:ga571e87dd38e552249b56b1b0b982fad1" id="r_ga571e87dd38e552249b56b1b0b982fad1"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga571e87dd38e552249b56b1b0b982fad1">vmaGetAllocationMemoryProperties</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkMemoryPropertyFlags *pFlags)</td></tr>
 <tr class="memdesc:ga571e87dd38e552249b56b1b0b982fad1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given an allocation, returns Property Flags of its memory type.  <br /></td></tr>
-<tr class="memitem:ga8d327b7458d8cf426b84b5efba9bb9bf" id="r_ga8d327b7458d8cf426b84b5efba9bb9bf"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga8d327b7458d8cf426b84b5efba9bb9bf">vmaGetMemoryWin32Handle</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, HANDLE hTargetProcess, HANDLE *pHandle)</td></tr>
+<tr class="memitem:ga8d327b7458d8cf426b84b5efba9bb9bf" id="r_ga8d327b7458d8cf426b84b5efba9bb9bf"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga8d327b7458d8cf426b84b5efba9bb9bf">vmaGetMemoryWin32Handle</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, HANDLE hTargetProcess, HANDLE *pHandle)</td></tr>
 <tr class="memdesc:ga8d327b7458d8cf426b84b5efba9bb9bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given an allocation, returns Win32 handle that may be imported by other processes or APIs.  <br /></td></tr>
-<tr class="memitem:ga1a8d7aba3bf5a4de66c801b9988afa58" id="r_ga1a8d7aba3bf5a4de66c801b9988afa58"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga1a8d7aba3bf5a4de66c801b9988afa58">vmaGetMemoryWin32Handle2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE hTargetProcess, HANDLE *pHandle)</td></tr>
+<tr class="memitem:ga1a8d7aba3bf5a4de66c801b9988afa58" id="r_ga1a8d7aba3bf5a4de66c801b9988afa58"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga1a8d7aba3bf5a4de66c801b9988afa58">vmaGetMemoryWin32Handle2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE hTargetProcess, HANDLE *pHandle)</td></tr>
 <tr class="memdesc:ga1a8d7aba3bf5a4de66c801b9988afa58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given an allocation, returns Win32 handle that may be imported by other processes or APIs.  <br /></td></tr>
-<tr class="memitem:gad5bd1243512d099706de88168992f069" id="r_gad5bd1243512d099706de88168992f069"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gad5bd1243512d099706de88168992f069">vmaMapMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, void **ppData)</td></tr>
+<tr class="memitem:gad5bd1243512d099706de88168992f069" id="r_gad5bd1243512d099706de88168992f069"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gad5bd1243512d099706de88168992f069">vmaMapMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, void **ppData)</td></tr>
 <tr class="memdesc:gad5bd1243512d099706de88168992f069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps memory represented by given allocation and returns pointer to it.  <br /></td></tr>
-<tr class="memitem:ga9bc268595cb33f6ec4d519cfce81ff45" id="r_ga9bc268595cb33f6ec4d519cfce81ff45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga9bc268595cb33f6ec4d519cfce81ff45">vmaUnmapMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
+<tr class="memitem:ga9bc268595cb33f6ec4d519cfce81ff45" id="r_ga9bc268595cb33f6ec4d519cfce81ff45"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga9bc268595cb33f6ec4d519cfce81ff45">vmaUnmapMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
 <tr class="memdesc:ga9bc268595cb33f6ec4d519cfce81ff45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmaps memory represented by given allocation, mapped previously using <a class="el" href="group__group__alloc.html#gad5bd1243512d099706de88168992f069" title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a>.  <br /></td></tr>
-<tr class="memitem:ga30c37c1eec6025f397be41644f48490f" id="r_ga30c37c1eec6025f397be41644f48490f"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga30c37c1eec6025f397be41644f48490f">vmaFlushAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize offset, VkDeviceSize size)</td></tr>
+<tr class="memitem:ga30c37c1eec6025f397be41644f48490f" id="r_ga30c37c1eec6025f397be41644f48490f"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga30c37c1eec6025f397be41644f48490f">vmaFlushAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize offset, VkDeviceSize size)</td></tr>
 <tr class="memdesc:ga30c37c1eec6025f397be41644f48490f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes memory of given allocation.  <br /></td></tr>
-<tr class="memitem:gaaa8412919139ef413a4215ac6a290fae" id="r_gaaa8412919139ef413a4215ac6a290fae"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gaaa8412919139ef413a4215ac6a290fae">vmaInvalidateAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize offset, VkDeviceSize size)</td></tr>
+<tr class="memitem:gaaa8412919139ef413a4215ac6a290fae" id="r_gaaa8412919139ef413a4215ac6a290fae"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gaaa8412919139ef413a4215ac6a290fae">vmaInvalidateAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize offset, VkDeviceSize size)</td></tr>
 <tr class="memdesc:gaaa8412919139ef413a4215ac6a290fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates memory of given allocation.  <br /></td></tr>
-<tr class="memitem:gac3dd00da721875ed99fa8a881922bdfc" id="r_gac3dd00da721875ed99fa8a881922bdfc"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gac3dd00da721875ed99fa8a881922bdfc">vmaFlushAllocations</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)</td></tr>
+<tr class="memitem:gac3dd00da721875ed99fa8a881922bdfc" id="r_gac3dd00da721875ed99fa8a881922bdfc"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gac3dd00da721875ed99fa8a881922bdfc">vmaFlushAllocations</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)</td></tr>
 <tr class="memdesc:gac3dd00da721875ed99fa8a881922bdfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes memory of given set of allocations.  <br /></td></tr>
-<tr class="memitem:gab25b558d75f7378ec944a1522fdcc3c5" id="r_gab25b558d75f7378ec944a1522fdcc3c5"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gab25b558d75f7378ec944a1522fdcc3c5">vmaInvalidateAllocations</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)</td></tr>
+<tr class="memitem:gab25b558d75f7378ec944a1522fdcc3c5" id="r_gab25b558d75f7378ec944a1522fdcc3c5"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gab25b558d75f7378ec944a1522fdcc3c5">vmaInvalidateAllocations</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t allocationCount, const <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)</td></tr>
 <tr class="memdesc:gab25b558d75f7378ec944a1522fdcc3c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates memory of given set of allocations.  <br /></td></tr>
-<tr class="memitem:ga11731ec58a3a43a22bb925e0780ef405" id="r_ga11731ec58a3a43a22bb925e0780ef405"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga11731ec58a3a43a22bb925e0780ef405">vmaCopyMemoryToAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const void *pSrcHostPointer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> dstAllocation, VkDeviceSize dstAllocationLocalOffset, VkDeviceSize size)</td></tr>
+<tr class="memitem:ga11731ec58a3a43a22bb925e0780ef405" id="r_ga11731ec58a3a43a22bb925e0780ef405"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga11731ec58a3a43a22bb925e0780ef405">vmaCopyMemoryToAllocation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const void *pSrcHostPointer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> dstAllocation, VkDeviceSize dstAllocationLocalOffset, VkDeviceSize size)</td></tr>
 <tr class="memdesc:ga11731ec58a3a43a22bb925e0780ef405"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps the allocation temporarily if needed, copies data from specified host pointer to it, and flushes the memory from the host caches if needed.  <br /></td></tr>
-<tr class="memitem:gaac883dd38863944335071213b9ae8477" id="r_gaac883dd38863944335071213b9ae8477"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gaac883dd38863944335071213b9ae8477">vmaCopyAllocationToMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> srcAllocation, VkDeviceSize srcAllocationLocalOffset, void *pDstHostPointer, VkDeviceSize size)</td></tr>
+<tr class="memitem:gaac883dd38863944335071213b9ae8477" id="r_gaac883dd38863944335071213b9ae8477"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gaac883dd38863944335071213b9ae8477">vmaCopyAllocationToMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> srcAllocation, VkDeviceSize srcAllocationLocalOffset, void *pDstHostPointer, VkDeviceSize size)</td></tr>
 <tr class="memdesc:gaac883dd38863944335071213b9ae8477"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates memory in the host caches if needed, maps the allocation temporarily if needed, and copies data from it to a specified host pointer.  <br /></td></tr>
-<tr class="memitem:ga49329a7f030dafcf82f7b73334c22e98" id="r_ga49329a7f030dafcf82f7b73334c22e98"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga49329a7f030dafcf82f7b73334c22e98">vmaCheckCorruption</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeBits)</td></tr>
+<tr class="memitem:ga49329a7f030dafcf82f7b73334c22e98" id="r_ga49329a7f030dafcf82f7b73334c22e98"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga49329a7f030dafcf82f7b73334c22e98">vmaCheckCorruption</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, uint32_t memoryTypeBits)</td></tr>
 <tr class="memdesc:ga49329a7f030dafcf82f7b73334c22e98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks magic number in margins around all allocations in given memory types (in both default and custom pools) in search for corruptions.  <br /></td></tr>
-<tr class="memitem:gac3335566858b45541fa9c0d7a6bbb57e" id="r_gac3335566858b45541fa9c0d7a6bbb57e"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gac3335566858b45541fa9c0d7a6bbb57e">vmaBeginDefragmentation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const <a class="el" href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a> *pInfo, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> *pContext)</td></tr>
+<tr class="memitem:gac3335566858b45541fa9c0d7a6bbb57e" id="r_gac3335566858b45541fa9c0d7a6bbb57e"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gac3335566858b45541fa9c0d7a6bbb57e">vmaBeginDefragmentation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const <a class="el" href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a> *pInfo, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> *pContext)</td></tr>
 <tr class="memdesc:gac3335566858b45541fa9c0d7a6bbb57e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begins defragmentation process.  <br /></td></tr>
-<tr class="memitem:ga59f01ca3d53d50b7cca9b442b77a3e87" id="r_ga59f01ca3d53d50b7cca9b442b77a3e87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga59f01ca3d53d50b7cca9b442b77a3e87">vmaEndDefragmentation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_stats.html">VmaDefragmentationStats</a> *pStats)</td></tr>
+<tr class="memitem:ga59f01ca3d53d50b7cca9b442b77a3e87" id="r_ga59f01ca3d53d50b7cca9b442b77a3e87"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga59f01ca3d53d50b7cca9b442b77a3e87">vmaEndDefragmentation</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_stats.html">VmaDefragmentationStats</a> *pStats)</td></tr>
 <tr class="memdesc:ga59f01ca3d53d50b7cca9b442b77a3e87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ends defragmentation process.  <br /></td></tr>
-<tr class="memitem:ga980d7da2ce3b1fd5c8b8476bc362cc00" id="r_ga980d7da2ce3b1fd5c8b8476bc362cc00"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga980d7da2ce3b1fd5c8b8476bc362cc00">vmaBeginDefragmentationPass</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a> *pPassInfo)</td></tr>
+<tr class="memitem:ga980d7da2ce3b1fd5c8b8476bc362cc00" id="r_ga980d7da2ce3b1fd5c8b8476bc362cc00"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga980d7da2ce3b1fd5c8b8476bc362cc00">vmaBeginDefragmentationPass</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a> *pPassInfo)</td></tr>
 <tr class="memdesc:ga980d7da2ce3b1fd5c8b8476bc362cc00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts single defragmentation pass.  <br /></td></tr>
-<tr class="memitem:gaded05a445742a00718ee766144c5c226" id="r_gaded05a445742a00718ee766144c5c226"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gaded05a445742a00718ee766144c5c226">vmaEndDefragmentationPass</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a> *pPassInfo)</td></tr>
+<tr class="memitem:gaded05a445742a00718ee766144c5c226" id="r_gaded05a445742a00718ee766144c5c226"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gaded05a445742a00718ee766144c5c226">vmaEndDefragmentationPass</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_defragmentation_context.html">VmaDefragmentationContext</a> context, <a class="el" href="struct_vma_defragmentation_pass_move_info.html">VmaDefragmentationPassMoveInfo</a> *pPassInfo)</td></tr>
 <tr class="memdesc:gaded05a445742a00718ee766144c5c226"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ends single defragmentation pass.  <br /></td></tr>
-<tr class="memitem:ga6b0929b914b60cf2d45cac4bf3547470" id="r_ga6b0929b914b60cf2d45cac4bf3547470"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga6b0929b914b60cf2d45cac4bf3547470">vmaBindBufferMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkBuffer buffer)</td></tr>
+<tr class="memitem:ga6b0929b914b60cf2d45cac4bf3547470" id="r_ga6b0929b914b60cf2d45cac4bf3547470"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga6b0929b914b60cf2d45cac4bf3547470">vmaBindBufferMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkBuffer buffer)</td></tr>
 <tr class="memdesc:ga6b0929b914b60cf2d45cac4bf3547470"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds buffer to allocation.  <br /></td></tr>
-<tr class="memitem:ga861f4f27189a7d11ab9d9eedc825cb6b" id="r_ga861f4f27189a7d11ab9d9eedc825cb6b"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga861f4f27189a7d11ab9d9eedc825cb6b">vmaBindBufferMemory2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, VkBuffer buffer, const void *(VkBindBufferMemoryInfoKHR) pNext)</td></tr>
+<tr class="memitem:ga861f4f27189a7d11ab9d9eedc825cb6b" id="r_ga861f4f27189a7d11ab9d9eedc825cb6b"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga861f4f27189a7d11ab9d9eedc825cb6b">vmaBindBufferMemory2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, VkBuffer buffer, const void *(VkBindBufferMemoryInfoKHR) pNext)</td></tr>
 <tr class="memdesc:ga861f4f27189a7d11ab9d9eedc825cb6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds buffer to allocation with additional parameters.  <br /></td></tr>
-<tr class="memitem:ga3d3ca45799923aa5d138e9e5f9eb2da5" id="r_ga3d3ca45799923aa5d138e9e5f9eb2da5"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga3d3ca45799923aa5d138e9e5f9eb2da5">vmaBindImageMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkImage image)</td></tr>
+<tr class="memitem:ga3d3ca45799923aa5d138e9e5f9eb2da5" id="r_ga3d3ca45799923aa5d138e9e5f9eb2da5"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga3d3ca45799923aa5d138e9e5f9eb2da5">vmaBindImageMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkImage image)</td></tr>
 <tr class="memdesc:ga3d3ca45799923aa5d138e9e5f9eb2da5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds image to allocation.  <br /></td></tr>
-<tr class="memitem:ga5f3502dd7d38b53fb1533ea3921d038d" id="r_ga5f3502dd7d38b53fb1533ea3921d038d"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga5f3502dd7d38b53fb1533ea3921d038d">vmaBindImageMemory2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, VkImage image, const void *(VkBindImageMemoryInfoKHR) pNext)</td></tr>
+<tr class="memitem:ga5f3502dd7d38b53fb1533ea3921d038d" id="r_ga5f3502dd7d38b53fb1533ea3921d038d"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga5f3502dd7d38b53fb1533ea3921d038d">vmaBindImageMemory2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, VkImage image, const void *(VkBindImageMemoryInfoKHR) pNext)</td></tr>
 <tr class="memdesc:ga5f3502dd7d38b53fb1533ea3921d038d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds image to allocation with additional parameters.  <br /></td></tr>
-<tr class="memitem:gac72ee55598617e8eecca384e746bab51" id="r_gac72ee55598617e8eecca384e746bab51"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51">vmaCreateBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:gac72ee55598617e8eecca384e746bab51" id="r_gac72ee55598617e8eecca384e746bab51"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51">vmaCreateBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:gac72ee55598617e8eecca384e746bab51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <span class="tt">VkBuffer</span>, allocates and binds memory for it.  <br /></td></tr>
-<tr class="memitem:gaa06a690013a0d01e60894ac378083834" id="r_gaa06a690013a0d01e60894ac378083834"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gaa06a690013a0d01e60894ac378083834">vmaCreateBufferWithAlignment</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkDeviceSize minAlignment, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:gaa06a690013a0d01e60894ac378083834" id="r_gaa06a690013a0d01e60894ac378083834"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gaa06a690013a0d01e60894ac378083834">vmaCreateBufferWithAlignment</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkDeviceSize minAlignment, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:gaa06a690013a0d01e60894ac378083834"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a buffer with additional minimum alignment.  <br /></td></tr>
-<tr class="memitem:gab313b89299877ca21c196027bed9e874" id="r_gab313b89299877ca21c196027bed9e874"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gab313b89299877ca21c196027bed9e874">vmaCreateDedicatedBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:gab313b89299877ca21c196027bed9e874" id="r_gab313b89299877ca21c196027bed9e874"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gab313b89299877ca21c196027bed9e874">vmaCreateDedicatedBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:gab313b89299877ca21c196027bed9e874"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a dedicated buffer while offering extra parameter <span class="tt">pMemoryAllocateNext</span>.  <br /></td></tr>
-<tr class="memitem:ga60d5d4803e3c82505a2bfddb929adb03" id="r_ga60d5d4803e3c82505a2bfddb929adb03"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga60d5d4803e3c82505a2bfddb929adb03">vmaCreateAliasingBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const VkBufferCreateInfo *pBufferCreateInfo, VkBuffer *pBuffer)</td></tr>
+<tr class="memitem:ga60d5d4803e3c82505a2bfddb929adb03" id="r_ga60d5d4803e3c82505a2bfddb929adb03"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga60d5d4803e3c82505a2bfddb929adb03">vmaCreateAliasingBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const VkBufferCreateInfo *pBufferCreateInfo, VkBuffer *pBuffer)</td></tr>
 <tr class="memdesc:ga60d5d4803e3c82505a2bfddb929adb03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <span class="tt">VkBuffer</span>, binds already created memory for it.  <br /></td></tr>
-<tr class="memitem:gaf0cf014344213e117bd9f9cf5f928122" id="r_gaf0cf014344213e117bd9f9cf5f928122"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gaf0cf014344213e117bd9f9cf5f928122">vmaCreateAliasingBuffer2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, const VkBufferCreateInfo *pBufferCreateInfo, VkBuffer *pBuffer)</td></tr>
+<tr class="memitem:gaf0cf014344213e117bd9f9cf5f928122" id="r_gaf0cf014344213e117bd9f9cf5f928122"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gaf0cf014344213e117bd9f9cf5f928122">vmaCreateAliasingBuffer2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, const VkBufferCreateInfo *pBufferCreateInfo, VkBuffer *pBuffer)</td></tr>
 <tr class="memdesc:gaf0cf014344213e117bd9f9cf5f928122"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <span class="tt">VkBuffer</span>, binds already created memory for it.  <br /></td></tr>
-<tr class="memitem:ga0d9f4e4ba5bf9aab1f1c746387753d77" id="r_ga0d9f4e4ba5bf9aab1f1c746387753d77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga0d9f4e4ba5bf9aab1f1c746387753d77">vmaDestroyBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkBuffer buffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
+<tr class="memitem:ga0d9f4e4ba5bf9aab1f1c746387753d77" id="r_ga0d9f4e4ba5bf9aab1f1c746387753d77"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga0d9f4e4ba5bf9aab1f1c746387753d77">vmaDestroyBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkBuffer buffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
 <tr class="memdesc:ga0d9f4e4ba5bf9aab1f1c746387753d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys Vulkan buffer and frees allocated memory.  <br /></td></tr>
-<tr class="memitem:ga02a94f25679275851a53e82eacbcfc73" id="r_ga02a94f25679275851a53e82eacbcfc73"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga02a94f25679275851a53e82eacbcfc73">vmaCreateImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkImage *pImage, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga02a94f25679275851a53e82eacbcfc73" id="r_ga02a94f25679275851a53e82eacbcfc73"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga02a94f25679275851a53e82eacbcfc73">vmaCreateImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkImage *pImage, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga02a94f25679275851a53e82eacbcfc73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function similar to <a class="el" href="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51" title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a> but for images.  <br /></td></tr>
-<tr class="memitem:ga07c66ffa000906a599d471047a7c0324" id="r_ga07c66ffa000906a599d471047a7c0324"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga07c66ffa000906a599d471047a7c0324">vmaCreateDedicatedImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, VkImage *pImage, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
+<tr class="memitem:ga07c66ffa000906a599d471047a7c0324" id="r_ga07c66ffa000906a599d471047a7c0324"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga07c66ffa000906a599d471047a7c0324">vmaCreateDedicatedImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkImageCreateInfo *pImageCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, void *(VkMemoryAllocateInfo) pMemoryAllocateNext, VkImage *pImage, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
 <tr class="memdesc:ga07c66ffa000906a599d471047a7c0324"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function similar to <a class="el" href="group__group__alloc.html#gab313b89299877ca21c196027bed9e874" title="Creates a dedicated buffer while offering extra parameter pMemoryAllocateNext.">vmaCreateDedicatedBuffer()</a> but for images.  <br /></td></tr>
-<tr class="memitem:gaebc4db1f94b53dba2338b4c0fd80d0dc" id="r_gaebc4db1f94b53dba2338b4c0fd80d0dc"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gaebc4db1f94b53dba2338b4c0fd80d0dc">vmaCreateAliasingImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const VkImageCreateInfo *pImageCreateInfo, VkImage *pImage)</td></tr>
+<tr class="memitem:gaebc4db1f94b53dba2338b4c0fd80d0dc" id="r_gaebc4db1f94b53dba2338b4c0fd80d0dc"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gaebc4db1f94b53dba2338b4c0fd80d0dc">vmaCreateAliasingImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, const VkImageCreateInfo *pImageCreateInfo, VkImage *pImage)</td></tr>
 <tr class="memdesc:gaebc4db1f94b53dba2338b4c0fd80d0dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function similar to <a class="el" href="group__group__alloc.html#ga60d5d4803e3c82505a2bfddb929adb03" title="Creates a new VkBuffer, binds already created memory for it.">vmaCreateAliasingBuffer()</a> but for images.  <br /></td></tr>
-<tr class="memitem:ga69ac829f5bb0737449fa92c2d971f1bb" id="r_ga69ac829f5bb0737449fa92c2d971f1bb"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#ga69ac829f5bb0737449fa92c2d971f1bb">vmaCreateAliasingImage2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, const VkImageCreateInfo *pImageCreateInfo, VkImage *pImage)</td></tr>
+<tr class="memitem:ga69ac829f5bb0737449fa92c2d971f1bb" id="r_ga69ac829f5bb0737449fa92c2d971f1bb"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#ga69ac829f5bb0737449fa92c2d971f1bb">vmaCreateAliasingImage2</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkDeviceSize allocationLocalOffset, const VkImageCreateInfo *pImageCreateInfo, VkImage *pImage)</td></tr>
 <tr class="memdesc:ga69ac829f5bb0737449fa92c2d971f1bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function similar to <a class="el" href="group__group__alloc.html#gaf0cf014344213e117bd9f9cf5f928122" title="Creates a new VkBuffer, binds already created memory for it.">vmaCreateAliasingBuffer2()</a> but for images.  <br /></td></tr>
-<tr class="memitem:gae50d2cb3b4a3bfd4dd40987234e50e7e" id="r_gae50d2cb3b4a3bfd4dd40987234e50e7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__alloc.html#gae50d2cb3b4a3bfd4dd40987234e50e7e">vmaDestroyImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkImage image, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
+<tr class="memitem:gae50d2cb3b4a3bfd4dd40987234e50e7e" id="r_gae50d2cb3b4a3bfd4dd40987234e50e7e"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__alloc.html#gae50d2cb3b4a3bfd4dd40987234e50e7e">vmaDestroyImage</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkImage image, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
 <tr class="memdesc:gae50d2cb3b4a3bfd4dd40987234e50e7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys Vulkan image and frees allocated memory.  <br /></td></tr>
-<tr class="memitem:gab585754076877265fdae33e5c40ef13b" id="r_gab585754076877265fdae33e5c40ef13b"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#gab585754076877265fdae33e5c40ef13b">vmaCreateVirtualBlock</a> (const <a class="el" href="struct_vma_virtual_block_create_info.html">VmaVirtualBlockCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> *pVirtualBlock)</td></tr>
+<tr class="memitem:gab585754076877265fdae33e5c40ef13b" id="r_gab585754076877265fdae33e5c40ef13b"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#gab585754076877265fdae33e5c40ef13b">vmaCreateVirtualBlock</a> (const <a class="el" href="struct_vma_virtual_block_create_info.html">VmaVirtualBlockCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> *pVirtualBlock)</td></tr>
 <tr class="memdesc:gab585754076877265fdae33e5c40ef13b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates new <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a> object.  <br /></td></tr>
-<tr class="memitem:ga3795f7783ae2c182cede067d656f66a5" id="r_ga3795f7783ae2c182cede067d656f66a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga3795f7783ae2c182cede067d656f66a5">vmaDestroyVirtualBlock</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
+<tr class="memitem:ga3795f7783ae2c182cede067d656f66a5" id="r_ga3795f7783ae2c182cede067d656f66a5"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga3795f7783ae2c182cede067d656f66a5">vmaDestroyVirtualBlock</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
 <tr class="memdesc:ga3795f7783ae2c182cede067d656f66a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a> object.  <br /></td></tr>
-<tr class="memitem:gacd53b5b1d23f8fcbad692ccfdc1811f1" id="r_gacd53b5b1d23f8fcbad692ccfdc1811f1"><td class="memItemLeft" align="right" valign="top">VkBool32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#gacd53b5b1d23f8fcbad692ccfdc1811f1">vmaIsVirtualBlockEmpty</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
+<tr class="memitem:gacd53b5b1d23f8fcbad692ccfdc1811f1" id="r_gacd53b5b1d23f8fcbad692ccfdc1811f1"><td class="memItemLeft">VkBool32&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#gacd53b5b1d23f8fcbad692ccfdc1811f1">vmaIsVirtualBlockEmpty</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
 <tr class="memdesc:gacd53b5b1d23f8fcbad692ccfdc1811f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true of the <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a> is empty - contains 0 virtual allocations and has all its space available for new allocations.  <br /></td></tr>
-<tr class="memitem:ga8ee14ceb1fe033ec84d8aa29e1f75afa" id="r_ga8ee14ceb1fe033ec84d8aa29e1f75afa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga8ee14ceb1fe033ec84d8aa29e1f75afa">vmaGetVirtualAllocationInfo</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation, <a class="el" href="struct_vma_virtual_allocation_info.html">VmaVirtualAllocationInfo</a> *pVirtualAllocInfo)</td></tr>
+<tr class="memitem:ga8ee14ceb1fe033ec84d8aa29e1f75afa" id="r_ga8ee14ceb1fe033ec84d8aa29e1f75afa"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga8ee14ceb1fe033ec84d8aa29e1f75afa">vmaGetVirtualAllocationInfo</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation, <a class="el" href="struct_vma_virtual_allocation_info.html">VmaVirtualAllocationInfo</a> *pVirtualAllocInfo)</td></tr>
 <tr class="memdesc:ga8ee14ceb1fe033ec84d8aa29e1f75afa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about a specific virtual allocation within a virtual block, like its size and <span class="tt">pUserData</span> pointer.  <br /></td></tr>
-<tr class="memitem:ga6b7cdcc1c3e5103c323fedc4e1319e01" id="r_ga6b7cdcc1c3e5103c323fedc4e1319e01"><td class="memItemLeft" align="right" valign="top">VkResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga6b7cdcc1c3e5103c323fedc4e1319e01">vmaVirtualAllocate</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, const <a class="el" href="struct_vma_virtual_allocation_create_info.html">VmaVirtualAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> *pAllocation, VkDeviceSize *pOffset)</td></tr>
+<tr class="memitem:ga6b7cdcc1c3e5103c323fedc4e1319e01" id="r_ga6b7cdcc1c3e5103c323fedc4e1319e01"><td class="memItemLeft">VkResult&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga6b7cdcc1c3e5103c323fedc4e1319e01">vmaVirtualAllocate</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, const <a class="el" href="struct_vma_virtual_allocation_create_info.html">VmaVirtualAllocationCreateInfo</a> *pCreateInfo, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> *pAllocation, VkDeviceSize *pOffset)</td></tr>
 <tr class="memdesc:ga6b7cdcc1c3e5103c323fedc4e1319e01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates new virtual allocation inside given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga09fc688c0c3653ff23723b037e5d5033" id="r_ga09fc688c0c3653ff23723b037e5d5033"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga09fc688c0c3653ff23723b037e5d5033">vmaVirtualFree</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation)</td></tr>
+<tr class="memitem:ga09fc688c0c3653ff23723b037e5d5033" id="r_ga09fc688c0c3653ff23723b037e5d5033"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga09fc688c0c3653ff23723b037e5d5033">vmaVirtualFree</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation)</td></tr>
 <tr class="memdesc:ga09fc688c0c3653ff23723b037e5d5033"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees virtual allocation inside given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga5eda6f55919fb05bd2f56a112590c571" id="r_ga5eda6f55919fb05bd2f56a112590c571"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga5eda6f55919fb05bd2f56a112590c571">vmaClearVirtualBlock</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
+<tr class="memitem:ga5eda6f55919fb05bd2f56a112590c571" id="r_ga5eda6f55919fb05bd2f56a112590c571"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga5eda6f55919fb05bd2f56a112590c571">vmaClearVirtualBlock</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock)</td></tr>
 <tr class="memdesc:ga5eda6f55919fb05bd2f56a112590c571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees all virtual allocations inside given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga001ea1850458a4062b829e09c303fca2" id="r_ga001ea1850458a4062b829e09c303fca2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga001ea1850458a4062b829e09c303fca2">vmaSetVirtualAllocationUserData</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation, void *pUserData)</td></tr>
+<tr class="memitem:ga001ea1850458a4062b829e09c303fca2" id="r_ga001ea1850458a4062b829e09c303fca2"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga001ea1850458a4062b829e09c303fca2">vmaSetVirtualAllocationUserData</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_virtual_allocation.html">VmaVirtualAllocation</a> allocation, void *pUserData)</td></tr>
 <tr class="memdesc:ga001ea1850458a4062b829e09c303fca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes custom pointer associated with given virtual allocation.  <br /></td></tr>
-<tr class="memitem:ga2902aa3130866afcc64bb5f984113db3" id="r_ga2902aa3130866afcc64bb5f984113db3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga2902aa3130866afcc64bb5f984113db3">vmaGetVirtualBlockStatistics</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> *pStats)</td></tr>
+<tr class="memitem:ga2902aa3130866afcc64bb5f984113db3" id="r_ga2902aa3130866afcc64bb5f984113db3"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga2902aa3130866afcc64bb5f984113db3">vmaGetVirtualBlockStatistics</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> *pStats)</td></tr>
 <tr class="memdesc:ga2902aa3130866afcc64bb5f984113db3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates and returns statistics about virtual allocations and memory usage in given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga93c5741bca44b43e5b849cacbd616098" id="r_ga93c5741bca44b43e5b849cacbd616098"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__virtual.html#ga93c5741bca44b43e5b849cacbd616098">vmaCalculateVirtualBlockStatistics</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> *pStats)</td></tr>
+<tr class="memitem:ga93c5741bca44b43e5b849cacbd616098" id="r_ga93c5741bca44b43e5b849cacbd616098"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__virtual.html#ga93c5741bca44b43e5b849cacbd616098">vmaCalculateVirtualBlockStatistics</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> *pStats)</td></tr>
 <tr class="memdesc:ga93c5741bca44b43e5b849cacbd616098"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates and returns detailed statistics about virtual allocations and memory usage in given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga52d810e1222c592e5d80556ad005f1e6" id="r_ga52d810e1222c592e5d80556ad005f1e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga52d810e1222c592e5d80556ad005f1e6">vmaBuildVirtualBlockStatsString</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, char **ppStatsString, VkBool32 detailedMap)</td></tr>
+<tr class="memitem:ga52d810e1222c592e5d80556ad005f1e6" id="r_ga52d810e1222c592e5d80556ad005f1e6"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#ga52d810e1222c592e5d80556ad005f1e6">vmaBuildVirtualBlockStatsString</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, char **ppStatsString, VkBool32 detailedMap)</td></tr>
 <tr class="memdesc:ga52d810e1222c592e5d80556ad005f1e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds and returns a null-terminated string in JSON format with information about given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>.  <br /></td></tr>
-<tr class="memitem:ga47fb8d8aa69df4a7c23a9719b4080623" id="r_ga47fb8d8aa69df4a7c23a9719b4080623"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga47fb8d8aa69df4a7c23a9719b4080623">vmaFreeVirtualBlockStatsString</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, char *pStatsString)</td></tr>
+<tr class="memitem:ga47fb8d8aa69df4a7c23a9719b4080623" id="r_ga47fb8d8aa69df4a7c23a9719b4080623"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#ga47fb8d8aa69df4a7c23a9719b4080623">vmaFreeVirtualBlockStatsString</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, char *pStatsString)</td></tr>
 <tr class="memdesc:ga47fb8d8aa69df4a7c23a9719b4080623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees a string returned by <a class="el" href="group__group__stats.html#ga52d810e1222c592e5d80556ad005f1e6" title="Builds and returns a null-terminated string in JSON format with information about given VmaVirtualBlo...">vmaBuildVirtualBlockStatsString()</a>.  <br /></td></tr>
-<tr class="memitem:gaa4fee7eb5253377599ef4fd38c93c2a0" id="r_gaa4fee7eb5253377599ef4fd38c93c2a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#gaa4fee7eb5253377599ef4fd38c93c2a0">vmaBuildStatsString</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, char **ppStatsString, VkBool32 detailedMap)</td></tr>
+<tr class="memitem:gaa4fee7eb5253377599ef4fd38c93c2a0" id="r_gaa4fee7eb5253377599ef4fd38c93c2a0"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#gaa4fee7eb5253377599ef4fd38c93c2a0">vmaBuildStatsString</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, char **ppStatsString, VkBool32 detailedMap)</td></tr>
 <tr class="memdesc:gaa4fee7eb5253377599ef4fd38c93c2a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds and returns statistics as a null-terminated string in JSON format.  <br /></td></tr>
-<tr class="memitem:ga3104eb30d8122c84dd8541063f145288" id="r_ga3104eb30d8122c84dd8541063f145288"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga3104eb30d8122c84dd8541063f145288">vmaFreeStatsString</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, char *pStatsString)</td></tr>
+<tr class="memitem:ga3104eb30d8122c84dd8541063f145288" id="r_ga3104eb30d8122c84dd8541063f145288"><td class="memItemLeft">void&#160;</td><td class="memItemRight"><a class="el" href="group__group__stats.html#ga3104eb30d8122c84dd8541063f145288">vmaFreeStatsString</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, char *pStatsString)</td></tr>
 </table>
 <a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
 <a id="acb14074601291f583de581ed204fd8c1" name="acb14074601291f583de581ed204fd8c1"></a>
@@ -474,7 +474,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/vk_amd_device_coherent_memory.html b/docs/html/vk_amd_device_coherent_memory.html
index 8a7cf4d..06e8e8b 100644
--- a/docs/html/vk_amd_device_coherent_memory.html
+++ b/docs/html/vk_amd_device_coherent_memory.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VK_AMD_device_coherent_memory</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -92,7 +92,7 @@
 Usage</h1>
 <p>After following steps described above, you can create VMA allocations and custom pools out of the special <span class="tt">DEVICE_COHERENT</span> and <span class="tt">DEVICE_UNCACHED</span> memory types on eligible devices. There are multiple ways to do it, for example:</p>
 <ul>
-<li>You can request or prefer to allocate out of such memory types by adding <span class="tt">VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD</span> to <a class="el" href="struct_vma_allocation_create_info.html#a9166390303ff42d783305bc31c2b6b90" title="Flags that must be set in a Memory Type chosen for an allocation.">VmaAllocationCreateInfo::requiredFlags</a> or <a class="el" href="struct_vma_allocation_create_info.html#a7fe8d81a1ad10b2a2faacacee5b15d6d" title="Flags that preferably should be set in a memory type chosen for an allocation.">VmaAllocationCreateInfo::preferredFlags</a>. Those flags can be freely mixed with other ways of <a class="el" href="choosing_memory_type.html">Choosing memory type</a>, like setting <a class="el" href="struct_vma_allocation_create_info.html#accb8b06b1f677d858cb9af20705fa910" title="Intended usage of memory.">VmaAllocationCreateInfo::usage</a>.</li>
+<li>You can request or prefer to allocate out of such memory types by adding <span class="tt">VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD</span> to <a class="el" href="struct_vma_allocation_create_info.html#a9166390303ff42d783305bc31c2b6b90" title="Flags that must be set in a Memory Type chosen for an allocation.">VmaAllocationCreateInfo::requiredFlags</a> or <a class="el" href="struct_vma_allocation_create_info.html#a7fe8d81a1ad10b2a2faacacee5b15d6d" title="Flags that preferably should be set in a memory type chosen for an allocation.">VmaAllocationCreateInfo::preferredFlags</a>. Those flags can be freely mixed with other ways of <a class="el" href="choosing_memory_type.html" title="Choosing memory type">Choosing memory type</a>, like setting <a class="el" href="struct_vma_allocation_create_info.html#accb8b06b1f677d858cb9af20705fa910" title="Intended usage of memory.">VmaAllocationCreateInfo::usage</a>.</li>
 <li>If you manually found memory type index to use for this purpose, force allocation from this specific index by setting <a class="el" href="struct_vma_allocation_create_info.html#a3bf940c0271d85d6ba32a4d820075055" title="Bitmask containing one bit set for every memory type acceptable for this allocation.">VmaAllocationCreateInfo::memoryTypeBits</a> <span class="tt">= 1U &lt;&lt; index</span>.</li>
 </ul>
 <h1 class="doxsection"><a class="anchor" id="vk_amd_device_coherent_memory_more_information"></a>
@@ -103,7 +103,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/vk_ext_memory_priority.html b/docs/html/vk_ext_memory_priority.html
index fdca0e0..929ef52 100644
--- a/docs/html/vk_ext_memory_priority.html
+++ b/docs/html/vk_ext_memory_priority.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VK_EXT_memory_priority</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -135,7 +135,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/docs/html/vk_khr_dedicated_allocation.html b/docs/html/vk_khr_dedicated_allocation.html
index cd236f0..39de208 100644
--- a/docs/html/vk_khr_dedicated_allocation.html
+++ b/docs/html/vk_khr_dedicated_allocation.html
@@ -3,7 +3,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.14.0"/>
+<meta name="generator" content="Doxygen 1.16.1"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>Vulkan Memory Allocator: VK_KHR_dedicated_allocation</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -31,7 +31,7 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.14.0 -->
+<!-- Generated by Doxygen 1.16.1 -->
 <script type="text/javascript">
 var searchBox = new SearchBox("searchBox", "search/",'.html');
 </script>
@@ -106,7 +106,7 @@
 </div><!-- PageDoc -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
 </small></address>
 </div><!-- doc-content -->
 </body>
diff --git a/include/vk_mem_alloc.h b/include/vk_mem_alloc.h
index 220fb40..2479285 100644
--- a/include/vk_mem_alloc.h
+++ b/include/vk_mem_alloc.h
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
@@ -27,7 +27,7 @@
 
 <b>Version 3.4.0-development</b>
 
-Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. \n
+Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved. \n
 License: MIT \n
 See also: [product page on GPUOpen](https://gpuopen.com/vulkan-memory-allocator/),
 [repository on GitHub](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator)
@@ -1338,6 +1338,19 @@
     Otherwise, it has the priority of a memory block where it is placed and this variable is ignored.
     */
     float priority;
+    /** \brief Additional minimum alignment to be used for this allocation. Can be 0.
+
+    Leave 0 (default) not to impose any additional alignment. If not 0, it must be a power of two.
+    
+    When creating a buffer or an image, specifying a custom alignment is not needed in most cases,
+    because Vulkan implementation inspects the `CreateInfo` structure (including intended usage flags)
+    and returns required alignment through functions like `vkGetBufferMemoryRequirements2`, which VMA automatically
+    uses and respects.
+    Extra alignment may be needed in some cases, like when using a buffer for acceleration structure scratch
+    (`VkPhysicalDeviceAccelerationStructurePropertiesKHR::minAccelerationStructureScratchOffsetAlignment`, see also issue #523)
+    or when doing interop with OpenGL.
+    */
+    VkDeviceSize minAlignment;
 } VmaAllocationCreateInfo;
 
 /// Describes parameter of created #VmaPool.
@@ -1381,8 +1394,14 @@
     /** \brief Additional minimum alignment to be used for all allocations created from this pool. Can be 0.
 
     Leave 0 (default) not to impose any additional alignment. If not 0, it must be a power of two.
-    It can be useful in cases where alignment returned by Vulkan by functions like `vkGetBufferMemoryRequirements` is not enough,
-    e.g. when doing interop with OpenGL.
+
+    When creating a buffer or an image, specifying a custom alignment is not needed in most cases,
+    because Vulkan implementation inspects the `CreateInfo` structure (including intended usage flags)
+    and returns required alignment through functions like `vkGetBufferMemoryRequirements2`, which VMA automatically
+    uses and respects.
+    Extra alignment may be needed in some cases, like when using a buffer for acceleration structure scratch
+    (`VkPhysicalDeviceAccelerationStructurePropertiesKHR::minAccelerationStructureScratchOffsetAlignment`, see also issue #523)
+    or when doing interop with OpenGL.
     */
     VkDeviceSize minAllocationAlignment;
     /** \brief Additional `pNext` chain to be attached to `VkMemoryAllocateInfo` used for every allocation made by this pool. Optional.
@@ -2667,9 +2686,8 @@
 although recommended as a good practice, is out of scope of this library and could be implemented
 by the user as a higher-level logic on top of VMA.
 
-There are also extended versions of this function available:
-- With additional parameter `minAlignment` - see vmaCreateBufferWithAlignment().
-- With additional parameter `pMemoryAllocateNext` - see vmaCreateDedicatedBuffer().
+There is also an extended versions of this function available with additional parameter `pMemoryAllocateNext` -
+see vmaCreateDedicatedBuffer().
 */
 VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateBuffer(
     VmaAllocator VMA_NOT_NULL allocator,
@@ -2684,6 +2702,10 @@
 Similar to vmaCreateBuffer() but provides additional parameter `minAlignment` which allows to specify custom,
 minimum alignment to be used when placing the buffer inside a larger memory block, which may be needed e.g.
 for interop with OpenGL.
+
+\deprecated
+This function in obsolete since new VmaAllocationCreateInfo::minAlignment member allows specifying custom
+alignment while using any allocation function, like the standard vmaCreateBuffer().
 */
 VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateBufferWithAlignment(
     VmaAllocator VMA_NOT_NULL allocator,
@@ -4243,8 +4265,11 @@
             }
             else
             {
-                // Always CPU memory.
-                outRequiredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
+                if(hostAccessAllowTransferInstead)
+                    outPreferredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
+                else
+                    // Always CPU memory.
+                    outRequiredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
             }
         }
         // CPU sequential write - may be CPU or host-visible GPU memory, uncached and write-combined.
@@ -4259,7 +4284,12 @@
             }
             else
             {
-                outRequiredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
+                if(hostAccessAllowTransferInstead)
+                    outPreferredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
+                else
+                    // Always CPU memory.
+                    outRequiredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
+
                 // Direct GPU access, CPU sequential write (e.g. a dynamic uniform buffer updated every frame)
                 if(deviceAccess)
                 {
@@ -10597,7 +10627,6 @@
     VkResult CreateBuffer(
         const VkBufferCreateInfo* pBufferCreateInfo,
         const VmaAllocationCreateInfo* pAllocationCreateInfo,
-        VkDeviceSize minAlignment,
         void* pMemoryAllocateNext, // pNext chain for VkMemoryAllocateInfo.
         VkBuffer* pBuffer,
         VmaAllocation* pAllocation,
@@ -10613,7 +10642,7 @@
 
     // Main allocation function.
     VkResult AllocateMemory(
-        const VkMemoryRequirements& vkMemReq,
+        VkMemoryRequirements vkMemReq,
         bool requiresDedicatedAllocation,
         bool prefersDedicatedAllocation,
         VkBuffer dedicatedBuffer,
@@ -14298,7 +14327,6 @@
 VkResult VmaAllocator_T::CreateBuffer(
     const VkBufferCreateInfo* pBufferCreateInfo,
     const VmaAllocationCreateInfo* pAllocationCreateInfo,
-    VkDeviceSize minAlignment,
     void* pMemoryAllocateNext,
     VkBuffer* pBuffer,
     VmaAllocation* pAllocation,
@@ -14330,9 +14358,6 @@
         GetBufferMemoryRequirements(*pBuffer, vkMemReq,
             requiresDedicatedAllocation, prefersDedicatedAllocation);
 
-        // 2a. Include minAlignment
-        vkMemReq.alignment = VMA_MAX(vkMemReq.alignment, minAlignment);
-
         // 3. Allocate memory using allocator.
         res = AllocateMemory(
             vkMemReq,
@@ -14461,7 +14486,7 @@
 }
 
 VkResult VmaAllocator_T::AllocateMemory(
-    const VkMemoryRequirements& vkMemReq,
+    VkMemoryRequirements vkMemReq,
     bool requiresDedicatedAllocation,
     bool prefersDedicatedAllocation,
     VkBuffer dedicatedBuffer,
@@ -14476,6 +14501,7 @@
 {
     memset(pAllocations, 0, sizeof(VmaAllocation) * allocationCount);
 
+    vkMemReq.alignment = VMA_MAX(vkMemReq.alignment, createInfo.minAlignment);
     VMA_ASSERT(VmaIsPow2(vkMemReq.alignment));
 
     // If using custom pNext chain for VkMemoryAllocateInfo, must require dedicated allocations.
@@ -16725,7 +16751,6 @@
     VMA_DEBUG_GLOBAL_MUTEX_LOCK;
 
     return allocator->CreateBuffer(pBufferCreateInfo, pAllocationCreateInfo,
-        1, // minAlignment
         VMA_NULL, // pMemoryAllocateNext
         pBuffer, pAllocation, pAllocationInfo);
 
@@ -16744,8 +16769,10 @@
     VMA_DEBUG_LOG("vmaCreateBufferWithAlignment");
     VMA_DEBUG_GLOBAL_MUTEX_LOCK;
 
-    return allocator->CreateBuffer(pBufferCreateInfo, pAllocationCreateInfo,
-        minAlignment, // minAlignment
+    VmaAllocationCreateInfo allocCreateInfoCopy = *pAllocationCreateInfo;
+    allocCreateInfoCopy.minAlignment = VMA_MAX(allocCreateInfoCopy.minAlignment, minAlignment);
+
+    return allocator->CreateBuffer(pBufferCreateInfo, &allocCreateInfoCopy,
         VMA_NULL, // pMemoryAllocateNext
         pBuffer, pAllocation, pAllocationInfo);
 }
@@ -16767,7 +16794,6 @@
     allocCreateInfoCopy.flags |= VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT;
 
     return allocator->CreateBuffer(pBufferCreateInfo, &allocCreateInfoCopy,
-        1, // minAlignment
         pMemoryAllocateNext, // pMemoryAllocateNext
         pBuffer, pAllocation, pAllocationInfo);
 }
@@ -18298,7 +18324,7 @@
 - If you want to select specific memory type for your allocation,
   you can set VmaAllocationCreateInfo::memoryTypeBits to `(1U << myMemoryTypeIndex)` instead.
 - If you need to create a buffer with certain minimum alignment, you can still do it
-  using default pools with dedicated function vmaCreateBufferWithAlignment().
+  using default pools by specifying VmaAllocationCreateInfo::minAlignment.
 
 
 \section linear_algorithm Linear allocation algorithm
@@ -19051,6 +19077,10 @@
 If you need each allocation to have its own device memory block and start at offset 0, you can still do 
 by using #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT flag. It works also with custom pools.
 
+Alternatively, you can use convenient functions vmaCreateDedicatedBuffer(), vmaCreateDedicatedImage() that
+always allocate dedicated memory for the buffer/image created, and also allow specifying custom `pNext` chain
+for the `VkMemoryAllocateInfo` structure.
+
 \subsection other_api_interop_exporting_exporting_win32_handle Exporting Win32 handle
 
 After the allocation is created, you can acquire a Win32 `HANDLE` to the `VkDeviceMemory` block it belongs to.
@@ -19090,8 +19120,8 @@
 The alignment actually used will be the maximum of this member and the alignment returned for the specific buffer or image
 from a function like `vkGetBufferMemoryRequirements`, which is called by VMA automatically.
 
-If you want to create a buffer with a specific minimum alignment out of default pools,
-you can use special function vmaCreateBufferWithAlignment(), which takes additional parameter `minAlignment`.
+If you want to create a buffer/image/allocate memory with a specific minimum alignment out of default pools,
+you can use VmaAllocationCreateInfo::minAlignment.
 
 Note the problem of alignment affects only resources placed inside bigger `VkDeviceMemory` blocks and not dedicated
 allocations, as these, by definition, always have alignment = 0 because the resource is bound to the beginning of its dedicated block.
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9f9aa34..9ce5a22 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+# Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
diff --git a/src/Common.cpp b/src/Common.cpp
index 997146e..470daf9 100644
--- a/src/Common.cpp
+++ b/src/Common.cpp
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/Common.h b/src/Common.h
index 4e9457a..f76e57f 100644
--- a/src/Common.h
+++ b/src/Common.h
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/Shaders/CMakeLists.txt b/src/Shaders/CMakeLists.txt
index 1fee582..a83f69b 100644
--- a/src/Shaders/CMakeLists.txt
+++ b/src/Shaders/CMakeLists.txt
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+# Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
diff --git a/src/Shaders/Shader.frag b/src/Shaders/Shader.frag
index 3138b48..e7f84ae 100644
--- a/src/Shaders/Shader.frag
+++ b/src/Shaders/Shader.frag
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/Shaders/Shader.vert b/src/Shaders/Shader.vert
index 6c06f2e..e195bb0 100644
--- a/src/Shaders/Shader.vert
+++ b/src/Shaders/Shader.vert
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/Shaders/SparseBindingTest.comp b/src/Shaders/SparseBindingTest.comp
index 6014bd3..1378475 100644
--- a/src/Shaders/SparseBindingTest.comp
+++ b/src/Shaders/SparseBindingTest.comp
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2018-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2018-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/SparseBindingTest.cpp b/src/SparseBindingTest.cpp
index a8254ef..b4babbf 100644
--- a/src/SparseBindingTest.cpp
+++ b/src/SparseBindingTest.cpp
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/SparseBindingTest.h b/src/SparseBindingTest.h
index 62c87f1..b6e7a4f 100644
--- a/src/SparseBindingTest.h
+++ b/src/SparseBindingTest.h
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/Tests.cpp b/src/Tests.cpp
index 90d9a43..996b2d0 100644
--- a/src/Tests.cpp
+++ b/src/Tests.cpp
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
@@ -6140,6 +6140,153 @@
     }
 }
 
+static void TestAllocationWithAlignment()
+{
+    wprintf(L"Test allocation with alignment\n");
+
+    static const VkDeviceSize BUFFER_SIZE = 4 * KILOBYTE;
+    static const VkDeviceSize MIN_ALIGNMENT = 64 * KILOBYTE;
+
+    VkBufferCreateInfo bufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO };
+    bufCreateInfo.size = BUFFER_SIZE;
+    bufCreateInfo.usage = VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_TRANSFER_SRC_BIT;
+    
+    VkResult res;
+
+    // 1. Using vmaAllocateMemory with VmaAllocationCreateInfo::minAlignment
+    {
+        VkBuffer buffers[2] = {};
+        VkMemoryRequirements memReq[2] = {};
+        VmaAllocation allocations[2] = {};
+        VmaAllocationInfo allocInfo[2] = {};
+
+        for(uint32_t i = 0; i < 2; ++i)
+        {
+            res = vkCreateBuffer(g_hDevice, &bufCreateInfo, g_Allocs, &buffers[i]);
+            TEST(res == VK_SUCCESS && buffers[i] != VK_NULL_HANDLE);
+            vkGetBufferMemoryRequirements(g_hDevice, buffers[i], &memReq[i]);
+        }
+
+        VmaAllocationCreateInfo allocCreateInfo = {};
+        allocCreateInfo.minAlignment = MIN_ALIGNMENT;
+
+        for(uint32_t i = 0; i < 2; ++i)
+        {
+            res = vmaAllocateMemory(g_hAllocator, &memReq[i], &allocCreateInfo, &allocations[i], &allocInfo[i]);
+            TEST(res == VK_SUCCESS && allocations[i] != VK_NULL_HANDLE);
+            TEST(allocInfo[i].offset % MIN_ALIGNMENT == 0); // !!!
+        }
+
+        for(uint32_t i = 0; i < 2; ++i)
+        {
+            res = vmaBindBufferMemory(g_hAllocator, allocations[i], buffers[i]);
+            TEST(res == VK_SUCCESS);
+        }
+
+        for(uint32_t i = 0; i < 2; ++i)
+        {
+            vkDestroyBuffer(g_hDevice, buffers[i], g_Allocs);
+            vmaFreeMemory(g_hAllocator, allocations[i]);
+        }
+    }
+
+    // 2. Using vmaCreateBuffer with VmaAllocationCreateInfo::minAlignment
+    {
+        VkBuffer buffers[2] = {};
+        VmaAllocation allocations[2] = {};
+        VmaAllocationInfo allocInfo[2] = {};
+
+        VmaAllocationCreateInfo allocCreateInfo = {};
+        allocCreateInfo.minAlignment = MIN_ALIGNMENT;
+
+        for(uint32_t i = 0; i < 2; ++i)
+        {
+            res = vmaCreateBuffer(g_hAllocator, &bufCreateInfo, &allocCreateInfo, &buffers[i], &allocations[i], &allocInfo[i]);
+            TEST(res == VK_SUCCESS && buffers[i] != VK_NULL_HANDLE && allocations[i] != VK_NULL_HANDLE);
+            TEST(allocInfo[i].offset % MIN_ALIGNMENT == 0); // !!!
+        }
+
+        for(uint32_t i = 0; i < 2; ++i)
+        {
+            vmaDestroyBuffer(g_hAllocator, buffers[i], allocations[i]);
+        }
+    }
+
+    // 3. Using vmaCreateBuffer in a custom pool with VmaPoolCreateInfo::minAllocationAlignment specified
+    {
+        VmaAllocationCreateInfo sampleAllocCreateInfo = {};
+        sampleAllocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO_PREFER_HOST;
+
+        VmaPoolCreateInfo poolCreateInfo = {};
+        res = vmaFindMemoryTypeIndexForBufferInfo(g_hAllocator, &bufCreateInfo, &sampleAllocCreateInfo, &poolCreateInfo.memoryTypeIndex);
+        TEST(res == VK_SUCCESS);
+
+        poolCreateInfo.blockSize = 4 * MIN_ALIGNMENT;
+        poolCreateInfo.minBlockCount = 1;
+        poolCreateInfo.maxBlockCount = 1;
+        poolCreateInfo.minAllocationAlignment = MIN_ALIGNMENT;
+
+        VmaPool pool = VK_NULL_HANDLE;
+        if(res == VK_SUCCESS)
+        {
+            res = vmaCreatePool(g_hAllocator, &poolCreateInfo, &pool);
+            TEST(res == VK_SUCCESS && pool != VK_NULL_HANDLE);
+        }
+
+        VkBuffer buffers[2] = {};
+        VmaAllocation allocations[2] = {};
+        VmaAllocationInfo allocInfo[2] = {};
+
+        VmaAllocationCreateInfo allocCreateInfo = {};
+        allocCreateInfo.pool = pool;
+
+        if(pool != VK_NULL_HANDLE)
+        {
+            for(uint32_t i = 0; i < 2; ++i)
+            {
+                res = vmaCreateBuffer(g_hAllocator, &bufCreateInfo, &allocCreateInfo, &buffers[i], &allocations[i], &allocInfo[i]);
+                TEST(res == VK_SUCCESS && buffers[i] != VK_NULL_HANDLE && allocations[i] != VK_NULL_HANDLE);
+                TEST(allocInfo[i].offset % MIN_ALIGNMENT == 0); // !!!
+            }
+        }
+
+        for(uint32_t i = 0; i < 2; ++i)
+        {
+            vmaDestroyBuffer(g_hAllocator, buffers[i], allocations[i]);
+        }
+
+        vmaDestroyPool(g_hAllocator, pool);
+    }
+
+    // 4. Using vmaCreateBufferWithAlignment
+    {
+        VkBuffer buffers[2] = {};
+        VmaAllocation allocations[2] = {};
+        VmaAllocationInfo allocInfo[2] = {};
+
+        VmaAllocationCreateInfo allocCreateInfo = {};
+
+        for(uint32_t i = 0; i < 2; ++i)
+        {
+            res = vmaCreateBufferWithAlignment(
+                g_hAllocator,
+                &bufCreateInfo,
+                &allocCreateInfo,
+                MIN_ALIGNMENT,
+                &buffers[i],
+                &allocations[i],
+                &allocInfo[i]);
+            TEST(res == VK_SUCCESS && buffers[i] != VK_NULL_HANDLE && allocations[i] != VK_NULL_HANDLE);
+            TEST(allocInfo[i].offset % MIN_ALIGNMENT == 0); // !!!
+        }
+
+        for(uint32_t i = 0; i < 2; ++i)
+        {
+            vmaDestroyBuffer(g_hAllocator, buffers[i], allocations[i]);
+        }
+    }
+}
+
 static void TestDataUploadingWithStagingBuffer()
 {
     wprintf(L"Testing data uploading with staging buffer...\n");
@@ -8727,6 +8874,7 @@
     TestAllocationsInitialization();
 #endif
     TestMemoryUsage();
+    TestAllocationWithAlignment();
     TestDataUploadingWithStagingBuffer();
     TestDataUploadingWithMappedMemory();
     TestAdvancedDataUploading();
diff --git a/src/Tests.h b/src/Tests.h
index 7a7dd4b..e49e81b 100644
--- a/src/Tests.h
+++ b/src/Tests.h
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/VmaUsage.cpp b/src/VmaUsage.cpp
index cbdb781..86e8b99 100644
--- a/src/VmaUsage.cpp
+++ b/src/VmaUsage.cpp
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/VmaUsage.h b/src/VmaUsage.h
index c018cb7..384f080 100644
--- a/src/VmaUsage.h
+++ b/src/VmaUsage.h
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/VolkUsage.cpp b/src/VolkUsage.cpp
index 7dfe561..a1087c9 100644
--- a/src/VolkUsage.cpp
+++ b/src/VolkUsage.cpp
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/src/VulkanSample.cpp b/src/VulkanSample.cpp
index 1e36da4..256e2fc 100644
--- a/src/VulkanSample.cpp
+++ b/src/VulkanSample.cpp
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved.
+// Copyright (c) 2017-2026 Advanced Micro Devices, Inc. All rights reserved.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
diff --git a/tools/GpuMemDumpVis/GpuMemDumpVis.py b/tools/GpuMemDumpVis/GpuMemDumpVis.py
index 75d98d2..6d6155b 100644
--- a/tools/GpuMemDumpVis/GpuMemDumpVis.py
+++ b/tools/GpuMemDumpVis/GpuMemDumpVis.py
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2018-2025 Advanced Micro Devices, Inc. All rights reserved.
+# Copyright (c) 2018-2026 Advanced Micro Devices, Inc. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal