From aa1837436815a8a6331cc1817c724ff5b73e9e77 Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Tue, 16 Feb 2021 17:28:49 +0100 Subject: [PATCH] Updated copyright header to year 2021. Rebuilt binaries, regenerated documentation. --- LICENSE.txt | 2 +- bin/VmaReplay_Release_vs2019.exe | Bin 243200 -> 243200 bytes bin/VulkanSample_Release_vs2019.exe | Bin 327680 -> 327680 bytes docs/html/allocation_annotation.html | 32 +- docs/html/annotated.html | 8 +- docs/html/choosing_memory_type.html | 28 +- docs/html/classes.html | 47 +- docs/html/configuration.html | 8 +- docs/html/custom_memory_pools.html | 38 +- docs/html/debugging_memory_usage.html | 8 +- docs/html/defragmentation.html | 40 +- docs/html/deprecated.html | 16 +- docs/html/doxygen.css | 117 +++- docs/html/enabling_buffer_device_address.html | 8 +- docs/html/files.html | 8 +- docs/html/functions.html | 8 +- docs/html/functions_vars.html | 8 +- docs/html/general_considerations.html | 8 +- docs/html/globals.html | 8 +- docs/html/globals_defs.html | 8 +- docs/html/globals_enum.html | 8 +- docs/html/globals_eval.html | 8 +- docs/html/globals_func.html | 8 +- docs/html/globals_type.html | 8 +- docs/html/index.html | 12 +- docs/html/lost_allocations.html | 28 +- docs/html/memory_mapping.html | 40 +- docs/html/pages.html | 8 +- docs/html/quick_start.html | 36 +- docs/html/record_and_replay.html | 10 +- docs/html/resource_aliasing.html | 22 +- docs/html/search/all_0.html | 13 +- docs/html/search/all_1.html | 13 +- docs/html/search/all_10.html | 13 +- docs/html/search/all_11.html | 13 +- docs/html/search/all_11.js | 310 ++++----- docs/html/search/all_2.html | 13 +- docs/html/search/all_3.html | 13 +- docs/html/search/all_4.html | 13 +- docs/html/search/all_5.html | 13 +- docs/html/search/all_6.html | 13 +- docs/html/search/all_7.html | 13 +- docs/html/search/all_8.html | 13 +- docs/html/search/all_9.html | 13 +- docs/html/search/all_a.html | 13 +- docs/html/search/all_b.html | 13 +- docs/html/search/all_c.html | 13 +- docs/html/search/all_d.html | 13 +- docs/html/search/all_d.js | 8 +- docs/html/search/all_e.html | 13 +- docs/html/search/all_f.html | 13 +- docs/html/search/classes_0.html | 13 +- docs/html/search/defines_0.html | 13 +- docs/html/search/enums_0.html | 13 +- docs/html/search/enumvalues_0.html | 13 +- docs/html/search/files_0.html | 13 +- docs/html/search/functions_0.html | 13 +- docs/html/search/nomatches.html | 3 +- docs/html/search/pages_0.html | 13 +- docs/html/search/pages_1.html | 13 +- docs/html/search/pages_2.html | 13 +- docs/html/search/pages_3.html | 13 +- docs/html/search/pages_4.html | 13 +- docs/html/search/pages_5.html | 13 +- docs/html/search/pages_6.html | 13 +- docs/html/search/pages_7.html | 13 +- docs/html/search/pages_8.html | 13 +- docs/html/search/pages_8.js | 6 +- docs/html/search/pages_9.html | 13 +- docs/html/search/pages_a.html | 13 +- docs/html/search/pages_a.js | 6 +- docs/html/search/search.css | 4 +- docs/html/search/search.js | 12 +- docs/html/search/typedefs_0.html | 13 +- docs/html/search/typedefs_1.html | 13 +- docs/html/search/variables_0.html | 13 +- docs/html/search/variables_1.html | 13 +- docs/html/search/variables_2.html | 13 +- docs/html/search/variables_3.html | 13 +- docs/html/search/variables_4.html | 13 +- docs/html/search/variables_5.html | 13 +- docs/html/search/variables_6.html | 13 +- docs/html/search/variables_7.html | 13 +- docs/html/search/variables_8.html | 13 +- docs/html/search/variables_9.html | 13 +- docs/html/search/variables_a.html | 13 +- docs/html/search/variables_b.html | 13 +- docs/html/search/variables_c.html | 13 +- docs/html/search/variables_d.html | 13 +- docs/html/statistics.html | 8 +- docs/html/staying_within_budget.html | 8 +- docs/html/struct_vma_allocation.html | 8 +- ...ct_vma_allocation_create_info-members.html | 8 +- .../struct_vma_allocation_create_info.html | 8 +- .../struct_vma_allocation_info-members.html | 8 +- docs/html/struct_vma_allocation_info.html | 8 +- docs/html/struct_vma_allocator.html | 8 +- ...uct_vma_allocator_create_info-members.html | 8 +- .../struct_vma_allocator_create_info.html | 8 +- .../struct_vma_allocator_info-members.html | 8 +- docs/html/struct_vma_allocator_info.html | 8 +- docs/html/struct_vma_budget-members.html | 8 +- docs/html/struct_vma_budget.html | 8 +- .../struct_vma_defragmentation_context.html | 8 +- ...ruct_vma_defragmentation_info-members.html | 8 +- .../html/struct_vma_defragmentation_info.html | 8 +- ...uct_vma_defragmentation_info2-members.html | 8 +- .../struct_vma_defragmentation_info2.html | 8 +- ...vma_defragmentation_pass_info-members.html | 8 +- .../struct_vma_defragmentation_pass_info.html | 8 +- ...efragmentation_pass_move_info-members.html | 8 +- ...ct_vma_defragmentation_pass_move_info.html | 8 +- ...uct_vma_defragmentation_stats-members.html | 8 +- .../struct_vma_defragmentation_stats.html | 8 +- ...t_vma_device_memory_callbacks-members.html | 8 +- .../struct_vma_device_memory_callbacks.html | 8 +- docs/html/struct_vma_pool.html | 8 +- .../struct_vma_pool_create_info-members.html | 8 +- docs/html/struct_vma_pool_create_info.html | 8 +- docs/html/struct_vma_pool_stats-members.html | 8 +- docs/html/struct_vma_pool_stats.html | 8 +- .../struct_vma_record_settings-members.html | 8 +- docs/html/struct_vma_record_settings.html | 8 +- docs/html/struct_vma_stat_info-members.html | 8 +- docs/html/struct_vma_stat_info.html | 8 +- docs/html/struct_vma_stats-members.html | 8 +- docs/html/struct_vma_stats.html | 8 +- .../struct_vma_vulkan_functions-members.html | 8 +- docs/html/struct_vma_vulkan_functions.html | 8 +- docs/html/usage_patterns.html | 8 +- docs/html/vk__mem__alloc_8h.html | 104 +-- docs/html/vk__mem__alloc_8h_source.html | 647 +++++++++--------- docs/html/vk_amd_device_coherent_memory.html | 8 +- docs/html/vk_khr_dedicated_allocation.html | 17 +- src/Common.cpp | 2 +- src/Common.h | 2 +- src/Shaders/Shader.frag | 2 +- src/Shaders/Shader.vert | 2 +- src/Shaders/SparseBindingTest.comp | 2 +- src/SparseBindingTest.cpp | 2 +- src/SparseBindingTest.h | 2 +- src/Tests.cpp | 2 +- src/Tests.h | 2 +- src/VmaReplay/Common.cpp | 2 +- src/VmaReplay/Common.h | 2 +- src/VmaReplay/Constants.cpp | 2 +- src/VmaReplay/Constants.h | 2 +- src/VmaReplay/VmaReplay.cpp | 2 +- src/VmaReplay/VmaUsage.cpp | 2 +- src/VmaReplay/VmaUsage.h | 2 +- src/VmaUsage.cpp | 2 +- src/VmaUsage.h | 2 +- src/VulkanSample.cpp | 2 +- src/vk_mem_alloc.h | 6 +- tools/VmaDumpVis/VmaDumpVis.py | 2 +- 155 files changed, 1416 insertions(+), 1334 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index bee6af7..71e824f 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) 2017-2021 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/bin/VmaReplay_Release_vs2019.exe b/bin/VmaReplay_Release_vs2019.exe index fbbc49c46820201235fde1fef84bd23d1834e0cd..f8712c83f76f030f3791f97b1bf203793adb22de 100644 GIT binary patch delta 110 zcmZp8!`JYJZvzJ-lgX!MF2;5)Mi6G&&c(E(mm_b4e nFgYF|TLg$t0Od}=<)+6OGD`u?++JnK{Ev;1d3&V=b9*fS2`v|k delta 110 zcmZp8!`JYJZvzJ-li-JDF2;5)Mi6G&&c(E(mm_b4e mFgYF|TLg$t0Od}=<)+6OGD`u?++JnK{ErQ2V5J3fdo2Lr(H7AF diff --git a/bin/VulkanSample_Release_vs2019.exe b/bin/VulkanSample_Release_vs2019.exe index 246ae0a5de3d46a0debd14042362b19135384712..fa83c3adb50431afa1e648d66afc4e88fd6d8e04 100644 GIT binary patch delta 114 zcmZo@5NT)-*&x8kr2nZ|h_PLW5rmn5n0dPpBg-ReEB#N}2@F8M1jMO8d?lHM;ff~< sNQeO@#{*=G0I^L93xkapOm4cKEsGS;-0fbrEc196*|)#+WD(y60Bva)7XSbN delta 114 zcmZo@5NT)-*&x8k#Py+Bh_PLW5rmn5n0dPpBg-ReE3OaP2@F8M1jMO8d?lHM;ff~< sNQeO@#{*=G0I^L93xkapOm4cKEsGS;-0fbrEc196*|xv*WD(y607GCGQvd(} diff --git a/docs/html/allocation_annotation.html b/docs/html/allocation_annotation.html index 0d3a44b..4329ae0 100644 --- a/docs/html/allocation_annotation.html +++ b/docs/html/allocation_annotation.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Allocation names and user data @@ -29,10 +29,10 @@ - + @@ -84,10 +84,19 @@ Allocation user data
VkBuffer buffer;
VmaAllocation allocation;
vmaCreateBuffer(allocator, &bufferInfo, &allocCreateInfo, &buffer, &allocation, nullptr);
+
Definition: vk_mem_alloc.h:2881
+
void * pUserData
Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...
Definition: vk_mem_alloc.h:2920
+
VmaMemoryUsage usage
Intended usage of memory.
Definition: vk_mem_alloc.h:2889
+
Represents single memory allocation.
+
@ VMA_MEMORY_USAGE_GPU_ONLY
Definition: vk_mem_alloc.h:2723
+
VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)

The pointer may be later retrieved as VmaAllocationInfo::pUserData:

vmaGetAllocationInfo(allocator, allocation, &allocInfo);
MyBufferMetadata* pMetadata = (MyBufferMetadata*)allocInfo.pUserData;
+
Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
Definition: vk_mem_alloc.h:3231
+
void * pUserData
Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...
Definition: vk_mem_alloc.h:3280
+
void vmaGetAllocationInfo(VmaAllocator allocator, VmaAllocation allocation, VmaAllocationInfo *pAllocationInfo)
Returns current information about specified allocation and atomically marks it as used in current fra...

It can also be changed using function vmaSetAllocationUserData().

Values of (non-zero) allocations' pUserData are printed in JSON report created by vmaBuildStatsString(), in hexadecimal form.

@@ -107,6 +116,9 @@ Allocation names

VkImage image;
VmaAllocation allocation;
vmaCreateImage(allocator, &imageInfo, &allocCreateInfo, &image, &allocation, nullptr);
+
VmaAllocationCreateFlags flags
Use VmaAllocationCreateFlagBits enum.
Definition: vk_mem_alloc.h:2883
+
VkResult vmaCreateImage(VmaAllocator allocator, const VkImageCreateInfo *pImageCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkImage *pImage, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
Function similar to vmaCreateBuffer().
+
@ VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT
Definition: vk_mem_alloc.h:2826

The value of pUserData pointer of the allocation will be different than the one you passed when setting allocation's name - pointing to a buffer managed internally that holds copy of the string.

vmaGetAllocationInfo(allocator, allocation, &allocInfo);
@@ -116,21 +128,9 @@ Allocation names
Note
Passing string name to VMA allocation doesn't automatically set it to the Vulkan buffer or image created with it. You must do it manually using an extension like VK_EXT_debug_utils, which is independent of this library.
-
@ VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT
Definition: vk_mem_alloc.h:2826
-
void * pUserData
Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...
Definition: vk_mem_alloc.h:2920
-
void vmaGetAllocationInfo(VmaAllocator allocator, VmaAllocation allocation, VmaAllocationInfo *pAllocationInfo)
Returns current information about specified allocation and atomically marks it as used in current fra...
-
Represents single memory allocation.
-
@ VMA_MEMORY_USAGE_GPU_ONLY
Definition: vk_mem_alloc.h:2723
-
VkResult vmaCreateImage(VmaAllocator allocator, const VkImageCreateInfo *pImageCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkImage *pImage, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
Function similar to vmaCreateBuffer().
-
VmaMemoryUsage usage
Intended usage of memory.
Definition: vk_mem_alloc.h:2889
-
void * pUserData
Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...
Definition: vk_mem_alloc.h:3280
-
VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
-
VmaAllocationCreateFlags flags
Use VmaAllocationCreateFlagBits enum.
Definition: vk_mem_alloc.h:2883
-
Definition: vk_mem_alloc.h:2881
-
Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
Definition: vk_mem_alloc.h:3231
diff --git a/docs/html/annotated.html b/docs/html/annotated.html index 4725674..5d50e51 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Class List @@ -29,10 +29,10 @@ - + @@ -93,7 +93,7 @@ $(function() { diff --git a/docs/html/choosing_memory_type.html b/docs/html/choosing_memory_type.html index 61303e8..f48a897 100644 --- a/docs/html/choosing_memory_type.html +++ b/docs/html/choosing_memory_type.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Choosing memory type @@ -29,10 +29,10 @@ - + @@ -93,6 +93,11 @@ Usage
VkBuffer buffer;
VmaAllocation allocation;
vmaCreateBuffer(allocator, &bufferInfo, &allocInfo, &buffer, &allocation, nullptr);
+
Definition: vk_mem_alloc.h:2881
+
VmaMemoryUsage usage
Intended usage of memory.
Definition: vk_mem_alloc.h:2889
+
Represents single memory allocation.
+
@ VMA_MEMORY_USAGE_GPU_ONLY
Definition: vk_mem_alloc.h:2723
+
VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)

Required and preferred flags

You can specify more detailed requirements by filling members VmaAllocationCreateInfo::requiredFlags and VmaAllocationCreateInfo::preferredFlags with a combination of bits from enum VkMemoryPropertyFlags. For example, if you want to create a buffer that will be persistently mapped on host (so it must be HOST_VISIBLE) and preferably will also be HOST_COHERENT and HOST_CACHED, use following code:

@@ -104,6 +109,10 @@ Required and preferred flags
VkBuffer buffer;
VmaAllocation allocation;
vmaCreateBuffer(allocator, &bufferInfo, &allocInfo, &buffer, &allocation, nullptr);
+
VkMemoryPropertyFlags preferredFlags
Flags that preferably should be set in a memory type chosen for an allocation.
Definition: vk_mem_alloc.h:2899
+
VkMemoryPropertyFlags requiredFlags
Flags that must be set in a Memory Type chosen for an allocation.
Definition: vk_mem_alloc.h:2894
+
VmaAllocationCreateFlags flags
Use VmaAllocationCreateFlagBits enum.
Definition: vk_mem_alloc.h:2883
+
@ VMA_ALLOCATION_CREATE_MAPPED_BIT
Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.
Definition: vk_mem_alloc.h:2800

A memory type is chosen that has all the required flags and as many preferred flags set as possible.

If you use VmaAllocationCreateInfo::usage, it is just internally converted to a set of required and preferred flags.

@@ -118,6 +127,7 @@ Explicit memory types

VkBuffer buffer;
VmaAllocation allocation;
vmaCreateBuffer(allocator, &bufferInfo, &allocInfo, &buffer, &allocation, nullptr);
+
uint32_t memoryTypeBits
Bitmask containing one bit set for every memory type acceptable for this allocation.
Definition: vk_mem_alloc.h:2907

Custom memory pools

If you allocate from custom memory pool, all the ways of specifying memory requirements described above are not applicable and the aforementioned members of VmaAllocationCreateInfo 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 Custom memory pools.

@@ -131,19 +141,9 @@ Dedicated allocations -
Represents single memory allocation.
-
@ VMA_MEMORY_USAGE_GPU_ONLY
Definition: vk_mem_alloc.h:2723
-
VkMemoryPropertyFlags requiredFlags
Flags that must be set in a Memory Type chosen for an allocation.
Definition: vk_mem_alloc.h:2894
-
VmaMemoryUsage usage
Intended usage of memory.
Definition: vk_mem_alloc.h:2889
-
VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
-
@ VMA_ALLOCATION_CREATE_MAPPED_BIT
Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.
Definition: vk_mem_alloc.h:2800
-
VmaAllocationCreateFlags flags
Use VmaAllocationCreateFlagBits enum.
Definition: vk_mem_alloc.h:2883
-
Definition: vk_mem_alloc.h:2881
-
VkMemoryPropertyFlags preferredFlags
Flags that preferably should be set in a memory type chosen for an allocation.
Definition: vk_mem_alloc.h:2899
-
uint32_t memoryTypeBits
Bitmask containing one bit set for every memory type acceptable for this allocation.
Definition: vk_mem_alloc.h:2907
diff --git a/docs/html/classes.html b/docs/html/classes.html index 64fc825..e63f3fa 100644 --- a/docs/html/classes.html +++ b/docs/html/classes.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Class Index @@ -29,10 +29,10 @@ - + @@ -65,43 +65,16 @@ $(function() {
Class Index
diff --git a/docs/html/configuration.html b/docs/html/configuration.html index 721d735..555858a 100644 --- a/docs/html/configuration.html +++ b/docs/html/configuration.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Configuration @@ -29,10 +29,10 @@ - + @@ -95,7 +95,7 @@ Device heap memory limit diff --git a/docs/html/custom_memory_pools.html b/docs/html/custom_memory_pools.html index 00668c5..8e8fb8d 100644 --- a/docs/html/custom_memory_pools.html +++ b/docs/html/custom_memory_pools.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Custom memory pools @@ -29,10 +29,10 @@ - + @@ -105,9 +105,21 @@ $(function() {
vmaCreateBuffer(allocator, &bufCreateInfo, &allocCreateInfo, &buf, &alloc, &allocInfo);
+
Definition: vk_mem_alloc.h:2881
+
VmaPool pool
Pool that this allocation should be created in.
Definition: vk_mem_alloc.h:2913
+
Represents single memory allocation.
+
Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
Definition: vk_mem_alloc.h:3231
+
Describes parameter of created VmaPool.
Definition: vk_mem_alloc.h:3049
+
uint32_t memoryTypeIndex
Vulkan memory type index to allocate this pool from.
Definition: vk_mem_alloc.h:3052
+
size_t maxBlockCount
Maximum number of blocks that can be allocated in this pool. Optional.
Definition: vk_mem_alloc.h:3077
+
Represents custom memory pool.
+
VkResult vmaCreatePool(VmaAllocator allocator, const VmaPoolCreateInfo *pCreateInfo, VmaPool *pPool)
Allocates Vulkan device memory and creates VmaPool object.
+
VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)

You have to free all allocations made from this pool before destroying it.

vmaDestroyBuffer(allocator, buf, alloc);
vmaDestroyPool(allocator, pool);
+
void vmaDestroyBuffer(VmaAllocator allocator, VkBuffer buffer, VmaAllocation allocation)
Destroys Vulkan buffer and frees allocated memory.
+
void vmaDestroyPool(VmaAllocator allocator, VmaPool pool)
Destroys VmaPool object and frees Vulkan device memory.

Choosing memory type index

When creating a pool, you must explicitly specify memory type index. To find the one suitable for your buffers or images, you can use helper functions vmaFindMemoryTypeIndexForBufferInfo(), vmaFindMemoryTypeIndexForImageInfo(). You need to provide structures with example parameters of buffers or images that you are going to create in that pool.

@@ -124,6 +136,9 @@ Choosing memory type index
VmaPoolCreateInfo poolCreateInfo = {};
poolCreateInfo.memoryTypeIndex = memTypeIndex;
// ...
+
VmaMemoryUsage usage
Intended usage of memory.
Definition: vk_mem_alloc.h:2889
+
@ VMA_MEMORY_USAGE_GPU_ONLY
Definition: vk_mem_alloc.h:2723
+
VkResult vmaFindMemoryTypeIndexForBufferInfo(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
Helps to find memoryTypeIndex, given VkBufferCreateInfo and VmaAllocationCreateInfo.

When creating buffers/images allocated in that pool, provide following parameters:

  • VkBufferCreateInfo: Prefer to pass same parameters as above. Otherwise you risk creating resources in a memory type that is not suitable for them, which may result in undefined behavior. Using different VK_BUFFER_USAGE_ flags may work, but you shouldn't create images in a pool intended for buffers or the other way around.
  • @@ -180,24 +195,9 @@ Buddy allocation algorithm
-
uint32_t memoryTypeIndex
Vulkan memory type index to allocate this pool from.
Definition: vk_mem_alloc.h:3052
-
VmaPool pool
Pool that this allocation should be created in.
Definition: vk_mem_alloc.h:2913
-
void vmaDestroyPool(VmaAllocator allocator, VmaPool pool)
Destroys VmaPool object and frees Vulkan device memory.
-
Represents single memory allocation.
-
@ VMA_MEMORY_USAGE_GPU_ONLY
Definition: vk_mem_alloc.h:2723
-
VkResult vmaCreatePool(VmaAllocator allocator, const VmaPoolCreateInfo *pCreateInfo, VmaPool *pPool)
Allocates Vulkan device memory and creates VmaPool object.
-
size_t maxBlockCount
Maximum number of blocks that can be allocated in this pool. Optional.
Definition: vk_mem_alloc.h:3077
-
Describes parameter of created VmaPool.
Definition: vk_mem_alloc.h:3049
-
Represents custom memory pool.
-
VkResult vmaFindMemoryTypeIndexForBufferInfo(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
Helps to find memoryTypeIndex, given VkBufferCreateInfo and VmaAllocationCreateInfo.
-
VmaMemoryUsage usage
Intended usage of memory.
Definition: vk_mem_alloc.h:2889
-
VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
-
void vmaDestroyBuffer(VmaAllocator allocator, VkBuffer buffer, VmaAllocation allocation)
Destroys Vulkan buffer and frees allocated memory.
-
Definition: vk_mem_alloc.h:2881
-
Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
Definition: vk_mem_alloc.h:3231
diff --git a/docs/html/debugging_memory_usage.html b/docs/html/debugging_memory_usage.html index 7ab422d..ce21667 100644 --- a/docs/html/debugging_memory_usage.html +++ b/docs/html/debugging_memory_usage.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Debugging incorrect memory usage @@ -29,10 +29,10 @@ - + @@ -106,7 +106,7 @@ Corruption detection diff --git a/docs/html/defragmentation.html b/docs/html/defragmentation.html index efe253d..2d15f36 100644 --- a/docs/html/defragmentation.html +++ b/docs/html/defragmentation.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Defragmentation @@ -29,10 +29,10 @@ - + @@ -129,6 +129,19 @@ Defragmenting CPU memory
vmaBindBufferMemory(allocator, allocations[i], buffers[i]);
}
}
+
Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
Definition: vk_mem_alloc.h:3231
+
Represents main object of this library initialized.
+
Represents Opaque object that represents started defragmentation process.
+
Parameters for defragmentation.
Definition: vk_mem_alloc.h:3642
+
uint32_t allocationCount
Number of allocations in pAllocations array.
Definition: vk_mem_alloc.h:3648
+
VkBool32 * pAllocationsChanged
Optional, output. Pointer to array that will be filled with information whether the allocation at cer...
Definition: vk_mem_alloc.h:3663
+
uint32_t maxCpuAllocationsToMove
Maximum number of allocations that can be moved to a different place using transfers on CPU side,...
Definition: vk_mem_alloc.h:3692
+
const VmaAllocation * pAllocations
Pointer to array of allocations that can be defragmented.
Definition: vk_mem_alloc.h:3657
+
VkDeviceSize maxCpuBytesToMove
Maximum total numbers of bytes that can be copied while moving allocations to different places using ...
Definition: vk_mem_alloc.h:3687
+
VkResult vmaDefragmentationBegin(VmaAllocator allocator, const VmaDefragmentationInfo2 *pInfo, VmaDefragmentationStats *pStats, VmaDefragmentationContext *pContext)
Begins defragmentation process.
+
VkResult vmaBindBufferMemory(VmaAllocator allocator, VmaAllocation allocation, VkBuffer buffer)
Binds buffer to allocation.
+
void vmaGetAllocationInfo(VmaAllocator allocator, VmaAllocation allocation, VmaAllocationInfo *pAllocationInfo)
Returns current information about specified allocation and atomically marks it as used in current fra...
+
VkResult vmaDefragmentationEnd(VmaAllocator allocator, VmaDefragmentationContext context)
Ends defragmentation process.

Setting VmaDefragmentationInfo2::pAllocationsChanged is optional. This output array tells whether particular allocation in VmaDefragmentationInfo2::pAllocations at the same index has been modified during defragmentation. You can pass null, but you then need to query every allocation passed to defragmentation for new parameters using vmaGetAllocationInfo() if you might need to recreate and rebind a buffer or image associated with it.

If you use Custom memory pools, you can fill VmaDefragmentationInfo2::poolCount and VmaDefragmentationInfo2::pPools instead of VmaDefragmentationInfo2::allocationCount and VmaDefragmentationInfo2::pAllocations to defragment all allocations in given pools. You cannot use VmaDefragmentationInfo2::pAllocationsChanged in that case. You can also combine both methods.

@@ -190,6 +203,9 @@ Defragmenting GPU memory

vmaBindBufferMemory(allocator, allocations[i], buffers[i]);
}
}
+
uint32_t maxGpuAllocationsToMove
Maximum number of allocations that can be moved to a different place using transfers on GPU side,...
Definition: vk_mem_alloc.h:3702
+
VkDeviceSize maxGpuBytesToMove
Maximum total numbers of bytes that can be copied while moving allocations to different places using ...
Definition: vk_mem_alloc.h:3697
+
VkCommandBuffer commandBuffer
Optional. Command buffer where GPU copy commands will be posted.
Definition: vk_mem_alloc.h:3711

You can combine these two methods by specifying non-zero maxGpu* as well as maxCpu* parameters. The library automatically chooses best method to defragment each memory pool.

You may try not to block your entire program to wait until defragmentation finishes, but do it in the background, as long as you carefully fullfill requirements described in function vmaDefragmentationBegin().

@@ -214,25 +230,9 @@ Writing custom defragmentation algorithm

-
uint32_t allocationCount
Number of allocations in pAllocations array.
Definition: vk_mem_alloc.h:3648
-
Represents main object of this library initialized.
-
void vmaGetAllocationInfo(VmaAllocator allocator, VmaAllocation allocation, VmaAllocationInfo *pAllocationInfo)
Returns current information about specified allocation and atomically marks it as used in current fra...
-
VkResult vmaDefragmentationEnd(VmaAllocator allocator, VmaDefragmentationContext context)
Ends defragmentation process.
-
VkDeviceSize maxGpuBytesToMove
Maximum total numbers of bytes that can be copied while moving allocations to different places using ...
Definition: vk_mem_alloc.h:3697
-
VkCommandBuffer commandBuffer
Optional. Command buffer where GPU copy commands will be posted.
Definition: vk_mem_alloc.h:3711
-
Parameters for defragmentation.
Definition: vk_mem_alloc.h:3642
-
VkResult vmaBindBufferMemory(VmaAllocator allocator, VmaAllocation allocation, VkBuffer buffer)
Binds buffer to allocation.
-
const VmaAllocation * pAllocations
Pointer to array of allocations that can be defragmented.
Definition: vk_mem_alloc.h:3657
-
uint32_t maxGpuAllocationsToMove
Maximum number of allocations that can be moved to a different place using transfers on GPU side,...
Definition: vk_mem_alloc.h:3702
-
VkDeviceSize maxCpuBytesToMove
Maximum total numbers of bytes that can be copied while moving allocations to different places using ...
Definition: vk_mem_alloc.h:3687
-
VkResult vmaDefragmentationBegin(VmaAllocator allocator, const VmaDefragmentationInfo2 *pInfo, VmaDefragmentationStats *pStats, VmaDefragmentationContext *pContext)
Begins defragmentation process.
-
VkBool32 * pAllocationsChanged
Optional, output. Pointer to array that will be filled with information whether the allocation at cer...
Definition: vk_mem_alloc.h:3663
-
Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
Definition: vk_mem_alloc.h:3231
-
Represents Opaque object that represents started defragmentation process.
-
uint32_t maxCpuAllocationsToMove
Maximum number of allocations that can be moved to a different place using transfers on CPU side,...
Definition: vk_mem_alloc.h:3692
diff --git a/docs/html/deprecated.html b/docs/html/deprecated.html index 0bf54e0..d997ede 100644 --- a/docs/html/deprecated.html +++ b/docs/html/deprecated.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Deprecated List @@ -29,10 +29,10 @@ - + @@ -66,18 +66,18 @@ $(function() {
-
Member vmaResizeAllocation (VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize newSize)
-
In version 2.2.0 it used to try to change allocation's size without moving or reallocating it. In current version it returns VK_SUCCESS only if newSize equals current allocation's size. Otherwise returns VK_ERROR_OUT_OF_POOL_MEMORY, indicating that allocation's size could not be changed.
+
Member vmaDefragment (VmaAllocator allocator, const VmaAllocation *pAllocations, size_t allocationCount, VkBool32 *pAllocationsChanged, const VmaDefragmentationInfo *pDefragmentationInfo, VmaDefragmentationStats *pDefragmentationStats)
+
This is a part of the old interface. It is recommended to use structure VmaDefragmentationInfo2 and function vmaDefragmentationBegin() instead.
Member VmaDefragmentationInfo
This is a part of the old interface. It is recommended to use structure VmaDefragmentationInfo2 and function vmaDefragmentationBegin() instead.
-
Member vmaDefragment (VmaAllocator allocator, const VmaAllocation *pAllocations, size_t allocationCount, VkBool32 *pAllocationsChanged, const VmaDefragmentationInfo *pDefragmentationInfo, VmaDefragmentationStats *pDefragmentationStats)
-
This is a part of the old interface. It is recommended to use structure VmaDefragmentationInfo2 and function vmaDefragmentationBegin() instead.
+
Member vmaResizeAllocation (VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize newSize)
+
In version 2.2.0 it used to try to change allocation's size without moving or reallocating it. In current version it returns VK_SUCCESS only if newSize equals current allocation's size. Otherwise returns VK_ERROR_OUT_OF_POOL_MEMORY, indicating that allocation's size could not be changed.
diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css index f640966..ffbff02 100644 --- a/docs/html/doxygen.css +++ b/docs/html/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.8.20 */ +/* The standard CSS for doxygen 1.9.1 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; @@ -103,30 +103,96 @@ caption { } span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; + font-size: 70%; text-align: center; } -div.qindex, div.navpath { - width: 100%; - line-height: 140%; +h3.version { + font-size: 90%; + text-align: center; } div.navtab { - margin-right: 15px; + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; } +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: #A0A0A0; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + /* @group Link Styling */ a { @@ -143,17 +209,6 @@ a:hover { text-decoration: underline; } -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #FFFFFF; - border: 1px double #869DCA; -} - .contents a.qindexHL:visited { color: #FFFFFF; } @@ -1426,6 +1481,12 @@ div.toc li.level4 { margin-left: 45px; } +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + .PageDocRTL-title div.toc li.level1 { margin-left: 0 !important; margin-right: 0; diff --git a/docs/html/enabling_buffer_device_address.html b/docs/html/enabling_buffer_device_address.html index 1619eb6..d02eb88 100644 --- a/docs/html/enabling_buffer_device_address.html +++ b/docs/html/enabling_buffer_device_address.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Enabling buffer device address @@ -29,10 +29,10 @@ - + @@ -90,7 +90,7 @@ More information diff --git a/docs/html/files.html b/docs/html/files.html index 3ad6e89..9c5f8ba 100644 --- a/docs/html/files.html +++ b/docs/html/files.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: File List @@ -29,10 +29,10 @@ - + @@ -73,7 +73,7 @@ $(function() { diff --git a/docs/html/functions.html b/docs/html/functions.html index 4532dd9..e6facd2 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Class Members @@ -29,10 +29,10 @@ - + @@ -392,7 +392,7 @@ $(function() { diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html index 8448a21..f6a20f2 100644 --- a/docs/html/functions_vars.html +++ b/docs/html/functions_vars.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Class Members - Variables @@ -29,10 +29,10 @@ - + @@ -392,7 +392,7 @@ $(function() { diff --git a/docs/html/general_considerations.html b/docs/html/general_considerations.html index 07c4efa..bb58338 100644 --- a/docs/html/general_considerations.html +++ b/docs/html/general_considerations.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: General considerations @@ -29,10 +29,10 @@ - + @@ -123,7 +123,7 @@ Features not supported diff --git a/docs/html/globals.html b/docs/html/globals.html index 5903e7f..e5af093 100644 --- a/docs/html/globals.html +++ b/docs/html/globals.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: File Members @@ -29,10 +29,10 @@ - + @@ -468,7 +468,7 @@ $(function() { diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html index 5abbe13..26dd4e0 100644 --- a/docs/html/globals_defs.html +++ b/docs/html/globals_defs.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: File Members @@ -29,10 +29,10 @@ - + @@ -90,7 +90,7 @@ $(function() { diff --git a/docs/html/globals_enum.html b/docs/html/globals_enum.html index bc7c873..1d58808 100644 --- a/docs/html/globals_enum.html +++ b/docs/html/globals_enum.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: File Members @@ -29,10 +29,10 @@ - + @@ -84,7 +84,7 @@ $(function() { diff --git a/docs/html/globals_eval.html b/docs/html/globals_eval.html index 39b2ae2..b370fa0 100644 --- a/docs/html/globals_eval.html +++ b/docs/html/globals_eval.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: File Members @@ -29,10 +29,10 @@ - + @@ -194,7 +194,7 @@ $(function() { diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html index 1883adf..8acec30 100644 --- a/docs/html/globals_func.html +++ b/docs/html/globals_func.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: File Members @@ -29,10 +29,10 @@ - + @@ -224,7 +224,7 @@ $(function() { diff --git a/docs/html/globals_type.html b/docs/html/globals_type.html index 13b8c6c..b54a1cf 100644 --- a/docs/html/globals_type.html +++ b/docs/html/globals_type.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: File Members @@ -29,10 +29,10 @@ - + @@ -156,7 +156,7 @@ $(function() { diff --git a/docs/html/index.html b/docs/html/index.html index 0532395..81203d8 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Vulkan Memory Allocator @@ -29,10 +29,10 @@ - + @@ -65,8 +65,8 @@ $(function() {
Vulkan Memory Allocator
-

Version 3.0.0-development (2020-11-03)

-

Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved.
+

Version 3.0.0-development (2021-02-16)

+

Copyright (c) 2017-2021 Advanced Micro Devices, Inc. All rights reserved.
License: MIT

Documentation of all members: vk_mem_alloc.h

@@ -173,7 +173,7 @@ See also

diff --git a/docs/html/lost_allocations.html b/docs/html/lost_allocations.html index 218ab60..53a4c33 100644 --- a/docs/html/lost_allocations.html +++ b/docs/html/lost_allocations.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Lost allocations @@ -29,10 +29,10 @@
- + @@ -117,6 +117,16 @@ $(function() {
vmaCreateBuffer(allocator, &bufCreateInfo, &allocCreateInfo, &m_Buf, &m_Alloc, nullptr);
}
+
Definition: vk_mem_alloc.h:2881
+
VmaMemoryUsage usage
Intended usage of memory.
Definition: vk_mem_alloc.h:2889
+
VmaAllocationCreateFlags flags
Use VmaAllocationCreateFlagBits enum.
Definition: vk_mem_alloc.h:2883
+
Represents single memory allocation.
+
void vmaDestroyBuffer(VmaAllocator allocator, VkBuffer buffer, VmaAllocation allocation)
Destroys Vulkan buffer and frees allocated memory.
+
VkBool32 vmaTouchAllocation(VmaAllocator allocator, VmaAllocation allocation)
Returns VK_TRUE if allocation is not lost and atomically marks it as used in current frame.
+
@ VMA_MEMORY_USAGE_GPU_ONLY
Definition: vk_mem_alloc.h:2723
+
VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
+
@ VMA_ALLOCATION_CREATE_CAN_BECOME_LOST_BIT
Definition: vk_mem_alloc.h:2813
+
@ VMA_ALLOCATION_CREATE_CAN_MAKE_OTHER_LOST_BIT
Definition: vk_mem_alloc.h:2820

When using lost allocations, you may see some Vulkan validation layer warnings about overlapping regions of memory bound to different kinds of buffers and images. This is still valid as long as you implement proper handling of lost allocations (like in the example above) and don't use them.

You can create an allocation that is already in lost state from the beginning using function vmaCreateLostAllocation(). It may be useful if you need a "dummy" allocation that is not null.

You can call function vmaMakePoolAllocationsLost() to set all eligible allocations in a specified custom pool to lost state. Allocations that have been "touched" in current frame or VmaPoolCreateInfo::frameInUseCount frames back cannot become lost.

@@ -124,19 +134,9 @@ $(function() {

Yes, although it has no visible effect. Calls to vmaGetAllocationInfo() and vmaTouchAllocation() update last use frame index also for allocations that cannot become lost, but the only way to observe it is to dump internal allocator state using vmaBuildStatsString(). You can use this feature for debugging purposes to explicitly mark allocations that you use in current frame and then analyze JSON dump to see for how long each allocation stays unused.

-
VkBool32 vmaTouchAllocation(VmaAllocator allocator, VmaAllocation allocation)
Returns VK_TRUE if allocation is not lost and atomically marks it as used in current frame.
-
@ VMA_ALLOCATION_CREATE_CAN_BECOME_LOST_BIT
Definition: vk_mem_alloc.h:2813
-
Represents single memory allocation.
-
@ VMA_MEMORY_USAGE_GPU_ONLY
Definition: vk_mem_alloc.h:2723
-
@ VMA_ALLOCATION_CREATE_CAN_MAKE_OTHER_LOST_BIT
Definition: vk_mem_alloc.h:2820
-
VmaMemoryUsage usage
Intended usage of memory.
Definition: vk_mem_alloc.h:2889
-
VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
-
void vmaDestroyBuffer(VmaAllocator allocator, VkBuffer buffer, VmaAllocation allocation)
Destroys Vulkan buffer and frees allocated memory.
-
VmaAllocationCreateFlags flags
Use VmaAllocationCreateFlagBits enum.
Definition: vk_mem_alloc.h:2883
-
Definition: vk_mem_alloc.h:2881
diff --git a/docs/html/memory_mapping.html b/docs/html/memory_mapping.html index 1372187..6a3368b 100644 --- a/docs/html/memory_mapping.html +++ b/docs/html/memory_mapping.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Memory mapping @@ -29,10 +29,10 @@ - + @@ -91,6 +91,10 @@ Mapping functions
vmaMapMemory(allocator, constantBufferAllocation, &mappedData);
memcpy(mappedData, &constantBufferData, sizeof(constantBufferData));
vmaUnmapMemory(allocator, constantBufferAllocation);
+
Represents single memory allocation.
+
Represents main object of this library initialized.
+
void vmaUnmapMemory(VmaAllocator allocator, VmaAllocation allocation)
Unmaps memory represented by given allocation, mapped previously using vmaMapMemory().
+
VkResult vmaMapMemory(VmaAllocator allocator, VmaAllocation allocation, void **ppData)
Maps memory represented by given allocation and returns pointer to it.

When mapping, you may see a warning from Vulkan validation layer similar to this one:

Mapping an image with layout VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL can result in undefined behavior if this memory is used by the device. Only GENERAL or PREINITIALIZED should be used.

It happens because the library maps entire VkDeviceMemory block, where different types of images and buffers may end up together, especially on GPUs with unified memory like Intel. You can safely ignore it if you are sure you access only memory of the intended object that you wanted to map.

@@ -112,6 +116,14 @@ Persistently mapped memory
// Buffer is already mapped. You can access its memory.
memcpy(allocInfo.pMappedData, &constantBufferData, sizeof(constantBufferData));
+
Definition: vk_mem_alloc.h:2881
+
VmaMemoryUsage usage
Intended usage of memory.
Definition: vk_mem_alloc.h:2889
+
VmaAllocationCreateFlags flags
Use VmaAllocationCreateFlagBits enum.
Definition: vk_mem_alloc.h:2883
+
Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
Definition: vk_mem_alloc.h:3231
+
void * pMappedData
Pointer to the beginning of this allocation as mapped data.
Definition: vk_mem_alloc.h:3275
+
@ VMA_MEMORY_USAGE_CPU_ONLY
Definition: vk_mem_alloc.h:2733
+
VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
+
@ VMA_ALLOCATION_CREATE_MAPPED_BIT
Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.
Definition: vk_mem_alloc.h:2800

There are some exceptions though, when you should consider mapping memory only for a short period of time:

  • When operating system is Windows 7 or 8.x (Windows 10 is not affected because it uses WDDM2), device is discrete AMD GPU, and memory type is the special 256 MiB pool of DEVICE_LOCAL + HOST_VISIBLE memory (selected when you use VMA_MEMORY_USAGE_CPU_TO_GPU), then whenever a memory block allocated from this memory type stays mapped for the time of any call to vkQueueSubmit() or vkQueuePresentKHR(), this block is migrated by WDDM to system RAM, which degrades performance. It doesn't matter if that particular memory block is actually used by the command buffer being submitted.
  • @@ -156,6 +168,10 @@ Finding out if memory is mappable
    // Allocation ended up in non-mappable memory.
    // You need to create CPU-side buffer in VMA_MEMORY_USAGE_CPU_ONLY and make a transfer.
    }
    +
    VkMemoryPropertyFlags preferredFlags
    Flags that preferably should be set in a memory type chosen for an allocation.
    Definition: vk_mem_alloc.h:2899
    +
    uint32_t memoryType
    Memory type index that this allocation was allocated from.
    Definition: vk_mem_alloc.h:3236
    +
    void vmaGetMemoryTypeProperties(VmaAllocator allocator, uint32_t memoryTypeIndex, VkMemoryPropertyFlags *pFlags)
    Given Memory Type Index, returns Property Flags of this memory type.
    +
    @ VMA_MEMORY_USAGE_GPU_ONLY
    Definition: vk_mem_alloc.h:2723

    You can even use VMA_ALLOCATION_CREATE_MAPPED_BIT flag while creating allocations that are not necessarily HOST_VISIBLE (e.g. using VMA_MEMORY_USAGE_GPU_ONLY). If the allocation ends up in memory type that is HOST_VISIBLE, it will be persistently mapped and you can use it directly. If not, the flag is just ignored. Example:

    VkBufferCreateInfo bufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO };
    bufCreateInfo.size = sizeof(ConstantBuffer);
    @@ -183,25 +199,9 @@ Finding out if memory is mappable
    }
    -
    void vmaUnmapMemory(VmaAllocator allocator, VmaAllocation allocation)
    Unmaps memory represented by given allocation, mapped previously using vmaMapMemory().
    -
    Represents main object of this library initialized.
    -
    void vmaGetMemoryTypeProperties(VmaAllocator allocator, uint32_t memoryTypeIndex, VkMemoryPropertyFlags *pFlags)
    Given Memory Type Index, returns Property Flags of this memory type.
    -
    @ VMA_MEMORY_USAGE_CPU_ONLY
    Definition: vk_mem_alloc.h:2733
    -
    Represents single memory allocation.
    -
    @ VMA_MEMORY_USAGE_GPU_ONLY
    Definition: vk_mem_alloc.h:2723
    -
    VkResult vmaMapMemory(VmaAllocator allocator, VmaAllocation allocation, void **ppData)
    Maps memory represented by given allocation and returns pointer to it.
    -
    void * pMappedData
    Pointer to the beginning of this allocation as mapped data.
    Definition: vk_mem_alloc.h:3275
    -
    VmaMemoryUsage usage
    Intended usage of memory.
    Definition: vk_mem_alloc.h:2889
    -
    VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
    -
    uint32_t memoryType
    Memory type index that this allocation was allocated from.
    Definition: vk_mem_alloc.h:3236
    -
    @ VMA_ALLOCATION_CREATE_MAPPED_BIT
    Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.
    Definition: vk_mem_alloc.h:2800
    -
    VmaAllocationCreateFlags flags
    Use VmaAllocationCreateFlagBits enum.
    Definition: vk_mem_alloc.h:2883
    -
    Definition: vk_mem_alloc.h:2881
    -
    VkMemoryPropertyFlags preferredFlags
    Flags that preferably should be set in a memory type chosen for an allocation.
    Definition: vk_mem_alloc.h:2899
    -
    Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
    Definition: vk_mem_alloc.h:3231
    diff --git a/docs/html/pages.html b/docs/html/pages.html index 67f6949..6525b8f 100644 --- a/docs/html/pages.html +++ b/docs/html/pages.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Related Pages @@ -29,10 +29,10 @@ - + @@ -73,7 +73,7 @@ $(function() { diff --git a/docs/html/quick_start.html b/docs/html/quick_start.html index bf5e1ec..968d8ee 100644 --- a/docs/html/quick_start.html +++ b/docs/html/quick_start.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Quick start @@ -29,10 +29,10 @@ - + @@ -104,6 +104,13 @@ Initialization
    VmaAllocator allocator;
    vmaCreateAllocator(&allocatorInfo, &allocator);
    +
    Description of a Allocator to be created.
    Definition: vk_mem_alloc.h:2415
    +
    VkPhysicalDevice physicalDevice
    Vulkan physical device.
    Definition: vk_mem_alloc.h:2420
    +
    VkInstance instance
    Handle to Vulkan instance object.
    Definition: vk_mem_alloc.h:2489
    +
    VkDevice device
    Vulkan device.
    Definition: vk_mem_alloc.h:2423
    +
    uint32_t vulkanApiVersion
    Optional. The highest version of Vulkan that the application is designed to use.
    Definition: vk_mem_alloc.h:2498
    +
    Represents main object of this library initialized.
    +
    VkResult vmaCreateAllocator(const VmaAllocatorCreateInfo *pCreateInfo, VmaAllocator *pAllocator)
    Creates Allocator object.

    Only members physicalDevice, device, instance are required. However, you should inform the library which Vulkan version do you use by setting VmaAllocatorCreateInfo::vulkanApiVersion and which extensions did you enable by setting VmaAllocatorCreateInfo::flags (like VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT for VK_KHR_buffer_device_address). Otherwise, VMA would use only features of Vulkan 1.0 core with no extensions.

    Resource allocation

    @@ -123,28 +130,21 @@ Resource allocation
    VkBuffer buffer;
    VmaAllocation allocation;
    vmaCreateBuffer(allocator, &bufferInfo, &allocInfo, &buffer, &allocation, nullptr);
    +
    Definition: vk_mem_alloc.h:2881
    +
    VmaMemoryUsage usage
    Intended usage of memory.
    Definition: vk_mem_alloc.h:2889
    +
    Represents single memory allocation.
    +
    @ VMA_MEMORY_USAGE_GPU_ONLY
    Definition: vk_mem_alloc.h:2723
    +
    VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)

    Don't forget to destroy your objects when no longer needed:

    vmaDestroyBuffer(allocator, buffer, allocation);
    +
    void vmaDestroyBuffer(VmaAllocator allocator, VkBuffer buffer, VmaAllocation allocation)
    Destroys Vulkan buffer and frees allocated memory.
    +
    void vmaDestroyAllocator(VmaAllocator allocator)
    Destroys allocator object.
    -
    VkPhysicalDevice physicalDevice
    Vulkan physical device.
    Definition: vk_mem_alloc.h:2420
    -
    Represents main object of this library initialized.
    -
    Description of a Allocator to be created.
    Definition: vk_mem_alloc.h:2415
    -
    Represents single memory allocation.
    -
    uint32_t vulkanApiVersion
    Optional. The highest version of Vulkan that the application is designed to use.
    Definition: vk_mem_alloc.h:2498
    -
    @ VMA_MEMORY_USAGE_GPU_ONLY
    Definition: vk_mem_alloc.h:2723
    -
    void vmaDestroyAllocator(VmaAllocator allocator)
    Destroys allocator object.
    -
    VkDevice device
    Vulkan device.
    Definition: vk_mem_alloc.h:2423
    -
    VmaMemoryUsage usage
    Intended usage of memory.
    Definition: vk_mem_alloc.h:2889
    -
    VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
    -
    VkResult vmaCreateAllocator(const VmaAllocatorCreateInfo *pCreateInfo, VmaAllocator *pAllocator)
    Creates Allocator object.
    -
    VkInstance instance
    Handle to Vulkan instance object.
    Definition: vk_mem_alloc.h:2489
    -
    void vmaDestroyBuffer(VmaAllocator allocator, VkBuffer buffer, VmaAllocation allocation)
    Destroys Vulkan buffer and frees allocated memory.
    -
    Definition: vk_mem_alloc.h:2881
    diff --git a/docs/html/record_and_replay.html b/docs/html/record_and_replay.html index ecfae00..972cb67 100644 --- a/docs/html/record_and_replay.html +++ b/docs/html/record_and_replay.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Record and replay @@ -29,10 +29,10 @@ - + @@ -83,7 +83,7 @@ Usage
    #define VMA_RECORDING_ENABLED 1

    To record sequence of calls to a file: Fill in VmaAllocatorCreateInfo::pRecordSettings member while creating VmaAllocator object. File is opened and written during whole lifetime of the allocator.

    To replay file: Use VmaReplay - standalone command-line program. Precompiled binary can be found in "bin" directory. Its source can be found in "src/VmaReplay" directory. Its project is generated by Premake. Command line syntax is printed when the program is launched without parameters. Basic usage:

    VmaReplay.exe MyRecording.csv
    -

    Documentation of file format can be found in file: "docs/Recording file format.md". It's a human-readable, text file in CSV format (Comma Separated Values).

    +

    Documentation of file format can be found in file: "docs/Recording file format.md". It's a human-readable, text file in CSV format (Comma Separated Values).

    Additional considerations

      @@ -94,7 +94,7 @@ Additional considerations diff --git a/docs/html/resource_aliasing.html b/docs/html/resource_aliasing.html index dd1bf08..dd1d756 100644 --- a/docs/html/resource_aliasing.html +++ b/docs/html/resource_aliasing.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Resource aliasing (overlap) @@ -29,10 +29,10 @@ - + @@ -137,6 +137,13 @@ $(function() {
      vmaFreeMemory(allocator, alloc);
      vkDestroyImage(allocator, img2, nullptr);
      vkDestroyImage(allocator, img1, nullptr);
      +
      Definition: vk_mem_alloc.h:2881
      +
      VmaMemoryUsage usage
      Intended usage of memory.
      Definition: vk_mem_alloc.h:2889
      +
      Represents single memory allocation.
      +
      VkResult vmaBindImageMemory(VmaAllocator allocator, VmaAllocation allocation, VkImage image)
      Binds image to allocation.
      +
      void vmaFreeMemory(VmaAllocator allocator, const VmaAllocation allocation)
      Frees memory previously allocated using vmaAllocateMemory(), vmaAllocateMemoryForBuffer(),...
      +
      @ VMA_MEMORY_USAGE_GPU_ONLY
      Definition: vk_mem_alloc.h:2723
      +
      VkResult vmaAllocateMemory(VmaAllocator allocator, const VkMemoryRequirements *pVkMemoryRequirements, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      General purpose memory allocation.

      Remember that using resouces that alias in memory requires proper synchronization. You need to issue a memory barrier to make sure commands that use img1 and img2 don't overlap on GPU timeline. You also need to treat a resource after aliasing as uninitialized - containing garbage data. For example, if you use img1 and then want to use img2, you need to issue an image memory barrier for img2 with oldLayout = VK_IMAGE_LAYOUT_UNDEFINED.

      Additional considerations:

        @@ -146,16 +153,9 @@ $(function() {
      -
      Represents single memory allocation.
      -
      @ VMA_MEMORY_USAGE_GPU_ONLY
      Definition: vk_mem_alloc.h:2723
      -
      VkResult vmaAllocateMemory(VmaAllocator allocator, const VkMemoryRequirements *pVkMemoryRequirements, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      General purpose memory allocation.
      -
      VmaMemoryUsage usage
      Intended usage of memory.
      Definition: vk_mem_alloc.h:2889
      -
      VkResult vmaBindImageMemory(VmaAllocator allocator, VmaAllocation allocation, VkImage image)
      Binds image to allocation.
      -
      Definition: vk_mem_alloc.h:2881
      -
      void vmaFreeMemory(VmaAllocator allocator, const VmaAllocation allocation)
      Frees memory previously allocated using vmaAllocateMemory(), vmaAllocateMemoryForBuffer(),...
      diff --git a/docs/html/search/all_0.html b/docs/html/search/all_0.html index a34319f..1ec5b2d 100644 --- a/docs/html/search/all_0.html +++ b/docs/html/search/all_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_1.html b/docs/html/search/all_1.html index 51aff6f..9f80e90 100644 --- a/docs/html/search/all_1.html +++ b/docs/html/search/all_1.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_10.html b/docs/html/search/all_10.html index e6ca18b..3bf1196 100644 --- a/docs/html/search/all_10.html +++ b/docs/html/search/all_10.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_11.html b/docs/html/search/all_11.html index 7cf685f..c9f79d2 100644 --- a/docs/html/search/all_11.html +++ b/docs/html/search/all_11.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_11.js b/docs/html/search/all_11.js index c040635..fd011a9 100644 --- a/docs/html/search/all_11.js +++ b/docs/html/search/all_11.js @@ -1,159 +1,159 @@ var searchData= [ - ['vulkan_20memory_20allocator_85',['Vulkan Memory Allocator',['../index.html',1,'']]], - ['vk_5famd_5fdevice_5fcoherent_5fmemory_86',['VK_AMD_device_coherent_memory',['../vk_amd_device_coherent_memory.html',1,'index']]], - ['vk_5fkhr_5fdedicated_5fallocation_87',['VK_KHR_dedicated_allocation',['../vk_khr_dedicated_allocation.html',1,'index']]], - ['vk_5fmem_5falloc_2eh_88',['vk_mem_alloc.h',['../vk__mem__alloc_8h.html',1,'']]], - ['vkallocatememory_89',['vkAllocateMemory',['../struct_vma_vulkan_functions.html#a2943bf99dfd784a0e8f599d987e22e6c',1,'VmaVulkanFunctions']]], - ['vkbindbuffermemory_90',['vkBindBufferMemory',['../struct_vma_vulkan_functions.html#a94fc4f3a605d9880bb3c0ba2c2fc80b2',1,'VmaVulkanFunctions']]], - ['vkbindimagememory_91',['vkBindImageMemory',['../struct_vma_vulkan_functions.html#a1338d96a128a5ade648b8d934907c637',1,'VmaVulkanFunctions']]], - ['vkcmdcopybuffer_92',['vkCmdCopyBuffer',['../struct_vma_vulkan_functions.html#ae5c0db8c89a3b82593dc16aa6a49fa3a',1,'VmaVulkanFunctions']]], - ['vkcreatebuffer_93',['vkCreateBuffer',['../struct_vma_vulkan_functions.html#ae8084315a25006271a2edfc3a447519f',1,'VmaVulkanFunctions']]], - ['vkcreateimage_94',['vkCreateImage',['../struct_vma_vulkan_functions.html#a23ebe70be515b9b5010a1d691200e325',1,'VmaVulkanFunctions']]], - ['vkdestroybuffer_95',['vkDestroyBuffer',['../struct_vma_vulkan_functions.html#a7e054606faddb07f0e8556f3ed317d45',1,'VmaVulkanFunctions']]], - ['vkdestroyimage_96',['vkDestroyImage',['../struct_vma_vulkan_functions.html#a90b898227039b1dcb3520f6e91f09ffa',1,'VmaVulkanFunctions']]], - ['vkflushmappedmemoryranges_97',['vkFlushMappedMemoryRanges',['../struct_vma_vulkan_functions.html#a33c322f4c4ad2810f8a9c97a277572f9',1,'VmaVulkanFunctions']]], - ['vkfreememory_98',['vkFreeMemory',['../struct_vma_vulkan_functions.html#a4c658701778564d62034255b5dda91b4',1,'VmaVulkanFunctions']]], - ['vkgetbuffermemoryrequirements_99',['vkGetBufferMemoryRequirements',['../struct_vma_vulkan_functions.html#a5b92901df89a4194b0d12f6071d4d143',1,'VmaVulkanFunctions']]], - ['vkgetimagememoryrequirements_100',['vkGetImageMemoryRequirements',['../struct_vma_vulkan_functions.html#a475f6f49f8debe4d10800592606d53f4',1,'VmaVulkanFunctions']]], - ['vkgetphysicaldevicememoryproperties_101',['vkGetPhysicalDeviceMemoryProperties',['../struct_vma_vulkan_functions.html#a60d25c33bba06bb8592e6875cbaa9830',1,'VmaVulkanFunctions']]], - ['vkgetphysicaldeviceproperties_102',['vkGetPhysicalDeviceProperties',['../struct_vma_vulkan_functions.html#a77b7a74082823e865dd6546623468f96',1,'VmaVulkanFunctions']]], - ['vkinvalidatemappedmemoryranges_103',['vkInvalidateMappedMemoryRanges',['../struct_vma_vulkan_functions.html#a5c1093bc32386a8060c37c9f282078a1',1,'VmaVulkanFunctions']]], - ['vkmapmemory_104',['vkMapMemory',['../struct_vma_vulkan_functions.html#ab5c1f38dea3a2cf00dc9eb4f57218c49',1,'VmaVulkanFunctions']]], - ['vkunmapmemory_105',['vkUnmapMemory',['../struct_vma_vulkan_functions.html#acc798589736f0becb317fc2196c1d8b9',1,'VmaVulkanFunctions']]], - ['vma_5fallocation_5fcreate_5fcan_5fbecome_5flost_5fbit_106',['VMA_ALLOCATION_CREATE_CAN_BECOME_LOST_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a5f436af6c8fe8540573a6d22627a6fd2',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fcan_5fmake_5fother_5flost_5fbit_107',['VMA_ALLOCATION_CREATE_CAN_MAKE_OTHER_LOST_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a68686d0ce9beb0d4d1b9f2b8b1389a7e',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fdedicated_5fmemory_5fbit_108',['VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fdont_5fbind_5fbit_109',['VMA_ALLOCATION_CREATE_DONT_BIND_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a2310568c62208af432724305fe29ccea',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fflag_5fbits_5fmax_5fenum_110',['VMA_ALLOCATION_CREATE_FLAG_BITS_MAX_ENUM',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597ae5633ec569f4899cf8f29e7385b2f882',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fmapped_5fbit_111',['VMA_ALLOCATION_CREATE_MAPPED_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fnever_5fallocate_5fbit_112',['VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a89759603401014eb325eb22a3839f2ff',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fstrategy_5fbest_5ffit_5fbit_113',['VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a839826775c62319466441f86496f036d',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fstrategy_5ffirst_5ffit_5fbit_114',['VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a33eb2052674f3ad92386c714a65fb777',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fstrategy_5fmask_115',['VMA_ALLOCATION_CREATE_STRATEGY_MASK',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a8e16845d81ae3d27c47106d4770d5c7e',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fstrategy_5fmin_5ffragmentation_5fbit_116',['VMA_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a621b704103eb3360230c860acf36e706',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fstrategy_5fmin_5fmemory_5fbit_117',['VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a8af1210cf591784afa026d94998f735d',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fstrategy_5fmin_5ftime_5fbit_118',['VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a0729e932b7ea170e3a128cad96c5cf6d',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fstrategy_5fworst_5ffit_5fbit_119',['VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597ad242a04f802e25fef0b880afe8bb0a62',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fupper_5faddress_5fbit_120',['VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a42ba3a2d2c7117953210b7c3ef8da0df',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fuser_5fdata_5fcopy_5fstring_5fbit_121',['VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597aa6f24f821cd6a7c5e4a443f7bf59c520',1,'vk_mem_alloc.h']]], - ['vma_5fallocation_5fcreate_5fwithin_5fbudget_5fbit_122',['VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597ab8b1764f3e9022368e440c057783b92d',1,'vk_mem_alloc.h']]], - ['vma_5fallocator_5fcreate_5famd_5fdevice_5fcoherent_5fmemory_5fbit_123',['VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7ca2acce4886d8078552efa38878413970f',1,'vk_mem_alloc.h']]], - ['vma_5fallocator_5fcreate_5fbuffer_5fdevice_5faddress_5fbit_124',['VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7ca5f1b28b0414319d1687e1f2b30ab0089',1,'vk_mem_alloc.h']]], - ['vma_5fallocator_5fcreate_5fext_5fmemory_5fbudget_5fbit_125',['VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7ca4d4687863f7bd4b418c6006dc04400b0',1,'vk_mem_alloc.h']]], - ['vma_5fallocator_5fcreate_5fext_5fmemory_5fpriority_5fbit_126',['VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7caffdd7a5169be3dbd7cbf6b3619e4f78a',1,'vk_mem_alloc.h']]], - ['vma_5fallocator_5fcreate_5fexternally_5fsynchronized_5fbit_127',['VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7ca4816ddaed324ba110172ca608a20f29d',1,'vk_mem_alloc.h']]], - ['vma_5fallocator_5fcreate_5fflag_5fbits_5fmax_5fenum_128',['VMA_ALLOCATOR_CREATE_FLAG_BITS_MAX_ENUM',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7cae4d5ad929caba5f23eb502b13bd5286c',1,'vk_mem_alloc.h']]], - ['vma_5fallocator_5fcreate_5fkhr_5fbind_5fmemory2_5fbit_129',['VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7ca8fb75bf07cd184ab903596295e863dee',1,'vk_mem_alloc.h']]], - ['vma_5fallocator_5fcreate_5fkhr_5fdedicated_5fallocation_5fbit_130',['VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7cace7da7cc6e71a625dfa763c55a597878',1,'vk_mem_alloc.h']]], - ['vma_5fbind_5fmemory2_131',['VMA_BIND_MEMORY2',['../vk__mem__alloc_8h.html#a88bef97f86d70a34a4c0746e09a2680d',1,'vk_mem_alloc.h']]], - ['vma_5fbuffer_5fdevice_5faddress_132',['VMA_BUFFER_DEVICE_ADDRESS',['../vk__mem__alloc_8h.html#a7f9d5e71b70dd1a137c303a8a8262c10',1,'vk_mem_alloc.h']]], - ['vma_5fdedicated_5fallocation_133',['VMA_DEDICATED_ALLOCATION',['../vk__mem__alloc_8h.html#af7b860e63b96d11e44ae8587ba06bbf4',1,'vk_mem_alloc.h']]], - ['vma_5fdefragmentation_5fflag_5fbits_5fmax_5fenum_134',['VMA_DEFRAGMENTATION_FLAG_BITS_MAX_ENUM',['../vk__mem__alloc_8h.html#a6552a65b71d16f378c6994b3ceaef50cab87ec33154803bfeb5ac2b379f1d6a97',1,'vk_mem_alloc.h']]], - ['vma_5fdefragmentation_5fflag_5fincremental_135',['VMA_DEFRAGMENTATION_FLAG_INCREMENTAL',['../vk__mem__alloc_8h.html#a6552a65b71d16f378c6994b3ceaef50ca31af49446af2459284a568ce2f3fdd33',1,'vk_mem_alloc.h']]], - ['vma_5fmemory_5fbudget_136',['VMA_MEMORY_BUDGET',['../vk__mem__alloc_8h.html#a05decf1cf4ebf767beba7acca6c1ec3a',1,'vk_mem_alloc.h']]], - ['vma_5fmemory_5fpriority_137',['VMA_MEMORY_PRIORITY',['../vk__mem__alloc_8h.html#a81af8a3a87e34bbb493848143cde43e4',1,'vk_mem_alloc.h']]], - ['vma_5fmemory_5fusage_5fcpu_5fcopy_138',['VMA_MEMORY_USAGE_CPU_COPY',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca416a444d4d0fc20067c3f76f32ff2500',1,'vk_mem_alloc.h']]], - ['vma_5fmemory_5fusage_5fcpu_5fonly_139',['VMA_MEMORY_USAGE_CPU_ONLY',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca40bdf4cddeffeb12f43d45ca1286e0a5',1,'vk_mem_alloc.h']]], - ['vma_5fmemory_5fusage_5fcpu_5fto_5fgpu_140',['VMA_MEMORY_USAGE_CPU_TO_GPU',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca9066b52c5a7079bb74a69aaf8b92ff67',1,'vk_mem_alloc.h']]], - ['vma_5fmemory_5fusage_5fgpu_5flazily_5fallocated_141',['VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca835333d9072db63a653818030e17614d',1,'vk_mem_alloc.h']]], - ['vma_5fmemory_5fusage_5fgpu_5fonly_142',['VMA_MEMORY_USAGE_GPU_ONLY',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305ccac6b5dc1432d88647aa4cd456246eadf7',1,'vk_mem_alloc.h']]], - ['vma_5fmemory_5fusage_5fgpu_5fto_5fcpu_143',['VMA_MEMORY_USAGE_GPU_TO_CPU',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca7b586d2fdaf82a463b58f581ed72be27',1,'vk_mem_alloc.h']]], - ['vma_5fmemory_5fusage_5fmax_5fenum_144',['VMA_MEMORY_USAGE_MAX_ENUM',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca091e69437ef693e8d0d287f1c719ba6e',1,'vk_mem_alloc.h']]], - ['vma_5fmemory_5fusage_5funknown_145',['VMA_MEMORY_USAGE_UNKNOWN',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305ccaf50d27e34e0925cf3a63db8c839121dd',1,'vk_mem_alloc.h']]], - ['vma_5fpool_5fcreate_5falgorithm_5fmask_146',['VMA_POOL_CREATE_ALGORITHM_MASK',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7af4d270f8f42517a0f70037ceb6ac1d9c',1,'vk_mem_alloc.h']]], - ['vma_5fpool_5fcreate_5fbuddy_5falgorithm_5fbit_147',['VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7a97a0dc38e5161b780594d998d313d35e',1,'vk_mem_alloc.h']]], - ['vma_5fpool_5fcreate_5fflag_5fbits_5fmax_5fenum_148',['VMA_POOL_CREATE_FLAG_BITS_MAX_ENUM',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7a1c7312bea9ea246846b9054fd6bd6aec',1,'vk_mem_alloc.h']]], - ['vma_5fpool_5fcreate_5fignore_5fbuffer_5fimage_5fgranularity_5fbit_149',['VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7a9f1a499508a8edb4e8ba40aa0290a3d2',1,'vk_mem_alloc.h']]], - ['vma_5fpool_5fcreate_5flinear_5falgorithm_5fbit_150',['VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7a13c8a444197c67866be9cb05599fc726',1,'vk_mem_alloc.h']]], - ['vma_5frecord_5fflag_5fbits_5fmax_5fenum_151',['VMA_RECORD_FLAG_BITS_MAX_ENUM',['../vk__mem__alloc_8h.html#a4dd2c44642312a147a4e93373a6e64d2a20dd17d69966dbffa054739d6090b85e',1,'vk_mem_alloc.h']]], - ['vma_5frecord_5fflush_5fafter_5fcall_5fbit_152',['VMA_RECORD_FLUSH_AFTER_CALL_BIT',['../vk__mem__alloc_8h.html#a4dd2c44642312a147a4e93373a6e64d2a8e7ab322e8732654be627c4ea8f36cc7',1,'vk_mem_alloc.h']]], - ['vma_5frecording_5fenabled_153',['VMA_RECORDING_ENABLED',['../vk__mem__alloc_8h.html#a1f0c126759fc96ccb6e2d23c101d770c',1,'vk_mem_alloc.h']]], - ['vma_5fstats_5fstring_5fenabled_154',['VMA_STATS_STRING_ENABLED',['../vk__mem__alloc_8h.html#ae25f0d55fd91cb166f002b63244800e1',1,'vk_mem_alloc.h']]], - ['vma_5fvulkan_5fversion_155',['VMA_VULKAN_VERSION',['../vk__mem__alloc_8h.html#a1a2407c283893638cc039bb31fcd74b6',1,'vk_mem_alloc.h']]], - ['vmaallocatememory_156',['vmaAllocateMemory',['../vk__mem__alloc_8h.html#abf28077dbf82d0908b8acbe8ee8dd9b8',1,'vk_mem_alloc.h']]], - ['vmaallocatememoryforbuffer_157',['vmaAllocateMemoryForBuffer',['../vk__mem__alloc_8h.html#a7fdf64415b6c3d83c454f28d2c53df7b',1,'vk_mem_alloc.h']]], - ['vmaallocatememoryforimage_158',['vmaAllocateMemoryForImage',['../vk__mem__alloc_8h.html#a0faa3f9e5fb233d29d1e00390650febb',1,'vk_mem_alloc.h']]], - ['vmaallocatememorypages_159',['vmaAllocateMemoryPages',['../vk__mem__alloc_8h.html#ad37e82e492b3de38fc3f4cffd9ad0ae1',1,'vk_mem_alloc.h']]], - ['vmaallocation_160',['VmaAllocation',['../struct_vma_allocation.html',1,'']]], - ['vmaallocationcreateflagbits_161',['VmaAllocationCreateFlagBits',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597',1,'VmaAllocationCreateFlagBits(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#a4fceecc301f4064dc808d3cd6c038941',1,'VmaAllocationCreateFlagBits(): vk_mem_alloc.h']]], - ['vmaallocationcreateflags_162',['VmaAllocationCreateFlags',['../vk__mem__alloc_8h.html#a5225e5e11f8376f6a31a1791f3d6e817',1,'vk_mem_alloc.h']]], - ['vmaallocationcreateinfo_163',['VmaAllocationCreateInfo',['../struct_vma_allocation_create_info.html',1,'VmaAllocationCreateInfo'],['../vk__mem__alloc_8h.html#a3bf110892ea2fb4649fedb68488d026a',1,'VmaAllocationCreateInfo(): vk_mem_alloc.h']]], - ['vmaallocationinfo_164',['VmaAllocationInfo',['../struct_vma_allocation_info.html',1,'VmaAllocationInfo'],['../vk__mem__alloc_8h.html#a1cf7774606721026a68aabe3af2e5b50',1,'VmaAllocationInfo(): vk_mem_alloc.h']]], - ['vmaallocator_165',['VmaAllocator',['../struct_vma_allocator.html',1,'']]], - ['vmaallocatorcreateflagbits_166',['VmaAllocatorCreateFlagBits',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7c',1,'VmaAllocatorCreateFlagBits(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#afd73b95e737ee7e76f827cb5472f559f',1,'VmaAllocatorCreateFlagBits(): vk_mem_alloc.h']]], - ['vmaallocatorcreateflags_167',['VmaAllocatorCreateFlags',['../vk__mem__alloc_8h.html#acfe6863e160722c2c1bbcf7573fddc4d',1,'vk_mem_alloc.h']]], - ['vmaallocatorcreateinfo_168',['VmaAllocatorCreateInfo',['../struct_vma_allocator_create_info.html',1,'VmaAllocatorCreateInfo'],['../vk__mem__alloc_8h.html#aad9652301d33759b83e52d4f3605a14a',1,'VmaAllocatorCreateInfo(): vk_mem_alloc.h']]], - ['vmaallocatorinfo_169',['VmaAllocatorInfo',['../struct_vma_allocator_info.html',1,'VmaAllocatorInfo'],['../vk__mem__alloc_8h.html#a1988031b0223fdbd564250fa1edd942c',1,'VmaAllocatorInfo(): vk_mem_alloc.h']]], - ['vmabegindefragmentationpass_170',['vmaBeginDefragmentationPass',['../vk__mem__alloc_8h.html#ac0f01545b6262f7d4d128fc8f8e5c77b',1,'vk_mem_alloc.h']]], - ['vmabindbuffermemory_171',['vmaBindBufferMemory',['../vk__mem__alloc_8h.html#a6b0929b914b60cf2d45cac4bf3547470',1,'vk_mem_alloc.h']]], - ['vmabindbuffermemory2_172',['vmaBindBufferMemory2',['../vk__mem__alloc_8h.html#a927c944f45e0f2941182abb6f608e64a',1,'vk_mem_alloc.h']]], - ['vmabindimagememory_173',['vmaBindImageMemory',['../vk__mem__alloc_8h.html#a3d3ca45799923aa5d138e9e5f9eb2da5',1,'vk_mem_alloc.h']]], - ['vmabindimagememory2_174',['vmaBindImageMemory2',['../vk__mem__alloc_8h.html#aa8251ee81b0045a443e35b8e8aa021bc',1,'vk_mem_alloc.h']]], - ['vmabudget_175',['VmaBudget',['../struct_vma_budget.html',1,'VmaBudget'],['../vk__mem__alloc_8h.html#aa078667e71b1ef24e87a6a30d128381d',1,'VmaBudget(): vk_mem_alloc.h']]], - ['vmabuildstatsstring_176',['vmaBuildStatsString',['../vk__mem__alloc_8h.html#aa4fee7eb5253377599ef4fd38c93c2a0',1,'vk_mem_alloc.h']]], - ['vmacalculatestats_177',['vmaCalculateStats',['../vk__mem__alloc_8h.html#a333b61c1788cb23559177531e6a93ca3',1,'vk_mem_alloc.h']]], - ['vmacheckcorruption_178',['vmaCheckCorruption',['../vk__mem__alloc_8h.html#a49329a7f030dafcf82f7b73334c22e98',1,'vk_mem_alloc.h']]], - ['vmacheckpoolcorruption_179',['vmaCheckPoolCorruption',['../vk__mem__alloc_8h.html#ad535935619c7a549bf837e1bb0068f89',1,'vk_mem_alloc.h']]], - ['vmacreateallocator_180',['vmaCreateAllocator',['../vk__mem__alloc_8h.html#a200692051ddb34240248234f5f4c17bb',1,'vk_mem_alloc.h']]], - ['vmacreatebuffer_181',['vmaCreateBuffer',['../vk__mem__alloc_8h.html#ac72ee55598617e8eecca384e746bab51',1,'vk_mem_alloc.h']]], - ['vmacreateimage_182',['vmaCreateImage',['../vk__mem__alloc_8h.html#a02a94f25679275851a53e82eacbcfc73',1,'vk_mem_alloc.h']]], - ['vmacreatelostallocation_183',['vmaCreateLostAllocation',['../vk__mem__alloc_8h.html#ae5c9657d9e94756269145b01c05d16f1',1,'vk_mem_alloc.h']]], - ['vmacreatepool_184',['vmaCreatePool',['../vk__mem__alloc_8h.html#a5c8770ded7c59c8caac6de0c2cb00b50',1,'vk_mem_alloc.h']]], - ['vmadefragment_185',['vmaDefragment',['../vk__mem__alloc_8h.html#a9f0f8f56db5f7f57fe4454f465142dac',1,'vk_mem_alloc.h']]], - ['vmadefragmentationbegin_186',['vmaDefragmentationBegin',['../vk__mem__alloc_8h.html#a36ba776fd7fd5cb1e9359fdc0d8e6e8a',1,'vk_mem_alloc.h']]], - ['vmadefragmentationcontext_187',['VmaDefragmentationContext',['../struct_vma_defragmentation_context.html',1,'']]], - ['vmadefragmentationend_188',['vmaDefragmentationEnd',['../vk__mem__alloc_8h.html#a8774e20e91e245aae959ba63efa15dd2',1,'vk_mem_alloc.h']]], - ['vmadefragmentationflagbits_189',['VmaDefragmentationFlagBits',['../vk__mem__alloc_8h.html#a6552a65b71d16f378c6994b3ceaef50c',1,'VmaDefragmentationFlagBits(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#a13415cc0b443353a7b5abda300b833fc',1,'VmaDefragmentationFlagBits(): vk_mem_alloc.h']]], - ['vmadefragmentationflags_190',['VmaDefragmentationFlags',['../vk__mem__alloc_8h.html#a88a77cef37e5d3c4fc9eb328885d048d',1,'vk_mem_alloc.h']]], - ['vmadefragmentationinfo_191',['VmaDefragmentationInfo',['../struct_vma_defragmentation_info.html',1,'VmaDefragmentationInfo'],['../vk__mem__alloc_8h.html#a2bf47f96bf92bed2a49461bd9af3acfa',1,'VmaDefragmentationInfo(): vk_mem_alloc.h']]], - ['vmadefragmentationinfo2_192',['VmaDefragmentationInfo2',['../struct_vma_defragmentation_info2.html',1,'VmaDefragmentationInfo2'],['../vk__mem__alloc_8h.html#ad6daeffaa670ce6d11a203a6224c9937',1,'VmaDefragmentationInfo2(): vk_mem_alloc.h']]], - ['vmadefragmentationpassinfo_193',['VmaDefragmentationPassInfo',['../struct_vma_defragmentation_pass_info.html',1,'VmaDefragmentationPassInfo'],['../vk__mem__alloc_8h.html#a72aebd522242d56abea67b4f47f6549e',1,'VmaDefragmentationPassInfo(): vk_mem_alloc.h']]], - ['vmadefragmentationpassmoveinfo_194',['VmaDefragmentationPassMoveInfo',['../struct_vma_defragmentation_pass_move_info.html',1,'VmaDefragmentationPassMoveInfo'],['../vk__mem__alloc_8h.html#ad6799e8e2b1527abfc84d33bc44aeaf5',1,'VmaDefragmentationPassMoveInfo(): vk_mem_alloc.h']]], - ['vmadefragmentationstats_195',['VmaDefragmentationStats',['../struct_vma_defragmentation_stats.html',1,'VmaDefragmentationStats'],['../vk__mem__alloc_8h.html#ad94034192259c2e34a4d1c5e27810403',1,'VmaDefragmentationStats(): vk_mem_alloc.h']]], - ['vmadestroyallocator_196',['vmaDestroyAllocator',['../vk__mem__alloc_8h.html#aa8d164061c88f22fb1fd3c8f3534bc1d',1,'vk_mem_alloc.h']]], - ['vmadestroybuffer_197',['vmaDestroyBuffer',['../vk__mem__alloc_8h.html#a0d9f4e4ba5bf9aab1f1c746387753d77',1,'vk_mem_alloc.h']]], - ['vmadestroyimage_198',['vmaDestroyImage',['../vk__mem__alloc_8h.html#ae50d2cb3b4a3bfd4dd40987234e50e7e',1,'vk_mem_alloc.h']]], - ['vmadestroypool_199',['vmaDestroyPool',['../vk__mem__alloc_8h.html#a5485779c8f1948238fc4e92232fa65e1',1,'vk_mem_alloc.h']]], - ['vmadevicememorycallbacks_200',['VmaDeviceMemoryCallbacks',['../struct_vma_device_memory_callbacks.html',1,'VmaDeviceMemoryCallbacks'],['../vk__mem__alloc_8h.html#a77692d3c8770ea8882d573206bd27b2b',1,'VmaDeviceMemoryCallbacks(): vk_mem_alloc.h']]], - ['vmaenddefragmentationpass_201',['vmaEndDefragmentationPass',['../vk__mem__alloc_8h.html#a1b9ffa538bed905af55c747cc48963bd',1,'vk_mem_alloc.h']]], - ['vmafindmemorytypeindex_202',['vmaFindMemoryTypeIndex',['../vk__mem__alloc_8h.html#aef15a94b58fbcb0fe706d5720e84a74a',1,'vk_mem_alloc.h']]], - ['vmafindmemorytypeindexforbufferinfo_203',['vmaFindMemoryTypeIndexForBufferInfo',['../vk__mem__alloc_8h.html#ae790ab9ffaf7667fb8f62523e6897888',1,'vk_mem_alloc.h']]], - ['vmafindmemorytypeindexforimageinfo_204',['vmaFindMemoryTypeIndexForImageInfo',['../vk__mem__alloc_8h.html#a088da83d8eaf3ce9056d9ea0b981d472',1,'vk_mem_alloc.h']]], - ['vmaflushallocation_205',['vmaFlushAllocation',['../vk__mem__alloc_8h.html#a30c37c1eec6025f397be41644f48490f',1,'vk_mem_alloc.h']]], - ['vmaflushallocations_206',['vmaFlushAllocations',['../vk__mem__alloc_8h.html#ac3dd00da721875ed99fa8a881922bdfc',1,'vk_mem_alloc.h']]], - ['vmafreememory_207',['vmaFreeMemory',['../vk__mem__alloc_8h.html#a5fea5518972ae9094b1526cbcb19b05f',1,'vk_mem_alloc.h']]], - ['vmafreememorypages_208',['vmaFreeMemoryPages',['../vk__mem__alloc_8h.html#a834b1e4aef395c0a1d56a28e69a4a17e',1,'vk_mem_alloc.h']]], - ['vmafreestatsstring_209',['vmaFreeStatsString',['../vk__mem__alloc_8h.html#a3104eb30d8122c84dd8541063f145288',1,'vk_mem_alloc.h']]], - ['vmagetallocationinfo_210',['vmaGetAllocationInfo',['../vk__mem__alloc_8h.html#a86dd08aba8633bfa4ad0df2e76481d8b',1,'vk_mem_alloc.h']]], - ['vmagetallocatorinfo_211',['vmaGetAllocatorInfo',['../vk__mem__alloc_8h.html#afa02231a791b37255720d566a52683e7',1,'vk_mem_alloc.h']]], - ['vmagetbudget_212',['vmaGetBudget',['../vk__mem__alloc_8h.html#aec0ed24ebea2d0099eed5f801daaefba',1,'vk_mem_alloc.h']]], - ['vmagetmemoryproperties_213',['vmaGetMemoryProperties',['../vk__mem__alloc_8h.html#ab88db292a17974f911182543fda52d19',1,'vk_mem_alloc.h']]], - ['vmagetmemorytypeproperties_214',['vmaGetMemoryTypeProperties',['../vk__mem__alloc_8h.html#a8701444752eb5de4464adb5a2b514bca',1,'vk_mem_alloc.h']]], - ['vmagetphysicaldeviceproperties_215',['vmaGetPhysicalDeviceProperties',['../vk__mem__alloc_8h.html#aecabf7b6e91ea87d0316fa0a9e014fe0',1,'vk_mem_alloc.h']]], - ['vmagetpoolname_216',['vmaGetPoolName',['../vk__mem__alloc_8h.html#af09b4e4eafdbee812e8d73ddf960f030',1,'vk_mem_alloc.h']]], - ['vmagetpoolstats_217',['vmaGetPoolStats',['../vk__mem__alloc_8h.html#ae8bf76997b234ef68aad922616df4153',1,'vk_mem_alloc.h']]], - ['vmainvalidateallocation_218',['vmaInvalidateAllocation',['../vk__mem__alloc_8h.html#aaa8412919139ef413a4215ac6a290fae',1,'vk_mem_alloc.h']]], - ['vmainvalidateallocations_219',['vmaInvalidateAllocations',['../vk__mem__alloc_8h.html#ab25b558d75f7378ec944a1522fdcc3c5',1,'vk_mem_alloc.h']]], - ['vmamakepoolallocationslost_220',['vmaMakePoolAllocationsLost',['../vk__mem__alloc_8h.html#a736bd6cbda886f36c891727e73bd4024',1,'vk_mem_alloc.h']]], - ['vmamapmemory_221',['vmaMapMemory',['../vk__mem__alloc_8h.html#ad5bd1243512d099706de88168992f069',1,'vk_mem_alloc.h']]], - ['vmamemoryusage_222',['VmaMemoryUsage',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cc',1,'VmaMemoryUsage(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#a806e8499dde802e59eb72a1dc811c35f',1,'VmaMemoryUsage(): vk_mem_alloc.h']]], - ['vmapool_223',['VmaPool',['../struct_vma_pool.html',1,'']]], - ['vmapoolcreateflagbits_224',['VmaPoolCreateFlagBits',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7',1,'VmaPoolCreateFlagBits(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#a4d4f2efc2509157a9e4ecd4fd7942303',1,'VmaPoolCreateFlagBits(): vk_mem_alloc.h']]], - ['vmapoolcreateflags_225',['VmaPoolCreateFlags',['../vk__mem__alloc_8h.html#a2770e325ea42e087c1b91fdf46d0292a',1,'vk_mem_alloc.h']]], - ['vmapoolcreateinfo_226',['VmaPoolCreateInfo',['../struct_vma_pool_create_info.html',1,'VmaPoolCreateInfo'],['../vk__mem__alloc_8h.html#a1017aa83489c0eee8d2163d2bf253f67',1,'VmaPoolCreateInfo(): vk_mem_alloc.h']]], - ['vmapoolstats_227',['VmaPoolStats',['../struct_vma_pool_stats.html',1,'VmaPoolStats'],['../vk__mem__alloc_8h.html#a4759a2d9f99c19ba7627553c847132f1',1,'VmaPoolStats(): vk_mem_alloc.h']]], - ['vmarecordflagbits_228',['VmaRecordFlagBits',['../vk__mem__alloc_8h.html#a4dd2c44642312a147a4e93373a6e64d2',1,'VmaRecordFlagBits(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#acd24d5eb58abff7e1f43cb32a1ba1413',1,'VmaRecordFlagBits(): vk_mem_alloc.h']]], - ['vmarecordflags_229',['VmaRecordFlags',['../vk__mem__alloc_8h.html#af3929a1a4547c592fc0b0e55ef452828',1,'vk_mem_alloc.h']]], - ['vmarecordsettings_230',['VmaRecordSettings',['../struct_vma_record_settings.html',1,'VmaRecordSettings'],['../vk__mem__alloc_8h.html#a16e21c877101493fce582664cd8754fc',1,'VmaRecordSettings(): vk_mem_alloc.h']]], - ['vmaresizeallocation_231',['vmaResizeAllocation',['../vk__mem__alloc_8h.html#a0ff488958ca72b28e545880463cb8696',1,'vk_mem_alloc.h']]], - ['vmasetallocationuserdata_232',['vmaSetAllocationUserData',['../vk__mem__alloc_8h.html#af9147d31ffc11d62fc187bde283ed14f',1,'vk_mem_alloc.h']]], - ['vmasetcurrentframeindex_233',['vmaSetCurrentFrameIndex',['../vk__mem__alloc_8h.html#ade56bf8dc9f5a5eaddf5f119ed525236',1,'vk_mem_alloc.h']]], - ['vmasetpoolname_234',['vmaSetPoolName',['../vk__mem__alloc_8h.html#adbae3a0b4ab078024462fc85c37f3b58',1,'vk_mem_alloc.h']]], - ['vmastatinfo_235',['VmaStatInfo',['../struct_vma_stat_info.html',1,'VmaStatInfo'],['../vk__mem__alloc_8h.html#aec5b57e29c97b5d69c6d5654d60df878',1,'VmaStatInfo(): vk_mem_alloc.h']]], - ['vmastats_236',['VmaStats',['../struct_vma_stats.html',1,'VmaStats'],['../vk__mem__alloc_8h.html#a21813b2efdf3836767a9058cd8a94034',1,'VmaStats(): vk_mem_alloc.h']]], - ['vmatouchallocation_237',['vmaTouchAllocation',['../vk__mem__alloc_8h.html#a43d8ba9673c846f049089a5029d5c73a',1,'vk_mem_alloc.h']]], - ['vmaunmapmemory_238',['vmaUnmapMemory',['../vk__mem__alloc_8h.html#a9bc268595cb33f6ec4d519cfce81ff45',1,'vk_mem_alloc.h']]], - ['vmavulkanfunctions_239',['VmaVulkanFunctions',['../struct_vma_vulkan_functions.html',1,'VmaVulkanFunctions'],['../vk__mem__alloc_8h.html#abb0a8e3b5040d847571cca6c7f9a8074',1,'VmaVulkanFunctions(): vk_mem_alloc.h']]], + ['vk_5famd_5fdevice_5fcoherent_5fmemory_85',['VK_AMD_device_coherent_memory',['../vk_amd_device_coherent_memory.html',1,'index']]], + ['vk_5fkhr_5fdedicated_5fallocation_86',['VK_KHR_dedicated_allocation',['../vk_khr_dedicated_allocation.html',1,'index']]], + ['vk_5fmem_5falloc_2eh_87',['vk_mem_alloc.h',['../vk__mem__alloc_8h.html',1,'']]], + ['vkallocatememory_88',['vkAllocateMemory',['../struct_vma_vulkan_functions.html#a2943bf99dfd784a0e8f599d987e22e6c',1,'VmaVulkanFunctions']]], + ['vkbindbuffermemory_89',['vkBindBufferMemory',['../struct_vma_vulkan_functions.html#a94fc4f3a605d9880bb3c0ba2c2fc80b2',1,'VmaVulkanFunctions']]], + ['vkbindimagememory_90',['vkBindImageMemory',['../struct_vma_vulkan_functions.html#a1338d96a128a5ade648b8d934907c637',1,'VmaVulkanFunctions']]], + ['vkcmdcopybuffer_91',['vkCmdCopyBuffer',['../struct_vma_vulkan_functions.html#ae5c0db8c89a3b82593dc16aa6a49fa3a',1,'VmaVulkanFunctions']]], + ['vkcreatebuffer_92',['vkCreateBuffer',['../struct_vma_vulkan_functions.html#ae8084315a25006271a2edfc3a447519f',1,'VmaVulkanFunctions']]], + ['vkcreateimage_93',['vkCreateImage',['../struct_vma_vulkan_functions.html#a23ebe70be515b9b5010a1d691200e325',1,'VmaVulkanFunctions']]], + ['vkdestroybuffer_94',['vkDestroyBuffer',['../struct_vma_vulkan_functions.html#a7e054606faddb07f0e8556f3ed317d45',1,'VmaVulkanFunctions']]], + ['vkdestroyimage_95',['vkDestroyImage',['../struct_vma_vulkan_functions.html#a90b898227039b1dcb3520f6e91f09ffa',1,'VmaVulkanFunctions']]], + ['vkflushmappedmemoryranges_96',['vkFlushMappedMemoryRanges',['../struct_vma_vulkan_functions.html#a33c322f4c4ad2810f8a9c97a277572f9',1,'VmaVulkanFunctions']]], + ['vkfreememory_97',['vkFreeMemory',['../struct_vma_vulkan_functions.html#a4c658701778564d62034255b5dda91b4',1,'VmaVulkanFunctions']]], + ['vkgetbuffermemoryrequirements_98',['vkGetBufferMemoryRequirements',['../struct_vma_vulkan_functions.html#a5b92901df89a4194b0d12f6071d4d143',1,'VmaVulkanFunctions']]], + ['vkgetimagememoryrequirements_99',['vkGetImageMemoryRequirements',['../struct_vma_vulkan_functions.html#a475f6f49f8debe4d10800592606d53f4',1,'VmaVulkanFunctions']]], + ['vkgetphysicaldevicememoryproperties_100',['vkGetPhysicalDeviceMemoryProperties',['../struct_vma_vulkan_functions.html#a60d25c33bba06bb8592e6875cbaa9830',1,'VmaVulkanFunctions']]], + ['vkgetphysicaldeviceproperties_101',['vkGetPhysicalDeviceProperties',['../struct_vma_vulkan_functions.html#a77b7a74082823e865dd6546623468f96',1,'VmaVulkanFunctions']]], + ['vkinvalidatemappedmemoryranges_102',['vkInvalidateMappedMemoryRanges',['../struct_vma_vulkan_functions.html#a5c1093bc32386a8060c37c9f282078a1',1,'VmaVulkanFunctions']]], + ['vkmapmemory_103',['vkMapMemory',['../struct_vma_vulkan_functions.html#ab5c1f38dea3a2cf00dc9eb4f57218c49',1,'VmaVulkanFunctions']]], + ['vkunmapmemory_104',['vkUnmapMemory',['../struct_vma_vulkan_functions.html#acc798589736f0becb317fc2196c1d8b9',1,'VmaVulkanFunctions']]], + ['vma_5fallocation_5fcreate_5fcan_5fbecome_5flost_5fbit_105',['VMA_ALLOCATION_CREATE_CAN_BECOME_LOST_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a5f436af6c8fe8540573a6d22627a6fd2',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fcan_5fmake_5fother_5flost_5fbit_106',['VMA_ALLOCATION_CREATE_CAN_MAKE_OTHER_LOST_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a68686d0ce9beb0d4d1b9f2b8b1389a7e',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fdedicated_5fmemory_5fbit_107',['VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a3fc311d855c2ff53f1090ef5c722b38f',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fdont_5fbind_5fbit_108',['VMA_ALLOCATION_CREATE_DONT_BIND_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a2310568c62208af432724305fe29ccea',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fflag_5fbits_5fmax_5fenum_109',['VMA_ALLOCATION_CREATE_FLAG_BITS_MAX_ENUM',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597ae5633ec569f4899cf8f29e7385b2f882',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fmapped_5fbit_110',['VMA_ALLOCATION_CREATE_MAPPED_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fnever_5fallocate_5fbit_111',['VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a89759603401014eb325eb22a3839f2ff',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fstrategy_5fbest_5ffit_5fbit_112',['VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a839826775c62319466441f86496f036d',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fstrategy_5ffirst_5ffit_5fbit_113',['VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a33eb2052674f3ad92386c714a65fb777',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fstrategy_5fmask_114',['VMA_ALLOCATION_CREATE_STRATEGY_MASK',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a8e16845d81ae3d27c47106d4770d5c7e',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fstrategy_5fmin_5ffragmentation_5fbit_115',['VMA_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a621b704103eb3360230c860acf36e706',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fstrategy_5fmin_5fmemory_5fbit_116',['VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a8af1210cf591784afa026d94998f735d',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fstrategy_5fmin_5ftime_5fbit_117',['VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a0729e932b7ea170e3a128cad96c5cf6d',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fstrategy_5fworst_5ffit_5fbit_118',['VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597ad242a04f802e25fef0b880afe8bb0a62',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fupper_5faddress_5fbit_119',['VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a42ba3a2d2c7117953210b7c3ef8da0df',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fuser_5fdata_5fcopy_5fstring_5fbit_120',['VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597aa6f24f821cd6a7c5e4a443f7bf59c520',1,'vk_mem_alloc.h']]], + ['vma_5fallocation_5fcreate_5fwithin_5fbudget_5fbit_121',['VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT',['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597ab8b1764f3e9022368e440c057783b92d',1,'vk_mem_alloc.h']]], + ['vma_5fallocator_5fcreate_5famd_5fdevice_5fcoherent_5fmemory_5fbit_122',['VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7ca2acce4886d8078552efa38878413970f',1,'vk_mem_alloc.h']]], + ['vma_5fallocator_5fcreate_5fbuffer_5fdevice_5faddress_5fbit_123',['VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7ca5f1b28b0414319d1687e1f2b30ab0089',1,'vk_mem_alloc.h']]], + ['vma_5fallocator_5fcreate_5fext_5fmemory_5fbudget_5fbit_124',['VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7ca4d4687863f7bd4b418c6006dc04400b0',1,'vk_mem_alloc.h']]], + ['vma_5fallocator_5fcreate_5fext_5fmemory_5fpriority_5fbit_125',['VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7caffdd7a5169be3dbd7cbf6b3619e4f78a',1,'vk_mem_alloc.h']]], + ['vma_5fallocator_5fcreate_5fexternally_5fsynchronized_5fbit_126',['VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7ca4816ddaed324ba110172ca608a20f29d',1,'vk_mem_alloc.h']]], + ['vma_5fallocator_5fcreate_5fflag_5fbits_5fmax_5fenum_127',['VMA_ALLOCATOR_CREATE_FLAG_BITS_MAX_ENUM',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7cae4d5ad929caba5f23eb502b13bd5286c',1,'vk_mem_alloc.h']]], + ['vma_5fallocator_5fcreate_5fkhr_5fbind_5fmemory2_5fbit_128',['VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7ca8fb75bf07cd184ab903596295e863dee',1,'vk_mem_alloc.h']]], + ['vma_5fallocator_5fcreate_5fkhr_5fdedicated_5fallocation_5fbit_129',['VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT',['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7cace7da7cc6e71a625dfa763c55a597878',1,'vk_mem_alloc.h']]], + ['vma_5fbind_5fmemory2_130',['VMA_BIND_MEMORY2',['../vk__mem__alloc_8h.html#a88bef97f86d70a34a4c0746e09a2680d',1,'vk_mem_alloc.h']]], + ['vma_5fbuffer_5fdevice_5faddress_131',['VMA_BUFFER_DEVICE_ADDRESS',['../vk__mem__alloc_8h.html#a7f9d5e71b70dd1a137c303a8a8262c10',1,'vk_mem_alloc.h']]], + ['vma_5fdedicated_5fallocation_132',['VMA_DEDICATED_ALLOCATION',['../vk__mem__alloc_8h.html#af7b860e63b96d11e44ae8587ba06bbf4',1,'vk_mem_alloc.h']]], + ['vma_5fdefragmentation_5fflag_5fbits_5fmax_5fenum_133',['VMA_DEFRAGMENTATION_FLAG_BITS_MAX_ENUM',['../vk__mem__alloc_8h.html#a6552a65b71d16f378c6994b3ceaef50cab87ec33154803bfeb5ac2b379f1d6a97',1,'vk_mem_alloc.h']]], + ['vma_5fdefragmentation_5fflag_5fincremental_134',['VMA_DEFRAGMENTATION_FLAG_INCREMENTAL',['../vk__mem__alloc_8h.html#a6552a65b71d16f378c6994b3ceaef50ca31af49446af2459284a568ce2f3fdd33',1,'vk_mem_alloc.h']]], + ['vma_5fmemory_5fbudget_135',['VMA_MEMORY_BUDGET',['../vk__mem__alloc_8h.html#a05decf1cf4ebf767beba7acca6c1ec3a',1,'vk_mem_alloc.h']]], + ['vma_5fmemory_5fpriority_136',['VMA_MEMORY_PRIORITY',['../vk__mem__alloc_8h.html#a81af8a3a87e34bbb493848143cde43e4',1,'vk_mem_alloc.h']]], + ['vma_5fmemory_5fusage_5fcpu_5fcopy_137',['VMA_MEMORY_USAGE_CPU_COPY',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca416a444d4d0fc20067c3f76f32ff2500',1,'vk_mem_alloc.h']]], + ['vma_5fmemory_5fusage_5fcpu_5fonly_138',['VMA_MEMORY_USAGE_CPU_ONLY',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca40bdf4cddeffeb12f43d45ca1286e0a5',1,'vk_mem_alloc.h']]], + ['vma_5fmemory_5fusage_5fcpu_5fto_5fgpu_139',['VMA_MEMORY_USAGE_CPU_TO_GPU',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca9066b52c5a7079bb74a69aaf8b92ff67',1,'vk_mem_alloc.h']]], + ['vma_5fmemory_5fusage_5fgpu_5flazily_5fallocated_140',['VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca835333d9072db63a653818030e17614d',1,'vk_mem_alloc.h']]], + ['vma_5fmemory_5fusage_5fgpu_5fonly_141',['VMA_MEMORY_USAGE_GPU_ONLY',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305ccac6b5dc1432d88647aa4cd456246eadf7',1,'vk_mem_alloc.h']]], + ['vma_5fmemory_5fusage_5fgpu_5fto_5fcpu_142',['VMA_MEMORY_USAGE_GPU_TO_CPU',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca7b586d2fdaf82a463b58f581ed72be27',1,'vk_mem_alloc.h']]], + ['vma_5fmemory_5fusage_5fmax_5fenum_143',['VMA_MEMORY_USAGE_MAX_ENUM',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cca091e69437ef693e8d0d287f1c719ba6e',1,'vk_mem_alloc.h']]], + ['vma_5fmemory_5fusage_5funknown_144',['VMA_MEMORY_USAGE_UNKNOWN',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305ccaf50d27e34e0925cf3a63db8c839121dd',1,'vk_mem_alloc.h']]], + ['vma_5fpool_5fcreate_5falgorithm_5fmask_145',['VMA_POOL_CREATE_ALGORITHM_MASK',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7af4d270f8f42517a0f70037ceb6ac1d9c',1,'vk_mem_alloc.h']]], + ['vma_5fpool_5fcreate_5fbuddy_5falgorithm_5fbit_146',['VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7a97a0dc38e5161b780594d998d313d35e',1,'vk_mem_alloc.h']]], + ['vma_5fpool_5fcreate_5fflag_5fbits_5fmax_5fenum_147',['VMA_POOL_CREATE_FLAG_BITS_MAX_ENUM',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7a1c7312bea9ea246846b9054fd6bd6aec',1,'vk_mem_alloc.h']]], + ['vma_5fpool_5fcreate_5fignore_5fbuffer_5fimage_5fgranularity_5fbit_148',['VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7a9f1a499508a8edb4e8ba40aa0290a3d2',1,'vk_mem_alloc.h']]], + ['vma_5fpool_5fcreate_5flinear_5falgorithm_5fbit_149',['VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7a13c8a444197c67866be9cb05599fc726',1,'vk_mem_alloc.h']]], + ['vma_5frecord_5fflag_5fbits_5fmax_5fenum_150',['VMA_RECORD_FLAG_BITS_MAX_ENUM',['../vk__mem__alloc_8h.html#a4dd2c44642312a147a4e93373a6e64d2a20dd17d69966dbffa054739d6090b85e',1,'vk_mem_alloc.h']]], + ['vma_5frecord_5fflush_5fafter_5fcall_5fbit_151',['VMA_RECORD_FLUSH_AFTER_CALL_BIT',['../vk__mem__alloc_8h.html#a4dd2c44642312a147a4e93373a6e64d2a8e7ab322e8732654be627c4ea8f36cc7',1,'vk_mem_alloc.h']]], + ['vma_5frecording_5fenabled_152',['VMA_RECORDING_ENABLED',['../vk__mem__alloc_8h.html#a1f0c126759fc96ccb6e2d23c101d770c',1,'vk_mem_alloc.h']]], + ['vma_5fstats_5fstring_5fenabled_153',['VMA_STATS_STRING_ENABLED',['../vk__mem__alloc_8h.html#ae25f0d55fd91cb166f002b63244800e1',1,'vk_mem_alloc.h']]], + ['vma_5fvulkan_5fversion_154',['VMA_VULKAN_VERSION',['../vk__mem__alloc_8h.html#a1a2407c283893638cc039bb31fcd74b6',1,'vk_mem_alloc.h']]], + ['vmaallocatememory_155',['vmaAllocateMemory',['../vk__mem__alloc_8h.html#abf28077dbf82d0908b8acbe8ee8dd9b8',1,'vk_mem_alloc.h']]], + ['vmaallocatememoryforbuffer_156',['vmaAllocateMemoryForBuffer',['../vk__mem__alloc_8h.html#a7fdf64415b6c3d83c454f28d2c53df7b',1,'vk_mem_alloc.h']]], + ['vmaallocatememoryforimage_157',['vmaAllocateMemoryForImage',['../vk__mem__alloc_8h.html#a0faa3f9e5fb233d29d1e00390650febb',1,'vk_mem_alloc.h']]], + ['vmaallocatememorypages_158',['vmaAllocateMemoryPages',['../vk__mem__alloc_8h.html#ad37e82e492b3de38fc3f4cffd9ad0ae1',1,'vk_mem_alloc.h']]], + ['vmaallocation_159',['VmaAllocation',['../struct_vma_allocation.html',1,'']]], + ['vmaallocationcreateflagbits_160',['VmaAllocationCreateFlagBits',['../vk__mem__alloc_8h.html#a4fceecc301f4064dc808d3cd6c038941',1,'VmaAllocationCreateFlagBits(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597',1,'VmaAllocationCreateFlagBits(): vk_mem_alloc.h']]], + ['vmaallocationcreateflags_161',['VmaAllocationCreateFlags',['../vk__mem__alloc_8h.html#a5225e5e11f8376f6a31a1791f3d6e817',1,'vk_mem_alloc.h']]], + ['vmaallocationcreateinfo_162',['VmaAllocationCreateInfo',['../struct_vma_allocation_create_info.html',1,'VmaAllocationCreateInfo'],['../vk__mem__alloc_8h.html#a3bf110892ea2fb4649fedb68488d026a',1,'VmaAllocationCreateInfo(): vk_mem_alloc.h']]], + ['vmaallocationinfo_163',['VmaAllocationInfo',['../struct_vma_allocation_info.html',1,'VmaAllocationInfo'],['../vk__mem__alloc_8h.html#a1cf7774606721026a68aabe3af2e5b50',1,'VmaAllocationInfo(): vk_mem_alloc.h']]], + ['vmaallocator_164',['VmaAllocator',['../struct_vma_allocator.html',1,'']]], + ['vmaallocatorcreateflagbits_165',['VmaAllocatorCreateFlagBits',['../vk__mem__alloc_8h.html#afd73b95e737ee7e76f827cb5472f559f',1,'VmaAllocatorCreateFlagBits(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#a4f87c9100d154a65a4ad495f7763cf7c',1,'VmaAllocatorCreateFlagBits(): vk_mem_alloc.h']]], + ['vmaallocatorcreateflags_166',['VmaAllocatorCreateFlags',['../vk__mem__alloc_8h.html#acfe6863e160722c2c1bbcf7573fddc4d',1,'vk_mem_alloc.h']]], + ['vmaallocatorcreateinfo_167',['VmaAllocatorCreateInfo',['../struct_vma_allocator_create_info.html',1,'VmaAllocatorCreateInfo'],['../vk__mem__alloc_8h.html#aad9652301d33759b83e52d4f3605a14a',1,'VmaAllocatorCreateInfo(): vk_mem_alloc.h']]], + ['vmaallocatorinfo_168',['VmaAllocatorInfo',['../struct_vma_allocator_info.html',1,'VmaAllocatorInfo'],['../vk__mem__alloc_8h.html#a1988031b0223fdbd564250fa1edd942c',1,'VmaAllocatorInfo(): vk_mem_alloc.h']]], + ['vmabegindefragmentationpass_169',['vmaBeginDefragmentationPass',['../vk__mem__alloc_8h.html#ac0f01545b6262f7d4d128fc8f8e5c77b',1,'vk_mem_alloc.h']]], + ['vmabindbuffermemory_170',['vmaBindBufferMemory',['../vk__mem__alloc_8h.html#a6b0929b914b60cf2d45cac4bf3547470',1,'vk_mem_alloc.h']]], + ['vmabindbuffermemory2_171',['vmaBindBufferMemory2',['../vk__mem__alloc_8h.html#a927c944f45e0f2941182abb6f608e64a',1,'vk_mem_alloc.h']]], + ['vmabindimagememory_172',['vmaBindImageMemory',['../vk__mem__alloc_8h.html#a3d3ca45799923aa5d138e9e5f9eb2da5',1,'vk_mem_alloc.h']]], + ['vmabindimagememory2_173',['vmaBindImageMemory2',['../vk__mem__alloc_8h.html#aa8251ee81b0045a443e35b8e8aa021bc',1,'vk_mem_alloc.h']]], + ['vmabudget_174',['VmaBudget',['../struct_vma_budget.html',1,'VmaBudget'],['../vk__mem__alloc_8h.html#aa078667e71b1ef24e87a6a30d128381d',1,'VmaBudget(): vk_mem_alloc.h']]], + ['vmabuildstatsstring_175',['vmaBuildStatsString',['../vk__mem__alloc_8h.html#aa4fee7eb5253377599ef4fd38c93c2a0',1,'vk_mem_alloc.h']]], + ['vmacalculatestats_176',['vmaCalculateStats',['../vk__mem__alloc_8h.html#a333b61c1788cb23559177531e6a93ca3',1,'vk_mem_alloc.h']]], + ['vmacheckcorruption_177',['vmaCheckCorruption',['../vk__mem__alloc_8h.html#a49329a7f030dafcf82f7b73334c22e98',1,'vk_mem_alloc.h']]], + ['vmacheckpoolcorruption_178',['vmaCheckPoolCorruption',['../vk__mem__alloc_8h.html#ad535935619c7a549bf837e1bb0068f89',1,'vk_mem_alloc.h']]], + ['vmacreateallocator_179',['vmaCreateAllocator',['../vk__mem__alloc_8h.html#a200692051ddb34240248234f5f4c17bb',1,'vk_mem_alloc.h']]], + ['vmacreatebuffer_180',['vmaCreateBuffer',['../vk__mem__alloc_8h.html#ac72ee55598617e8eecca384e746bab51',1,'vk_mem_alloc.h']]], + ['vmacreateimage_181',['vmaCreateImage',['../vk__mem__alloc_8h.html#a02a94f25679275851a53e82eacbcfc73',1,'vk_mem_alloc.h']]], + ['vmacreatelostallocation_182',['vmaCreateLostAllocation',['../vk__mem__alloc_8h.html#ae5c9657d9e94756269145b01c05d16f1',1,'vk_mem_alloc.h']]], + ['vmacreatepool_183',['vmaCreatePool',['../vk__mem__alloc_8h.html#a5c8770ded7c59c8caac6de0c2cb00b50',1,'vk_mem_alloc.h']]], + ['vmadefragment_184',['vmaDefragment',['../vk__mem__alloc_8h.html#a9f0f8f56db5f7f57fe4454f465142dac',1,'vk_mem_alloc.h']]], + ['vmadefragmentationbegin_185',['vmaDefragmentationBegin',['../vk__mem__alloc_8h.html#a36ba776fd7fd5cb1e9359fdc0d8e6e8a',1,'vk_mem_alloc.h']]], + ['vmadefragmentationcontext_186',['VmaDefragmentationContext',['../struct_vma_defragmentation_context.html',1,'']]], + ['vmadefragmentationend_187',['vmaDefragmentationEnd',['../vk__mem__alloc_8h.html#a8774e20e91e245aae959ba63efa15dd2',1,'vk_mem_alloc.h']]], + ['vmadefragmentationflagbits_188',['VmaDefragmentationFlagBits',['../vk__mem__alloc_8h.html#a6552a65b71d16f378c6994b3ceaef50c',1,'VmaDefragmentationFlagBits(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#a13415cc0b443353a7b5abda300b833fc',1,'VmaDefragmentationFlagBits(): vk_mem_alloc.h']]], + ['vmadefragmentationflags_189',['VmaDefragmentationFlags',['../vk__mem__alloc_8h.html#a88a77cef37e5d3c4fc9eb328885d048d',1,'vk_mem_alloc.h']]], + ['vmadefragmentationinfo_190',['VmaDefragmentationInfo',['../struct_vma_defragmentation_info.html',1,'VmaDefragmentationInfo'],['../vk__mem__alloc_8h.html#a2bf47f96bf92bed2a49461bd9af3acfa',1,'VmaDefragmentationInfo(): vk_mem_alloc.h']]], + ['vmadefragmentationinfo2_191',['VmaDefragmentationInfo2',['../struct_vma_defragmentation_info2.html',1,'VmaDefragmentationInfo2'],['../vk__mem__alloc_8h.html#ad6daeffaa670ce6d11a203a6224c9937',1,'VmaDefragmentationInfo2(): vk_mem_alloc.h']]], + ['vmadefragmentationpassinfo_192',['VmaDefragmentationPassInfo',['../struct_vma_defragmentation_pass_info.html',1,'VmaDefragmentationPassInfo'],['../vk__mem__alloc_8h.html#a72aebd522242d56abea67b4f47f6549e',1,'VmaDefragmentationPassInfo(): vk_mem_alloc.h']]], + ['vmadefragmentationpassmoveinfo_193',['VmaDefragmentationPassMoveInfo',['../struct_vma_defragmentation_pass_move_info.html',1,'VmaDefragmentationPassMoveInfo'],['../vk__mem__alloc_8h.html#ad6799e8e2b1527abfc84d33bc44aeaf5',1,'VmaDefragmentationPassMoveInfo(): vk_mem_alloc.h']]], + ['vmadefragmentationstats_194',['VmaDefragmentationStats',['../struct_vma_defragmentation_stats.html',1,'VmaDefragmentationStats'],['../vk__mem__alloc_8h.html#ad94034192259c2e34a4d1c5e27810403',1,'VmaDefragmentationStats(): vk_mem_alloc.h']]], + ['vmadestroyallocator_195',['vmaDestroyAllocator',['../vk__mem__alloc_8h.html#aa8d164061c88f22fb1fd3c8f3534bc1d',1,'vk_mem_alloc.h']]], + ['vmadestroybuffer_196',['vmaDestroyBuffer',['../vk__mem__alloc_8h.html#a0d9f4e4ba5bf9aab1f1c746387753d77',1,'vk_mem_alloc.h']]], + ['vmadestroyimage_197',['vmaDestroyImage',['../vk__mem__alloc_8h.html#ae50d2cb3b4a3bfd4dd40987234e50e7e',1,'vk_mem_alloc.h']]], + ['vmadestroypool_198',['vmaDestroyPool',['../vk__mem__alloc_8h.html#a5485779c8f1948238fc4e92232fa65e1',1,'vk_mem_alloc.h']]], + ['vmadevicememorycallbacks_199',['VmaDeviceMemoryCallbacks',['../struct_vma_device_memory_callbacks.html',1,'VmaDeviceMemoryCallbacks'],['../vk__mem__alloc_8h.html#a77692d3c8770ea8882d573206bd27b2b',1,'VmaDeviceMemoryCallbacks(): vk_mem_alloc.h']]], + ['vmaenddefragmentationpass_200',['vmaEndDefragmentationPass',['../vk__mem__alloc_8h.html#a1b9ffa538bed905af55c747cc48963bd',1,'vk_mem_alloc.h']]], + ['vmafindmemorytypeindex_201',['vmaFindMemoryTypeIndex',['../vk__mem__alloc_8h.html#aef15a94b58fbcb0fe706d5720e84a74a',1,'vk_mem_alloc.h']]], + ['vmafindmemorytypeindexforbufferinfo_202',['vmaFindMemoryTypeIndexForBufferInfo',['../vk__mem__alloc_8h.html#ae790ab9ffaf7667fb8f62523e6897888',1,'vk_mem_alloc.h']]], + ['vmafindmemorytypeindexforimageinfo_203',['vmaFindMemoryTypeIndexForImageInfo',['../vk__mem__alloc_8h.html#a088da83d8eaf3ce9056d9ea0b981d472',1,'vk_mem_alloc.h']]], + ['vmaflushallocation_204',['vmaFlushAllocation',['../vk__mem__alloc_8h.html#a30c37c1eec6025f397be41644f48490f',1,'vk_mem_alloc.h']]], + ['vmaflushallocations_205',['vmaFlushAllocations',['../vk__mem__alloc_8h.html#ac3dd00da721875ed99fa8a881922bdfc',1,'vk_mem_alloc.h']]], + ['vmafreememory_206',['vmaFreeMemory',['../vk__mem__alloc_8h.html#a5fea5518972ae9094b1526cbcb19b05f',1,'vk_mem_alloc.h']]], + ['vmafreememorypages_207',['vmaFreeMemoryPages',['../vk__mem__alloc_8h.html#a834b1e4aef395c0a1d56a28e69a4a17e',1,'vk_mem_alloc.h']]], + ['vmafreestatsstring_208',['vmaFreeStatsString',['../vk__mem__alloc_8h.html#a3104eb30d8122c84dd8541063f145288',1,'vk_mem_alloc.h']]], + ['vmagetallocationinfo_209',['vmaGetAllocationInfo',['../vk__mem__alloc_8h.html#a86dd08aba8633bfa4ad0df2e76481d8b',1,'vk_mem_alloc.h']]], + ['vmagetallocatorinfo_210',['vmaGetAllocatorInfo',['../vk__mem__alloc_8h.html#afa02231a791b37255720d566a52683e7',1,'vk_mem_alloc.h']]], + ['vmagetbudget_211',['vmaGetBudget',['../vk__mem__alloc_8h.html#aec0ed24ebea2d0099eed5f801daaefba',1,'vk_mem_alloc.h']]], + ['vmagetmemoryproperties_212',['vmaGetMemoryProperties',['../vk__mem__alloc_8h.html#ab88db292a17974f911182543fda52d19',1,'vk_mem_alloc.h']]], + ['vmagetmemorytypeproperties_213',['vmaGetMemoryTypeProperties',['../vk__mem__alloc_8h.html#a8701444752eb5de4464adb5a2b514bca',1,'vk_mem_alloc.h']]], + ['vmagetphysicaldeviceproperties_214',['vmaGetPhysicalDeviceProperties',['../vk__mem__alloc_8h.html#aecabf7b6e91ea87d0316fa0a9e014fe0',1,'vk_mem_alloc.h']]], + ['vmagetpoolname_215',['vmaGetPoolName',['../vk__mem__alloc_8h.html#af09b4e4eafdbee812e8d73ddf960f030',1,'vk_mem_alloc.h']]], + ['vmagetpoolstats_216',['vmaGetPoolStats',['../vk__mem__alloc_8h.html#ae8bf76997b234ef68aad922616df4153',1,'vk_mem_alloc.h']]], + ['vmainvalidateallocation_217',['vmaInvalidateAllocation',['../vk__mem__alloc_8h.html#aaa8412919139ef413a4215ac6a290fae',1,'vk_mem_alloc.h']]], + ['vmainvalidateallocations_218',['vmaInvalidateAllocations',['../vk__mem__alloc_8h.html#ab25b558d75f7378ec944a1522fdcc3c5',1,'vk_mem_alloc.h']]], + ['vmamakepoolallocationslost_219',['vmaMakePoolAllocationsLost',['../vk__mem__alloc_8h.html#a736bd6cbda886f36c891727e73bd4024',1,'vk_mem_alloc.h']]], + ['vmamapmemory_220',['vmaMapMemory',['../vk__mem__alloc_8h.html#ad5bd1243512d099706de88168992f069',1,'vk_mem_alloc.h']]], + ['vmamemoryusage_221',['VmaMemoryUsage',['../vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cc',1,'VmaMemoryUsage(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#a806e8499dde802e59eb72a1dc811c35f',1,'VmaMemoryUsage(): vk_mem_alloc.h']]], + ['vmapool_222',['VmaPool',['../struct_vma_pool.html',1,'']]], + ['vmapoolcreateflagbits_223',['VmaPoolCreateFlagBits',['../vk__mem__alloc_8h.html#a9a7c45f9c863695d98c83fa5ac940fe7',1,'VmaPoolCreateFlagBits(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#a4d4f2efc2509157a9e4ecd4fd7942303',1,'VmaPoolCreateFlagBits(): vk_mem_alloc.h']]], + ['vmapoolcreateflags_224',['VmaPoolCreateFlags',['../vk__mem__alloc_8h.html#a2770e325ea42e087c1b91fdf46d0292a',1,'vk_mem_alloc.h']]], + ['vmapoolcreateinfo_225',['VmaPoolCreateInfo',['../struct_vma_pool_create_info.html',1,'VmaPoolCreateInfo'],['../vk__mem__alloc_8h.html#a1017aa83489c0eee8d2163d2bf253f67',1,'VmaPoolCreateInfo(): vk_mem_alloc.h']]], + ['vmapoolstats_226',['VmaPoolStats',['../struct_vma_pool_stats.html',1,'VmaPoolStats'],['../vk__mem__alloc_8h.html#a4759a2d9f99c19ba7627553c847132f1',1,'VmaPoolStats(): vk_mem_alloc.h']]], + ['vmarecordflagbits_227',['VmaRecordFlagBits',['../vk__mem__alloc_8h.html#a4dd2c44642312a147a4e93373a6e64d2',1,'VmaRecordFlagBits(): vk_mem_alloc.h'],['../vk__mem__alloc_8h.html#acd24d5eb58abff7e1f43cb32a1ba1413',1,'VmaRecordFlagBits(): vk_mem_alloc.h']]], + ['vmarecordflags_228',['VmaRecordFlags',['../vk__mem__alloc_8h.html#af3929a1a4547c592fc0b0e55ef452828',1,'vk_mem_alloc.h']]], + ['vmarecordsettings_229',['VmaRecordSettings',['../vk__mem__alloc_8h.html#a16e21c877101493fce582664cd8754fc',1,'VmaRecordSettings(): vk_mem_alloc.h'],['../struct_vma_record_settings.html',1,'VmaRecordSettings']]], + ['vmaresizeallocation_230',['vmaResizeAllocation',['../vk__mem__alloc_8h.html#a0ff488958ca72b28e545880463cb8696',1,'vk_mem_alloc.h']]], + ['vmasetallocationuserdata_231',['vmaSetAllocationUserData',['../vk__mem__alloc_8h.html#af9147d31ffc11d62fc187bde283ed14f',1,'vk_mem_alloc.h']]], + ['vmasetcurrentframeindex_232',['vmaSetCurrentFrameIndex',['../vk__mem__alloc_8h.html#ade56bf8dc9f5a5eaddf5f119ed525236',1,'vk_mem_alloc.h']]], + ['vmasetpoolname_233',['vmaSetPoolName',['../vk__mem__alloc_8h.html#adbae3a0b4ab078024462fc85c37f3b58',1,'vk_mem_alloc.h']]], + ['vmastatinfo_234',['VmaStatInfo',['../struct_vma_stat_info.html',1,'VmaStatInfo'],['../vk__mem__alloc_8h.html#aec5b57e29c97b5d69c6d5654d60df878',1,'VmaStatInfo(): vk_mem_alloc.h']]], + ['vmastats_235',['VmaStats',['../struct_vma_stats.html',1,'VmaStats'],['../vk__mem__alloc_8h.html#a21813b2efdf3836767a9058cd8a94034',1,'VmaStats(): vk_mem_alloc.h']]], + ['vmatouchallocation_236',['vmaTouchAllocation',['../vk__mem__alloc_8h.html#a43d8ba9673c846f049089a5029d5c73a',1,'vk_mem_alloc.h']]], + ['vmaunmapmemory_237',['vmaUnmapMemory',['../vk__mem__alloc_8h.html#a9bc268595cb33f6ec4d519cfce81ff45',1,'vk_mem_alloc.h']]], + ['vmavulkanfunctions_238',['VmaVulkanFunctions',['../struct_vma_vulkan_functions.html',1,'VmaVulkanFunctions'],['../vk__mem__alloc_8h.html#abb0a8e3b5040d847571cca6c7f9a8074',1,'VmaVulkanFunctions(): vk_mem_alloc.h']]], + ['vulkan_20memory_20allocator_239',['Vulkan Memory Allocator',['../index.html',1,'']]], ['vulkanapiversion_240',['vulkanApiVersion',['../struct_vma_allocator_create_info.html#ae0ffc55139b54520a6bb704b29ffc285',1,'VmaAllocatorCreateInfo']]] ]; diff --git a/docs/html/search/all_2.html b/docs/html/search/all_2.html index 1f81f66..02cfffc 100644 --- a/docs/html/search/all_2.html +++ b/docs/html/search/all_2.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_3.html b/docs/html/search/all_3.html index 2e31ab9..39767b8 100644 --- a/docs/html/search/all_3.html +++ b/docs/html/search/all_3.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_4.html b/docs/html/search/all_4.html index 0540c16..fc40463 100644 --- a/docs/html/search/all_4.html +++ b/docs/html/search/all_4.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_5.html b/docs/html/search/all_5.html index ebec30b..9dd9344 100644 --- a/docs/html/search/all_5.html +++ b/docs/html/search/all_5.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_6.html b/docs/html/search/all_6.html index 31cbd05..f1e516d 100644 --- a/docs/html/search/all_6.html +++ b/docs/html/search/all_6.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_7.html b/docs/html/search/all_7.html index 18c555d..8ddbf6c 100644 --- a/docs/html/search/all_7.html +++ b/docs/html/search/all_7.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_8.html b/docs/html/search/all_8.html index 0f9eb41..83c55ae 100644 --- a/docs/html/search/all_8.html +++ b/docs/html/search/all_8.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_9.html b/docs/html/search/all_9.html index d27c0f7..1e263c1 100644 --- a/docs/html/search/all_9.html +++ b/docs/html/search/all_9.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_a.html b/docs/html/search/all_a.html index 2c8b75b..3a6cac1 100644 --- a/docs/html/search/all_a.html +++ b/docs/html/search/all_a.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_b.html b/docs/html/search/all_b.html index 9a220b1..130deb4 100644 --- a/docs/html/search/all_b.html +++ b/docs/html/search/all_b.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_c.html b/docs/html/search/all_c.html index ec92b71..3dd5af0 100644 --- a/docs/html/search/all_c.html +++ b/docs/html/search/all_c.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_d.html b/docs/html/search/all_d.html index 606caba..af7f2f0 100644 --- a/docs/html/search/all_d.html +++ b/docs/html/search/all_d.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js index 408aa9e..1d3630a 100644 --- a/docs/html/search/all_d.js +++ b/docs/html/search/all_d.js @@ -1,7 +1,7 @@ var searchData= [ - ['record_20and_20replay_69',['Record and replay',['../record_and_replay.html',1,'index']]], - ['requiredflags_70',['requiredFlags',['../struct_vma_allocation_create_info.html#a9166390303ff42d783305bc31c2b6b90',1,'VmaAllocationCreateInfo']]], - ['resource_20aliasing_20_28overlap_29_71',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'index']]], - ['recommended_20usage_20patterns_72',['Recommended usage patterns',['../usage_patterns.html',1,'index']]] + ['recommended_20usage_20patterns_69',['Recommended usage patterns',['../usage_patterns.html',1,'index']]], + ['record_20and_20replay_70',['Record and replay',['../record_and_replay.html',1,'index']]], + ['requiredflags_71',['requiredFlags',['../struct_vma_allocation_create_info.html#a9166390303ff42d783305bc31c2b6b90',1,'VmaAllocationCreateInfo']]], + ['resource_20aliasing_20_28overlap_29_72',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'index']]] ]; diff --git a/docs/html/search/all_e.html b/docs/html/search/all_e.html index 310da24..e25df42 100644 --- a/docs/html/search/all_e.html +++ b/docs/html/search/all_e.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/all_f.html b/docs/html/search/all_f.html index de78f81..b23da6c 100644 --- a/docs/html/search/all_f.html +++ b/docs/html/search/all_f.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/classes_0.html b/docs/html/search/classes_0.html index 7e0afc8..af8159e 100644 --- a/docs/html/search/classes_0.html +++ b/docs/html/search/classes_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/defines_0.html b/docs/html/search/defines_0.html index 0ede6c4..15cc3de 100644 --- a/docs/html/search/defines_0.html +++ b/docs/html/search/defines_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/enums_0.html b/docs/html/search/enums_0.html index 9035e6a..141fff5 100644 --- a/docs/html/search/enums_0.html +++ b/docs/html/search/enums_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/enumvalues_0.html b/docs/html/search/enumvalues_0.html index c2cd472..0d131d9 100644 --- a/docs/html/search/enumvalues_0.html +++ b/docs/html/search/enumvalues_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/files_0.html b/docs/html/search/files_0.html index 76b64f5..9498842 100644 --- a/docs/html/search/files_0.html +++ b/docs/html/search/files_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/functions_0.html b/docs/html/search/functions_0.html index f04535a..eb4c501 100644 --- a/docs/html/search/functions_0.html +++ b/docs/html/search/functions_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/nomatches.html b/docs/html/search/nomatches.html index 4377320..2b9360b 100644 --- a/docs/html/search/nomatches.html +++ b/docs/html/search/nomatches.html @@ -1,5 +1,6 @@ - + + diff --git a/docs/html/search/pages_0.html b/docs/html/search/pages_0.html index a281c4b..8517b48 100644 --- a/docs/html/search/pages_0.html +++ b/docs/html/search/pages_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_1.html b/docs/html/search/pages_1.html index 0e1cf6b..a0fb679 100644 --- a/docs/html/search/pages_1.html +++ b/docs/html/search/pages_1.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_2.html b/docs/html/search/pages_2.html index e11214c..084edfd 100644 --- a/docs/html/search/pages_2.html +++ b/docs/html/search/pages_2.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_3.html b/docs/html/search/pages_3.html index c509f11..c0b45b0 100644 --- a/docs/html/search/pages_3.html +++ b/docs/html/search/pages_3.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_4.html b/docs/html/search/pages_4.html index 7053756..0f05c2e 100644 --- a/docs/html/search/pages_4.html +++ b/docs/html/search/pages_4.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_5.html b/docs/html/search/pages_5.html index 937d0df..27e2b6c 100644 --- a/docs/html/search/pages_5.html +++ b/docs/html/search/pages_5.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_6.html b/docs/html/search/pages_6.html index d4a7645..39300b6 100644 --- a/docs/html/search/pages_6.html +++ b/docs/html/search/pages_6.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_7.html b/docs/html/search/pages_7.html index 3a4c975..c005fe5 100644 --- a/docs/html/search/pages_7.html +++ b/docs/html/search/pages_7.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_8.html b/docs/html/search/pages_8.html index 1e5b01a..c942aa2 100644 --- a/docs/html/search/pages_8.html +++ b/docs/html/search/pages_8.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_8.js b/docs/html/search/pages_8.js index 6623f88..a1962ed 100644 --- a/docs/html/search/pages_8.js +++ b/docs/html/search/pages_8.js @@ -1,6 +1,6 @@ var searchData= [ - ['record_20and_20replay_497',['Record and replay',['../record_and_replay.html',1,'index']]], - ['resource_20aliasing_20_28overlap_29_498',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'index']]], - ['recommended_20usage_20patterns_499',['Recommended usage patterns',['../usage_patterns.html',1,'index']]] + ['recommended_20usage_20patterns_497',['Recommended usage patterns',['../usage_patterns.html',1,'index']]], + ['record_20and_20replay_498',['Record and replay',['../record_and_replay.html',1,'index']]], + ['resource_20aliasing_20_28overlap_29_499',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'index']]] ]; diff --git a/docs/html/search/pages_9.html b/docs/html/search/pages_9.html index 111b90c..4199c40 100644 --- a/docs/html/search/pages_9.html +++ b/docs/html/search/pages_9.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_a.html b/docs/html/search/pages_a.html index 6566619..2cc9d19 100644 --- a/docs/html/search/pages_a.html +++ b/docs/html/search/pages_a.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/pages_a.js b/docs/html/search/pages_a.js index ecad7c7..c356f50 100644 --- a/docs/html/search/pages_a.js +++ b/docs/html/search/pages_a.js @@ -1,6 +1,6 @@ var searchData= [ - ['vulkan_20memory_20allocator_502',['Vulkan Memory Allocator',['../index.html',1,'']]], - ['vk_5famd_5fdevice_5fcoherent_5fmemory_503',['VK_AMD_device_coherent_memory',['../vk_amd_device_coherent_memory.html',1,'index']]], - ['vk_5fkhr_5fdedicated_5fallocation_504',['VK_KHR_dedicated_allocation',['../vk_khr_dedicated_allocation.html',1,'index']]] + ['vk_5famd_5fdevice_5fcoherent_5fmemory_502',['VK_AMD_device_coherent_memory',['../vk_amd_device_coherent_memory.html',1,'index']]], + ['vk_5fkhr_5fdedicated_5fallocation_503',['VK_KHR_dedicated_allocation',['../vk_khr_dedicated_allocation.html',1,'index']]], + ['vulkan_20memory_20allocator_504',['Vulkan Memory Allocator',['../index.html',1,'']]] ]; diff --git a/docs/html/search/search.css b/docs/html/search/search.css index 933cf08..9074198 100644 --- a/docs/html/search/search.css +++ b/docs/html/search/search.css @@ -204,19 +204,21 @@ a.SRScope:focus, a.SRScope:active { span.SRScope { padding-left: 4px; + font-family: Arial, Verdana, sans-serif; } .SRPage .SRStatus { padding: 2px 5px; font-size: 8pt; font-style: italic; + font-family: Arial, Verdana, sans-serif; } .SRResult { display: none; } -DIV.searchresults { +div.searchresults { margin-left: 10px; margin-right: 10px; } diff --git a/docs/html/search/search.js b/docs/html/search/search.js index 92b6094..fb226f7 100644 --- a/docs/html/search/search.js +++ b/docs/html/search/search.js @@ -80,9 +80,10 @@ function getYPos(item) storing this instance. Is needed to be able to set timeouts. resultPath - path to use for external files */ -function SearchBox(name, resultsPath, inFrame, label) +function SearchBox(name, resultsPath, inFrame, label, extension) { if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } + if (!extension || extension == "") { extension = ".html"; } // ---------- Instance variables this.name = name; @@ -97,6 +98,7 @@ function SearchBox(name, resultsPath, inFrame, label) this.searchActive = false; this.insideFrame = inFrame; this.searchLabel = label; + this.extension = extension; // ----------- DOM Elements @@ -347,13 +349,13 @@ function SearchBox(name, resultsPath, inFrame, label) if (idx!=-1) { var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; resultsPageWithSearch = resultsPage+'?'+escape(searchValue); hasResultsPage = true; } else // nothing available for this search term { - resultsPage = this.resultsPath + '/nomatches.html'; + resultsPage = this.resultsPath + '/nomatches' + this.extension; resultsPageWithSearch = resultsPage; hasResultsPage = false; } @@ -439,12 +441,12 @@ function SearchResults(name) while (element && element!=parentElement) { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') { return element; } - if (element.nodeName == 'DIV' && element.hasChildNodes()) + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) { element = element.firstChild; } diff --git a/docs/html/search/typedefs_0.html b/docs/html/search/typedefs_0.html index b66f0a7..a4684c4 100644 --- a/docs/html/search/typedefs_0.html +++ b/docs/html/search/typedefs_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/typedefs_1.html b/docs/html/search/typedefs_1.html index bca8d76..46cf01e 100644 --- a/docs/html/search/typedefs_1.html +++ b/docs/html/search/typedefs_1.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_0.html b/docs/html/search/variables_0.html index 2edd111..1e477c0 100644 --- a/docs/html/search/variables_0.html +++ b/docs/html/search/variables_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_1.html b/docs/html/search/variables_1.html index 98b95a9..ea73d9a 100644 --- a/docs/html/search/variables_1.html +++ b/docs/html/search/variables_1.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_2.html b/docs/html/search/variables_2.html index 3e0c591..0580462 100644 --- a/docs/html/search/variables_2.html +++ b/docs/html/search/variables_2.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_3.html b/docs/html/search/variables_3.html index 7867da3..0d69e76 100644 --- a/docs/html/search/variables_3.html +++ b/docs/html/search/variables_3.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_4.html b/docs/html/search/variables_4.html index 732dee2..a4b6506 100644 --- a/docs/html/search/variables_4.html +++ b/docs/html/search/variables_4.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_5.html b/docs/html/search/variables_5.html index ad9b545..7e345d1 100644 --- a/docs/html/search/variables_5.html +++ b/docs/html/search/variables_5.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_6.html b/docs/html/search/variables_6.html index 1cf2da1..7d48e75 100644 --- a/docs/html/search/variables_6.html +++ b/docs/html/search/variables_6.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_7.html b/docs/html/search/variables_7.html index ab2db0b..5c26340 100644 --- a/docs/html/search/variables_7.html +++ b/docs/html/search/variables_7.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_8.html b/docs/html/search/variables_8.html index baec040..dc9ec54 100644 --- a/docs/html/search/variables_8.html +++ b/docs/html/search/variables_8.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_9.html b/docs/html/search/variables_9.html index df2fea0..7b01475 100644 --- a/docs/html/search/variables_9.html +++ b/docs/html/search/variables_9.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_a.html b/docs/html/search/variables_a.html index c7491ab..52a724d 100644 --- a/docs/html/search/variables_a.html +++ b/docs/html/search/variables_a.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_b.html b/docs/html/search/variables_b.html index 371f07a..f376b27 100644 --- a/docs/html/search/variables_b.html +++ b/docs/html/search/variables_b.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_c.html b/docs/html/search/variables_c.html index c89b8de..6019eba 100644 --- a/docs/html/search/variables_c.html +++ b/docs/html/search/variables_c.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/search/variables_d.html b/docs/html/search/variables_d.html index a73000d..f61ae75 100644 --- a/docs/html/search/variables_d.html +++ b/docs/html/search/variables_d.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/html/statistics.html b/docs/html/statistics.html index 03b6bad..796dbf8 100644 --- a/docs/html/statistics.html +++ b/docs/html/statistics.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Statistics @@ -29,10 +29,10 @@ - + @@ -84,7 +84,7 @@ JSON dump diff --git a/docs/html/staying_within_budget.html b/docs/html/staying_within_budget.html index 1608f24..d43cb5b 100644 --- a/docs/html/staying_within_budget.html +++ b/docs/html/staying_within_budget.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Staying within budget @@ -29,10 +29,10 @@ - + @@ -98,7 +98,7 @@ Controlling memory usage diff --git a/docs/html/struct_vma_allocation.html b/docs/html/struct_vma_allocation.html index 3b4779e..5f2a3e6 100644 --- a/docs/html/struct_vma_allocation.html +++ b/docs/html/struct_vma_allocation.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaAllocation Struct Reference @@ -29,10 +29,10 @@ - + @@ -83,7 +83,7 @@ $(function() { diff --git a/docs/html/struct_vma_allocation_create_info-members.html b/docs/html/struct_vma_allocation_create_info-members.html index 2ac1c3d..a97d4f7 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 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -79,7 +79,7 @@ $(function() { diff --git a/docs/html/struct_vma_allocation_create_info.html b/docs/html/struct_vma_allocation_create_info.html index 48db176..331b7fc 100644 --- a/docs/html/struct_vma_allocation_create_info.html +++ b/docs/html/struct_vma_allocation_create_info.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaAllocationCreateInfo Struct Reference @@ -29,10 +29,10 @@ - + @@ -244,7 +244,7 @@ If pool is not null, this member is ignored.

      diff --git a/docs/html/struct_vma_allocation_info-members.html b/docs/html/struct_vma_allocation_info-members.html index 2f0eb72..7556c0a 100644 --- a/docs/html/struct_vma_allocation_info-members.html +++ b/docs/html/struct_vma_allocation_info-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -77,7 +77,7 @@ $(function() { diff --git a/docs/html/struct_vma_allocation_info.html b/docs/html/struct_vma_allocation_info.html index 443bef4..693a70a 100644 --- a/docs/html/struct_vma_allocation_info.html +++ b/docs/html/struct_vma_allocation_info.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaAllocationInfo Struct Reference @@ -29,10 +29,10 @@ - + @@ -211,7 +211,7 @@ Public Attributes diff --git a/docs/html/struct_vma_allocator.html b/docs/html/struct_vma_allocator.html index c5acb34..5093f78 100644 --- a/docs/html/struct_vma_allocator.html +++ b/docs/html/struct_vma_allocator.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaAllocator Struct Reference @@ -29,10 +29,10 @@ - + @@ -80,7 +80,7 @@ $(function() { diff --git a/docs/html/struct_vma_allocator_create_info-members.html b/docs/html/struct_vma_allocator_create_info-members.html index 2aaf55b..732b6ce 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 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -83,7 +83,7 @@ $(function() { diff --git a/docs/html/struct_vma_allocator_create_info.html b/docs/html/struct_vma_allocator_create_info.html index f75e89a..7c7fce8 100644 --- a/docs/html/struct_vma_allocator_create_info.html +++ b/docs/html/struct_vma_allocator_create_info.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaAllocatorCreateInfo Struct Reference @@ -29,10 +29,10 @@ - + @@ -334,7 +334,7 @@ Public Attributes diff --git a/docs/html/struct_vma_allocator_info-members.html b/docs/html/struct_vma_allocator_info-members.html index c34decb..e3bfe36 100644 --- a/docs/html/struct_vma_allocator_info-members.html +++ b/docs/html/struct_vma_allocator_info-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -74,7 +74,7 @@ $(function() { diff --git a/docs/html/struct_vma_allocator_info.html b/docs/html/struct_vma_allocator_info.html index 03485d6..6eaf14e 100644 --- a/docs/html/struct_vma_allocator_info.html +++ b/docs/html/struct_vma_allocator_info.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaAllocatorInfo Struct Reference @@ -29,10 +29,10 @@ - + @@ -146,7 +146,7 @@ Public Attributes diff --git a/docs/html/struct_vma_budget-members.html b/docs/html/struct_vma_budget-members.html index 39fae2a..209d1a2 100644 --- a/docs/html/struct_vma_budget-members.html +++ b/docs/html/struct_vma_budget-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -75,7 +75,7 @@ $(function() { diff --git a/docs/html/struct_vma_budget.html b/docs/html/struct_vma_budget.html index e9270fe..cbe4139 100644 --- a/docs/html/struct_vma_budget.html +++ b/docs/html/struct_vma_budget.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaBudget Struct Reference @@ -29,10 +29,10 @@ - + @@ -168,7 +168,7 @@ Public Attributes diff --git a/docs/html/struct_vma_defragmentation_context.html b/docs/html/struct_vma_defragmentation_context.html index 7ac19dd..a73ba52 100644 --- a/docs/html/struct_vma_defragmentation_context.html +++ b/docs/html/struct_vma_defragmentation_context.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaDefragmentationContext Struct Reference @@ -29,10 +29,10 @@ - + @@ -79,7 +79,7 @@ $(function() { diff --git a/docs/html/struct_vma_defragmentation_info-members.html b/docs/html/struct_vma_defragmentation_info-members.html index 67f4755..9ca5100 100644 --- a/docs/html/struct_vma_defragmentation_info-members.html +++ b/docs/html/struct_vma_defragmentation_info-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -73,7 +73,7 @@ $(function() { diff --git a/docs/html/struct_vma_defragmentation_info.html b/docs/html/struct_vma_defragmentation_info.html index b269361..32f45f6 100644 --- a/docs/html/struct_vma_defragmentation_info.html +++ b/docs/html/struct_vma_defragmentation_info.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaDefragmentationInfo Struct Reference @@ -29,10 +29,10 @@ - + @@ -127,7 +127,7 @@ Public Attributes diff --git a/docs/html/struct_vma_defragmentation_info2-members.html b/docs/html/struct_vma_defragmentation_info2-members.html index 1c0cc43..3c01166 100644 --- a/docs/html/struct_vma_defragmentation_info2-members.html +++ b/docs/html/struct_vma_defragmentation_info2-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -82,7 +82,7 @@ $(function() { diff --git a/docs/html/struct_vma_defragmentation_info2.html b/docs/html/struct_vma_defragmentation_info2.html index 8fbea7f..61252a1 100644 --- a/docs/html/struct_vma_defragmentation_info2.html +++ b/docs/html/struct_vma_defragmentation_info2.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaDefragmentationInfo2 Struct Reference @@ -29,10 +29,10 @@ - + @@ -307,7 +307,7 @@ Public Attributes diff --git a/docs/html/struct_vma_defragmentation_pass_info-members.html b/docs/html/struct_vma_defragmentation_pass_info-members.html index 15924b1..472df8c 100644 --- a/docs/html/struct_vma_defragmentation_pass_info-members.html +++ b/docs/html/struct_vma_defragmentation_pass_info-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -73,7 +73,7 @@ $(function() { diff --git a/docs/html/struct_vma_defragmentation_pass_info.html b/docs/html/struct_vma_defragmentation_pass_info.html index 27433b3..65aa245 100644 --- a/docs/html/struct_vma_defragmentation_pass_info.html +++ b/docs/html/struct_vma_defragmentation_pass_info.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaDefragmentationPassInfo Struct Reference @@ -29,10 +29,10 @@ - + @@ -119,7 +119,7 @@ Public Attributes 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 1831d6b..61f0179 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 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -74,7 +74,7 @@ $(function() { diff --git a/docs/html/struct_vma_defragmentation_pass_move_info.html b/docs/html/struct_vma_defragmentation_pass_move_info.html index cda8de9..fc75974 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 @@ - + Vulkan Memory Allocator: VmaDefragmentationPassMoveInfo Struct Reference @@ -29,10 +29,10 @@ - + @@ -129,7 +129,7 @@ Public Attributes diff --git a/docs/html/struct_vma_defragmentation_stats-members.html b/docs/html/struct_vma_defragmentation_stats-members.html index 0a99c8a..ac8b730 100644 --- a/docs/html/struct_vma_defragmentation_stats-members.html +++ b/docs/html/struct_vma_defragmentation_stats-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -75,7 +75,7 @@ $(function() { diff --git a/docs/html/struct_vma_defragmentation_stats.html b/docs/html/struct_vma_defragmentation_stats.html index db970d4..f76e449 100644 --- a/docs/html/struct_vma_defragmentation_stats.html +++ b/docs/html/struct_vma_defragmentation_stats.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaDefragmentationStats Struct Reference @@ -29,10 +29,10 @@ - + @@ -162,7 +162,7 @@ Public Attributes diff --git a/docs/html/struct_vma_device_memory_callbacks-members.html b/docs/html/struct_vma_device_memory_callbacks-members.html index 1827d5a..4c3ff43 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 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -74,7 +74,7 @@ $(function() { diff --git a/docs/html/struct_vma_device_memory_callbacks.html b/docs/html/struct_vma_device_memory_callbacks.html index d3d2c29..c20bbde 100644 --- a/docs/html/struct_vma_device_memory_callbacks.html +++ b/docs/html/struct_vma_device_memory_callbacks.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaDeviceMemoryCallbacks Struct Reference @@ -29,10 +29,10 @@ - + @@ -145,7 +145,7 @@ Public Attributes diff --git a/docs/html/struct_vma_pool.html b/docs/html/struct_vma_pool.html index 77eabae..c73c39f 100644 --- a/docs/html/struct_vma_pool.html +++ b/docs/html/struct_vma_pool.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaPool Struct Reference @@ -29,10 +29,10 @@ - + @@ -80,7 +80,7 @@ $(function() { diff --git a/docs/html/struct_vma_pool_create_info-members.html b/docs/html/struct_vma_pool_create_info-members.html index 202a821..484aaff 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 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -78,7 +78,7 @@ $(function() { diff --git a/docs/html/struct_vma_pool_create_info.html b/docs/html/struct_vma_pool_create_info.html index 54c064d..8d992ca 100644 --- a/docs/html/struct_vma_pool_create_info.html +++ b/docs/html/struct_vma_pool_create_info.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaPoolCreateInfo Struct Reference @@ -29,10 +29,10 @@ - + @@ -228,7 +228,7 @@ Public Attributes diff --git a/docs/html/struct_vma_pool_stats-members.html b/docs/html/struct_vma_pool_stats-members.html index 9784652..14d90f6 100644 --- a/docs/html/struct_vma_pool_stats-members.html +++ b/docs/html/struct_vma_pool_stats-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -77,7 +77,7 @@ $(function() { diff --git a/docs/html/struct_vma_pool_stats.html b/docs/html/struct_vma_pool_stats.html index 4800979..73331e0 100644 --- a/docs/html/struct_vma_pool_stats.html +++ b/docs/html/struct_vma_pool_stats.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaPoolStats Struct Reference @@ -29,10 +29,10 @@ - + @@ -201,7 +201,7 @@ Public Attributes diff --git a/docs/html/struct_vma_record_settings-members.html b/docs/html/struct_vma_record_settings-members.html index 1ea7deb..c7eef40 100644 --- a/docs/html/struct_vma_record_settings-members.html +++ b/docs/html/struct_vma_record_settings-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -73,7 +73,7 @@ $(function() { diff --git a/docs/html/struct_vma_record_settings.html b/docs/html/struct_vma_record_settings.html index ffd4aee..2e677b4 100644 --- a/docs/html/struct_vma_record_settings.html +++ b/docs/html/struct_vma_record_settings.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaRecordSettings Struct Reference @@ -29,10 +29,10 @@ - + @@ -125,7 +125,7 @@ Public Attributes diff --git a/docs/html/struct_vma_stat_info-members.html b/docs/html/struct_vma_stat_info-members.html index 440d9f9..332e116 100644 --- a/docs/html/struct_vma_stat_info-members.html +++ b/docs/html/struct_vma_stat_info-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -82,7 +82,7 @@ $(function() { diff --git a/docs/html/struct_vma_stat_info.html b/docs/html/struct_vma_stat_info.html index 0c69723..8005c71 100644 --- a/docs/html/struct_vma_stat_info.html +++ b/docs/html/struct_vma_stat_info.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaStatInfo Struct Reference @@ -29,10 +29,10 @@ - + @@ -277,7 +277,7 @@ Public Attributes diff --git a/docs/html/struct_vma_stats-members.html b/docs/html/struct_vma_stats-members.html index 9c01bab..14ae84a 100644 --- a/docs/html/struct_vma_stats-members.html +++ b/docs/html/struct_vma_stats-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -74,7 +74,7 @@ $(function() { diff --git a/docs/html/struct_vma_stats.html b/docs/html/struct_vma_stats.html index d1b05e9..c3c9ad5 100644 --- a/docs/html/struct_vma_stats.html +++ b/docs/html/struct_vma_stats.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaStats Struct Reference @@ -29,10 +29,10 @@ - + @@ -134,7 +134,7 @@ Public Attributes diff --git a/docs/html/struct_vma_vulkan_functions-members.html b/docs/html/struct_vma_vulkan_functions-members.html index 49c6263..877721c 100644 --- a/docs/html/struct_vma_vulkan_functions-members.html +++ b/docs/html/struct_vma_vulkan_functions-members.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Member List @@ -29,10 +29,10 @@ - + @@ -88,7 +88,7 @@ $(function() { diff --git a/docs/html/struct_vma_vulkan_functions.html b/docs/html/struct_vma_vulkan_functions.html index 8fc0f85..4c7d746 100644 --- a/docs/html/struct_vma_vulkan_functions.html +++ b/docs/html/struct_vma_vulkan_functions.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VmaVulkanFunctions Struct Reference @@ -29,10 +29,10 @@ - + @@ -359,7 +359,7 @@ Public Attributes diff --git a/docs/html/usage_patterns.html b/docs/html/usage_patterns.html index 44f6034..c207740 100644 --- a/docs/html/usage_patterns.html +++ b/docs/html/usage_patterns.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: Recommended usage patterns @@ -29,10 +29,10 @@ - + @@ -130,7 +130,7 @@ Direct access versus transfer diff --git a/docs/html/vk__mem__alloc_8h.html b/docs/html/vk__mem__alloc_8h.html index 5ac0103..1ddad5a 100644 --- a/docs/html/vk__mem__alloc_8h.html +++ b/docs/html/vk__mem__alloc_8h.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: vk_mem_alloc.h File Reference @@ -29,10 +29,10 @@ - + @@ -234,76 +234,76 @@ Typedefs

      Enumerations

      enum  VmaAllocatorCreateFlagBits {
      -  VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, -VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT = 0x00000002, -VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT = 0x00000004, -VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT = 0x00000008, -
      -  VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT = 0x00000010, -VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT = 0x00000020, -VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT = 0x00000040, -VMA_ALLOCATOR_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +  VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001 +, VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT = 0x00000002 +, VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT = 0x00000004 +, VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT = 0x00000008 +,
      +  VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT = 0x00000010 +, VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT = 0x00000020 +, VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT = 0x00000040 +, VMA_ALLOCATOR_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
      }  Flags for created VmaAllocator. More...
        -enum  VmaRecordFlagBits { VMA_RECORD_FLUSH_AFTER_CALL_BIT = 0x00000001, -VMA_RECORD_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +enum  VmaRecordFlagBits { VMA_RECORD_FLUSH_AFTER_CALL_BIT = 0x00000001 +, VMA_RECORD_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF }  Flags to be used in VmaRecordSettings::flags. More...
        enum  VmaMemoryUsage {
      -  VMA_MEMORY_USAGE_UNKNOWN = 0, -VMA_MEMORY_USAGE_GPU_ONLY = 1, -VMA_MEMORY_USAGE_CPU_ONLY = 2, -VMA_MEMORY_USAGE_CPU_TO_GPU = 3, -
      -  VMA_MEMORY_USAGE_GPU_TO_CPU = 4, -VMA_MEMORY_USAGE_CPU_COPY = 5, -VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED = 6, -VMA_MEMORY_USAGE_MAX_ENUM = 0x7FFFFFFF +  VMA_MEMORY_USAGE_UNKNOWN = 0 +, VMA_MEMORY_USAGE_GPU_ONLY = 1 +, VMA_MEMORY_USAGE_CPU_ONLY = 2 +, VMA_MEMORY_USAGE_CPU_TO_GPU = 3 +,
      +  VMA_MEMORY_USAGE_GPU_TO_CPU = 4 +, VMA_MEMORY_USAGE_CPU_COPY = 5 +, VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED = 6 +, VMA_MEMORY_USAGE_MAX_ENUM = 0x7FFFFFFF
      }   enum  VmaAllocationCreateFlagBits {
      -  VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT = 0x00000001, -VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT = 0x00000002, -VMA_ALLOCATION_CREATE_MAPPED_BIT = 0x00000004, -VMA_ALLOCATION_CREATE_CAN_BECOME_LOST_BIT = 0x00000008, -
      -  VMA_ALLOCATION_CREATE_CAN_MAKE_OTHER_LOST_BIT = 0x00000010, -VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT = 0x00000020, -VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT = 0x00000040, -VMA_ALLOCATION_CREATE_DONT_BIND_BIT = 0x00000080, -
      -  VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT = 0x00000100, -VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT = 0x00010000, -VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT = 0x00020000, -VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT = 0x00040000, -
      -  VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT = VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT, -VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT = VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT, -VMA_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT = VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT, -VMA_ALLOCATION_CREATE_STRATEGY_MASK, -
      +  VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT = 0x00000001 +, VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT = 0x00000002 +, VMA_ALLOCATION_CREATE_MAPPED_BIT = 0x00000004 +, VMA_ALLOCATION_CREATE_CAN_BECOME_LOST_BIT = 0x00000008 +,
      +  VMA_ALLOCATION_CREATE_CAN_MAKE_OTHER_LOST_BIT = 0x00000010 +, VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT = 0x00000020 +, VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT = 0x00000040 +, VMA_ALLOCATION_CREATE_DONT_BIND_BIT = 0x00000080 +,
      +  VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT = 0x00000100 +, VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT = 0x00010000 +, VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT = 0x00020000 +, VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT = 0x00040000 +,
      +  VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT = VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT +, VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT = VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT +, VMA_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT = VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT +, VMA_ALLOCATION_CREATE_STRATEGY_MASK +,
        VMA_ALLOCATION_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
      }  Flags to be passed as VmaAllocationCreateInfo::flags. More...
        enum  VmaPoolCreateFlagBits {
      -  VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT = 0x00000002, -VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT = 0x00000004, -VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT = 0x00000008, -VMA_POOL_CREATE_ALGORITHM_MASK, -
      +  VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT = 0x00000002 +, VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT = 0x00000004 +, VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT = 0x00000008 +, VMA_POOL_CREATE_ALGORITHM_MASK +,
        VMA_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
      }  Flags to be passed as VmaPoolCreateInfo::flags. More...
        -enum  VmaDefragmentationFlagBits { VMA_DEFRAGMENTATION_FLAG_INCREMENTAL = 0x1, -VMA_DEFRAGMENTATION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +enum  VmaDefragmentationFlagBits { VMA_DEFRAGMENTATION_FLAG_INCREMENTAL = 0x1 +, VMA_DEFRAGMENTATION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF }  Flags to be used in vmaDefragmentationBegin(). None at the moment. Reserved for future use. More...
        @@ -2367,6 +2367,7 @@ Functions

      This is just a convenience function equivalent to:

      vkDestroyBuffer(device, buffer, allocationCallbacks);
      vmaFreeMemory(allocator, allocation);
      +
      void vmaFreeMemory(VmaAllocator allocator, const VmaAllocation allocation)
      Frees memory previously allocated using vmaAllocateMemory(), vmaAllocateMemoryForBuffer(),...

      It it safe to pass null as buffer and/or allocation.

      @@ -3523,10 +3524,9 @@ Functions -
      void vmaFreeMemory(VmaAllocator allocator, const VmaAllocation allocation)
      Frees memory previously allocated using vmaAllocateMemory(), vmaAllocateMemoryForBuffer(),...
      diff --git a/docs/html/vk__mem__alloc_8h_source.html b/docs/html/vk__mem__alloc_8h_source.html index 02bf571..5aef1d2 100644 --- a/docs/html/vk__mem__alloc_8h_source.html +++ b/docs/html/vk__mem__alloc_8h_source.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: vk_mem_alloc.h Source File @@ -29,10 +29,10 @@ - + @@ -66,7 +66,7 @@ $(function() {
      Go to the documentation of this file.
      1 //
      -
      2 // Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved.
      +
      2 // Copyright (c) 2017-2021 Advanced Micro Devices, Inc. All rights reserved.
      3 //
      4 // Permission is hereby granted, free of charge, to any person obtaining a copy
      5 // of this software and associated documentation files (the "Software"), to deal
      @@ -103,7 +103,7 @@ $(function() {
      2032 #endif
      2033 
      2034 #if !defined(NOMINMAX) && defined(VMA_IMPLEMENTATION)
      -
      2035  #define NOMINMAX // For windows.h
      +
      2035  #define NOMINMAX // For windows.h
      2036 #endif
      2037 
      2038 #if defined(__ANDROID__) && defined(VK_NO_PROTOTYPES) && VMA_STATIC_VULKAN_FUNCTIONS
      @@ -132,8 +132,8 @@ $(function() {
      2061  extern PFN_vkBindBufferMemory2 vkBindBufferMemory2;
      2062  extern PFN_vkBindImageMemory2 vkBindImageMemory2;
      2063  extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2;
      -
      2064  #endif // #if VMA_VULKAN_VERSION >= 1001000
      -
      2065 #endif // #if defined(__ANDROID__) && VMA_STATIC_VULKAN_FUNCTIONS && VK_NO_PROTOTYPES
      +
      2064  #endif // #if VMA_VULKAN_VERSION >= 1001000
      +
      2065 #endif // #if defined(__ANDROID__) && VMA_STATIC_VULKAN_FUNCTIONS && VK_NO_PROTOTYPES
      2066 
      2067 #ifndef VULKAN_H_
      2068  #include <vulkan/vulkan.h>
      @@ -290,7 +290,7 @@ $(function() {
      2345 
      - +
      2348 typedef VkFlags VmaAllocatorCreateFlags;
      2349 
      2354 typedef struct VmaVulkanFunctions {
      @@ -328,7 +328,7 @@ $(function() {
      2393 
      2394  VMA_RECORD_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
      - +
      2396 typedef VkFlags VmaRecordFlags;
      2397 
      2399 typedef struct VmaRecordSettings
      @@ -399,8 +399,8 @@ $(function() {
      2588  VkDeviceSize usedBytes;
      2590  VkDeviceSize unusedBytes;
      -
      2591  VkDeviceSize allocationSizeMin, allocationSizeAvg, allocationSizeMax;
      -
      2592  VkDeviceSize unusedRangeSizeMin, unusedRangeSizeAvg, unusedRangeSizeMax;
      +
      2591  VkDeviceSize allocationSizeMin, allocationSizeAvg, allocationSizeMax;
      +
      2592  VkDeviceSize unusedRangeSizeMin, unusedRangeSizeAvg, unusedRangeSizeMax;
      2594 
      2596 typedef struct VmaStats
      @@ -445,7 +445,7 @@ $(function() {
      2686  VmaAllocator VMA_NOT_NULL allocator,
      2687  char* VMA_NULLABLE pStatsString);
      2688 
      -
      2689 #endif // #if VMA_STATS_STRING_ENABLED
      +
      2689 #endif // #if VMA_STATS_STRING_ENABLED
      2690 
      2699 VK_DEFINE_HANDLE(VmaPool)
      2700 
      @@ -460,7 +460,7 @@ $(function() {
      2764 
      2765  VMA_MEMORY_USAGE_MAX_ENUM = 0x7FFFFFFF
      - +
      2767 
      @@ -488,7 +488,7 @@ $(function() {
      2875 
      - +
      2879 
      @@ -533,7 +533,7 @@ $(function() {
      3042 
      - +
      3045 typedef VkFlags VmaPoolCreateFlags;
      3046 
      3049 typedef struct VmaPoolCreateInfo {
      @@ -701,7 +701,7 @@ $(function() {
      3631 typedef enum VmaDefragmentationFlagBits {
      - +
      3636 typedef VkFlags VmaDefragmentationFlags;
      3637 
      3642 typedef struct VmaDefragmentationInfo2 {
      @@ -823,7 +823,7 @@ $(function() {
      4008 }
      4009 #endif
      4010 
      -
      4011 #endif // AMD_VULKAN_MEMORY_ALLOCATOR_H
      +
      4011 #endif // AMD_VULKAN_MEMORY_ALLOCATOR_H
      4012 
      4013 // For Visual Studio IntelliSense.
      4014 #if defined(__cplusplus) && defined(__INTELLISENSE__)
      @@ -1025,7 +1025,7 @@ $(function() {
      4210  #ifdef NDEBUG
      4211  #define VMA_HEAVY_ASSERT(expr)
      4212  #else
      -
      4213  #define VMA_HEAVY_ASSERT(expr) //VMA_ASSERT(expr)
      +
      4213  #define VMA_HEAVY_ASSERT(expr) //VMA_ASSERT(expr)
      4214  #endif
      4215 #endif
      4216 
      @@ -1151,8 +1151,8 @@ $(function() {
      4336  VMA_MUTEX m_Mutex;
      4337  };
      4338  #define VMA_RW_MUTEX VmaRWMutex
      -
      4339  #endif // #if VMA_USE_STL_SHARED_MUTEX
      -
      4340 #endif // #ifndef VMA_RW_MUTEX
      +
      4339  #endif // #if VMA_USE_STL_SHARED_MUTEX
      +
      4340 #endif // #ifndef VMA_RW_MUTEX
      4341 
      4342 /*
      4343 If providing your own implementation, you need to implement a subset of std::atomic.
      @@ -1168,46 +1168,39 @@ $(function() {
      4353 #endif
      4354 
      4355 #ifndef VMA_DEBUG_ALWAYS_DEDICATED_MEMORY
      -
      4356 
      4360  #define VMA_DEBUG_ALWAYS_DEDICATED_MEMORY (0)
      4361 #endif
      4362 
      4363 #ifndef VMA_DEBUG_ALIGNMENT
      -
      4364 
      4368  #define VMA_DEBUG_ALIGNMENT (1)
      4369 #endif
      4370 
      4371 #ifndef VMA_DEBUG_MARGIN
      -
      4372 
      4376  #define VMA_DEBUG_MARGIN (0)
      4377 #endif
      4378 
      4379 #ifndef VMA_DEBUG_INITIALIZE_ALLOCATIONS
      -
      4380 
      4384  #define VMA_DEBUG_INITIALIZE_ALLOCATIONS (0)
      4385 #endif
      4386 
      4387 #ifndef VMA_DEBUG_DETECT_CORRUPTION
      -
      4388 
      4393  #define VMA_DEBUG_DETECT_CORRUPTION (0)
      4394 #endif
      4395 
      4396 #ifndef VMA_DEBUG_GLOBAL_MUTEX
      -
      4397 
      4401  #define VMA_DEBUG_GLOBAL_MUTEX (0)
      4402 #endif
      4403 
      4404 #ifndef VMA_DEBUG_MIN_BUFFER_IMAGE_GRANULARITY
      -
      4405 
      4409  #define VMA_DEBUG_MIN_BUFFER_IMAGE_GRANULARITY (1)
      4410 #endif
      4411 
      4412 #ifndef VMA_SMALL_HEAP_MAX_SIZE
      -
      4413  #define VMA_SMALL_HEAP_MAX_SIZE (1024ull * 1024 * 1024)
      +
      4414  #define VMA_SMALL_HEAP_MAX_SIZE (1024ull * 1024 * 1024)
      4415 #endif
      4416 
      4417 #ifndef VMA_DEFAULT_LARGE_HEAP_BLOCK_SIZE
      -
      4418  #define VMA_DEFAULT_LARGE_HEAP_BLOCK_SIZE (256ull * 1024 * 1024)
      +
      4419  #define VMA_DEFAULT_LARGE_HEAP_BLOCK_SIZE (256ull * 1024 * 1024)
      4420 #endif
      4421 
      4422 #ifndef VMA_CLASS_NO_COPY
      @@ -1357,7 +1350,7 @@ $(function() {
      4566  }
      4567 }
      4568 
      -
      4569 #endif // #if VMA_STATS_STRING_ENABLED
      +
      4569 #endif // #if VMA_STATS_STRING_ENABLED
      4570 
      4571 #ifndef VMA_SORT
      4572 
      @@ -1397,7 +1390,7 @@ $(function() {
      4606 
      4607 #define VMA_SORT(beg, end, cmp) VmaQuickSort(beg, end, cmp)
      4608 
      -
      4609 #endif // #ifndef VMA_SORT
      +
      4609 #endif // #ifndef VMA_SORT
      4610 
      4611 /*
      4612 Returns true if two memory blocks occupy overlapping pages.
      @@ -1777,7 +1770,7 @@ $(function() {
      4987  vec.erase(vec.begin() + index);
      4988 }
      4989 
      -
      4990 #else // #if VMA_USE_STL_VECTOR
      +
      4990 #else // #if VMA_USE_STL_VECTOR
      4991 
      4992 /* Class with interface compatible with subset of std::vector.
      4993 T must be POD because constructors and destructors are not called and memcpy is
      @@ -2002,7 +1995,7 @@ $(function() {
      5212  vec.remove(index);
      5213 }
      5214 
      -
      5215 #endif // #if VMA_USE_STL_VECTOR
      +
      5215 #endif // #if VMA_USE_STL_VECTOR
      5216 
      5217 template<typename CmpLess, typename VectorT>
      5218 size_t VmaVectorInsertSorted(VectorT& vector, const typename VectorT::value_type& value)
      @@ -2334,7 +2327,7 @@ $(function() {
      5547 
      5548 #define VmaList std::list
      5549 
      -
      5550 #else // #if VMA_USE_STL_LIST
      +
      5550 #else // #if VMA_USE_STL_LIST
      5551 
      5552 template<typename T>
      5553 struct VmaListItem
      @@ -2797,7 +2790,7 @@ $(function() {
      6010  VmaRawList<T> m_RawList;
      6011 };
      6012 
      -
      6013 #endif // #if VMA_USE_STL_LIST
      +
      6013 #endif // #if VMA_USE_STL_LIST
      6014 
      6016 // class VmaMap
      6017 
      @@ -2811,7 +2804,7 @@ $(function() {
      6025 #define VMA_MAP_TYPE(KeyT, ValueT) \
      6026  std::unordered_map< KeyT, ValueT, std::hash<KeyT>, std::equal_to<KeyT>, VmaStlAllocator< std::pair<KeyT, ValueT> > >
      6027 
      -
      6028 #else // #if VMA_USE_STL_UNORDERED_MAP
      +
      6028 #else // #if VMA_USE_STL_UNORDERED_MAP
      6029 
      6030 template<typename T1, typename T2>
      6031 struct VmaPair
      @@ -2896,9 +2889,9 @@ $(function() {
      6110  VmaVectorRemove(m_Vector, it - m_Vector.begin());
      6111 }
      6112 
      -
      6113 #endif // #if VMA_USE_STL_UNORDERED_MAP
      +
      6113 #endif // #if VMA_USE_STL_UNORDERED_MAP
      6114 
      -
      6115 #endif // #if 0
      +
      6115 #endif // #if 0
      6116 
      6118 
      6119 class VmaDeviceMemoryBlock;
      @@ -3284,9 +3277,9 @@ $(function() {
      6499 };
      6500 
      6501 #define VMA_VALIDATE(cond) do { if(!(cond)) { \
      -
      6502  VMA_ASSERT(0 && "Validation failed: " #cond); \
      -
      6503  return false; \
      -
      6504  } } while(false)
      +
      6502  VMA_ASSERT(0 && "Validation failed: " #cond); \
      +
      6503  return false; \
      +
      6504  } } while(false)
      6505 
      6506 class VmaBlockMetadata_Generic : public VmaBlockMetadata
      6507 {
      @@ -4599,7 +4592,7 @@ $(function() {
      7816  void Flush();
      7817 };
      7818 
      -
      7819 #endif // #if VMA_RECORDING_ENABLED
      +
      7819 #endif // #if VMA_RECORDING_ENABLED
      7820 
      7821 /*
      7822 Thread-safe wrapper over VmaPoolAllocator free list, for allocation of VmaAllocation_T objects.
      @@ -4629,7 +4622,7 @@ $(function() {
      7846  uint64_t m_VulkanUsage[VK_MAX_MEMORY_HEAPS];
      7847  uint64_t m_VulkanBudget[VK_MAX_MEMORY_HEAPS];
      7848  uint64_t m_BlockBytesAtBudgetFetch[VK_MAX_MEMORY_HEAPS];
      -
      7849 #endif // #if VMA_MEMORY_BUDGET
      +
      7849 #endif // #if VMA_MEMORY_BUDGET
      7850 
      7851  VmaCurrentBudgetData()
      7852  {
      @@ -4974,7 +4967,7 @@ $(function() {
      8191 
      8192 #if VMA_MEMORY_BUDGET
      8193  void UpdateVulkanBudget();
      -
      8194 #endif // #if VMA_MEMORY_BUDGET
      +
      8194 #endif // #if VMA_MEMORY_BUDGET
      8195 };
      8196 
      8198 // Memory allocation #2 after VmaAllocator_T definition
      @@ -5090,7 +5083,7 @@ $(function() {
      8309  Add(buf);
      8310 }
      8311 
      -
      8312 #endif // #if VMA_STATS_STRING_ENABLED
      +
      8312 #endif // #if VMA_STATS_STRING_ENABLED
      8313 
      8315 // VmaJsonWriter
      8316 
      @@ -5377,7 +5370,7 @@ $(function() {
      8597  }
      8598 }
      8599 
      -
      8600 #endif // #if VMA_STATS_STRING_ENABLED
      +
      8600 #endif // #if VMA_STATS_STRING_ENABLED
      8601 
      8603 
      8604 void VmaAllocation_T::SetUserData(VmaAllocator hAllocator, void* pUserData)
      @@ -5719,7 +5712,7 @@ $(function() {
      8940  json.EndObject();
      8941 }
      8942 
      -
      8943 #endif // #if VMA_STATS_STRING_ENABLED
      +
      8943 #endif // #if VMA_STATS_STRING_ENABLED
      8944 
      8945 struct VmaSuballocationItemSizeLess
      8946 {
      @@ -5809,7 +5802,7 @@ $(function() {
      9031  json.EndObject();
      9032 }
      9033 
      -
      9034 #endif // #if VMA_STATS_STRING_ENABLED
      +
      9034 #endif // #if VMA_STATS_STRING_ENABLED
      9035 
      9037 // class VmaBlockMetadata_Generic
      9038 
      @@ -6017,7 +6010,7 @@ $(function() {
      9240  PrintDetailedMap_End(json);
      9241 }
      9242 
      -
      9243 #endif // #if VMA_STATS_STRING_ENABLED
      +
      9243 #endif // #if VMA_STATS_STRING_ENABLED
      9244 
      9245 bool VmaBlockMetadata_Generic::CreateAllocationRequest(
      9246  uint32_t currentFrameIndex,
      @@ -6433,7 +6426,7 @@ $(function() {
      9656 
      9657  // Check previous suballocations for BufferImageGranularity conflicts.
      9658  // Make bigger alignment if necessary.
      -
      9659  if(bufferImageGranularity > 1)
      +
      9659  if(bufferImageGranularity > 1 && bufferImageGranularity != allocAlignment)
      9660  {
      9661  bool bufferImageGranularityConflict = false;
      9662  VmaSuballocationList::const_iterator prevSuballocItem = suballocItem;
      @@ -6517,7 +6510,7 @@ $(function() {
      9740 
      9741  // Check next suballocations for BufferImageGranularity conflicts.
      9742  // If conflict exists, we must mark more allocations lost or fail.
      -
      9743  if(bufferImageGranularity > 1)
      +
      9743  if(allocSize % bufferImageGranularity || *pOffset % bufferImageGranularity)
      9744  {
      9745  VmaSuballocationList::const_iterator nextSuballocItem = lastSuballocItem;
      9746  ++nextSuballocItem;
      @@ -6576,7 +6569,7 @@ $(function() {
      9799 
      9800  // Check previous suballocations for BufferImageGranularity conflicts.
      9801  // Make bigger alignment if necessary.
      -
      9802  if(bufferImageGranularity > 1)
      +
      9802  if(bufferImageGranularity > 1 && bufferImageGranularity != allocAlignment)
      9803  {
      9804  bool bufferImageGranularityConflict = false;
      9805  VmaSuballocationList::const_iterator prevSuballocItem = suballocItem;
      @@ -6616,7 +6609,7 @@ $(function() {
      9839 
      9840  // Check next suballocations for BufferImageGranularity conflicts.
      9841  // If conflict exists, allocation cannot be made here.
      -
      9842  if(bufferImageGranularity > 1)
      +
      9842  if(allocSize % bufferImageGranularity || *pOffset % bufferImageGranularity)
      9843  {
      9844  VmaSuballocationList::const_iterator nextSuballocItem = suballocItem;
      9845  ++nextSuballocItem;
      @@ -7701,7 +7694,7 @@ $(function() {
      10925 
      10926  PrintDetailedMap_End(json);
      10927 }
      -
      10928 #endif // #if VMA_STATS_STRING_ENABLED
      +
      10928 #endif // #if VMA_STATS_STRING_ENABLED
      10929 
      10930 bool VmaBlockMetadata_Linear::CreateAllocationRequest(
      10931  uint32_t currentFrameIndex,
      @@ -7783,7 +7776,7 @@ $(function() {
      11007 
      11008  // Check next suballocations from 2nd for BufferImageGranularity conflicts.
      11009  // Make bigger alignment if necessary.
      -
      11010  if(bufferImageGranularity > 1 && !suballocations2nd.empty())
      +
      11010  if(bufferImageGranularity > 1 && bufferImageGranularity != allocAlignment && !suballocations2nd.empty())
      11011  {
      11012  bool bufferImageGranularityConflict = false;
      11013  for(size_t nextSuballocIndex = suballocations2nd.size(); nextSuballocIndex--; )
      @@ -7888,7 +7881,7 @@ $(function() {
      11112 
      11113  // Check previous suballocations for BufferImageGranularity conflicts.
      11114  // Make bigger alignment if necessary.
      -
      11115  if(bufferImageGranularity > 1 && !suballocations1st.empty())
      +
      11115  if(bufferImageGranularity > 1 && bufferImageGranularity != allocAlignment && !suballocations1st.empty())
      11116  {
      11117  bool bufferImageGranularityConflict = false;
      11118  for(size_t prevSuballocIndex = suballocations1st.size(); prevSuballocIndex--; )
      @@ -7920,7 +7913,7 @@ $(function() {
      11144  {
      11145  // Check next suballocations for BufferImageGranularity conflicts.
      11146  // If conflict exists, allocation cannot be made here.
      -
      11147  if(bufferImageGranularity > 1 && m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK)
      +
      11147  if((allocSize % bufferImageGranularity || resultOffset % bufferImageGranularity) && m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK)
      11148  {
      11149  for(size_t nextSuballocIndex = suballocations2nd.size(); nextSuballocIndex--; )
      11150  {
      @@ -7978,7 +7971,7 @@ $(function() {
      11202 
      11203  // Check previous suballocations for BufferImageGranularity conflicts.
      11204  // Make bigger alignment if necessary.
      -
      11205  if(bufferImageGranularity > 1 && !suballocations2nd.empty())
      +
      11205  if(bufferImageGranularity > 1 && bufferImageGranularity != allocAlignment && !suballocations2nd.empty())
      11206  {
      11207  bool bufferImageGranularityConflict = false;
      11208  for(size_t prevSuballocIndex = suballocations2nd.size(); prevSuballocIndex--; )
      @@ -8036,7 +8029,7 @@ $(function() {
      11260 
      11261  // Check next suballocations for BufferImageGranularity conflicts.
      11262  // If conflict exists, we must mark more allocations lost or fail.
      -
      11263  if(bufferImageGranularity > 1)
      +
      11263  if(allocSize % bufferImageGranularity || resultOffset % bufferImageGranularity)
      11264  {
      11265  while(index1st < suballocations1st.size())
      11266  {
      @@ -8082,7 +8075,7 @@ $(function() {
      11306  {
      11307  // Check next suballocations for BufferImageGranularity conflicts.
      11308  // If conflict exists, allocation cannot be made here.
      -
      11309  if(bufferImageGranularity > 1)
      +
      11309  if(allocSize % bufferImageGranularity || resultOffset % bufferImageGranularity)
      11310  {
      11311  for(size_t nextSuballocIndex = index1st;
      11312  nextSuballocIndex < suballocations1st.size();
      @@ -8710,7 +8703,7 @@ $(function() {
      11935  PrintDetailedMap_End(json);
      11936 }
      11937 
      -
      11938 #endif // #if VMA_STATS_STRING_ENABLED
      +
      11938 #endif // #if VMA_STATS_STRING_ENABLED
      11939 
      11940 bool VmaBlockMetadata_Buddy::CreateAllocationRequest(
      11941  uint32_t currentFrameIndex,
      @@ -9108,7 +9101,7 @@ $(function() {
      12333  VMA_ASSERT(0);
      12334  }
      12335 }
      -
      12336 #endif // #if VMA_STATS_STRING_ENABLED
      +
      12336 #endif // #if VMA_STATS_STRING_ENABLED
      12337 
      12338 
      12340 // class VmaDeviceMemoryBlock
      @@ -9407,7 +9400,7 @@ $(function() {
      12633 
      12634 #if VMA_STATS_STRING_ENABLED
      12635 
      -
      12636 #endif // #if VMA_STATS_STRING_ENABLED
      +
      12636 #endif // #if VMA_STATS_STRING_ENABLED
      12637 
      12638 VmaBlockVector::VmaBlockVector(
      12639  VmaAllocator hAllocator,
      @@ -10126,7 +10119,7 @@ $(function() {
      13352  allocFlagsInfo.flags = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR;
      13353  VmaPnextChainPushFront(&allocInfo, &allocFlagsInfo);
      13354  }
      -
      13355 #endif // #if VMA_BUFFER_DEVICE_ADDRESS
      +
      13355 #endif // #if VMA_BUFFER_DEVICE_ADDRESS
      13356 
      13357 #if VMA_MEMORY_PRIORITY
      13358  VkMemoryPriorityAllocateInfoEXT priorityInfo = { VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT };
      @@ -10135,7 +10128,7 @@ $(function() {
      13361  priorityInfo.priority = m_Priority;
      13362  VmaPnextChainPushFront(&allocInfo, &priorityInfo);
      13363  }
      -
      13364 #endif // #if VMA_MEMORY_PRIORITY
      +
      13364 #endif // #if VMA_MEMORY_PRIORITY
      13365 
      13366  VkDeviceMemory mem = VK_NULL_HANDLE;
      13367  VkResult res = m_hAllocator->AllocateVulkanMemory(&allocInfo, &mem);
      @@ -10476,7 +10469,7 @@ $(function() {
      13702  json.EndObject();
      13703 }
      13704 
      -
      13705 #endif // #if VMA_STATS_STRING_ENABLED
      +
      13705 #endif // #if VMA_STATS_STRING_ENABLED
      13706 
      13707 void VmaBlockVector::Defragment(
      13708  class VmaBlockVectorDefragmentationContext* pCtx,
      @@ -12457,7 +12450,7 @@ $(function() {
      15688  }
      15689 }
      15690 
      -
      15691 #endif // #if VMA_RECORDING_ENABLED
      +
      15691 #endif // #if VMA_RECORDING_ENABLED
      15692 
      15694 // VmaAllocationObjectAllocator
      15695 
      @@ -12670,7 +12663,7 @@ $(function() {
      15903  {
      15904  UpdateVulkanBudget();
      15905  }
      -
      15906 #endif // #if VMA_MEMORY_BUDGET
      +
      15906 #endif // #if VMA_MEMORY_BUDGET
      15907 
      15908  return res;
      15909 }
      @@ -12753,7 +12746,7 @@ $(function() {
      15986 #endif
      15987 }
      15988 
      -
      15989 #endif // #if VMA_STATIC_VULKAN_FUNCTIONS == 1
      +
      15989 #endif // #if VMA_STATIC_VULKAN_FUNCTIONS == 1
      15990 
      15991 void VmaAllocator_T::ImportVulkanFunctions_Custom(const VmaVulkanFunctions* pVulkanFunctions)
      15992 {
      @@ -12853,20 +12846,20 @@ $(function() {
      16086  VMA_FETCH_DEVICE_FUNC(vkBindBufferMemory2KHR, PFN_vkBindBufferMemory2KHR, "vkBindBufferMemory2KHR");
      16087  VMA_FETCH_DEVICE_FUNC(vkBindImageMemory2KHR, PFN_vkBindImageMemory2KHR, "vkBindImageMemory2KHR");
      16088  }
      -
      16089 #endif // #if VMA_BIND_MEMORY2
      +
      16089 #endif // #if VMA_BIND_MEMORY2
      16090 
      16091 #if VMA_MEMORY_BUDGET
      16092  if(m_UseExtMemoryBudget)
      16093  {
      16094  VMA_FETCH_INSTANCE_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR, PFN_vkGetPhysicalDeviceMemoryProperties2KHR, "vkGetPhysicalDeviceMemoryProperties2KHR");
      16095  }
      -
      16096 #endif // #if VMA_MEMORY_BUDGET
      +
      16096 #endif // #if VMA_MEMORY_BUDGET
      16097 
      16098 #undef VMA_FETCH_DEVICE_FUNC
      16099 #undef VMA_FETCH_INSTANCE_FUNC
      16100 }
      16101 
      -
      16102 #endif // #if VMA_DYNAMIC_VULKAN_FUNCTIONS == 1
      +
      16102 #endif // #if VMA_DYNAMIC_VULKAN_FUNCTIONS == 1
      16103 
      16104 void VmaAllocator_T::ValidateVulkanFunctions()
      16105 {
      @@ -13091,7 +13084,7 @@ $(function() {
      16324  VmaPnextChainPushFront(&allocInfo, &dedicatedAllocInfo);
      16325  }
      16326  }
      -
      16327 #endif // #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000
      +
      16327 #endif // #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000
      16328 
      16329 #if VMA_BUFFER_DEVICE_ADDRESS
      16330  VkMemoryAllocateFlagsInfoKHR allocFlagsInfo = { VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR };
      @@ -13113,7 +13106,7 @@ $(function() {
      16346  VmaPnextChainPushFront(&allocInfo, &allocFlagsInfo);
      16347  }
      16348  }
      -
      16349 #endif // #if VMA_BUFFER_DEVICE_ADDRESS
      +
      16349 #endif // #if VMA_BUFFER_DEVICE_ADDRESS
      16350 
      16351 #if VMA_MEMORY_PRIORITY
      16352  VkMemoryPriorityAllocateInfoEXT priorityInfo = { VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT };
      @@ -13122,7 +13115,7 @@ $(function() {
      16355  priorityInfo.priority = priority;
      16356  VmaPnextChainPushFront(&allocInfo, &priorityInfo);
      16357  }
      -
      16358 #endif // #if VMA_MEMORY_PRIORITY
      +
      16358 #endif // #if VMA_MEMORY_PRIORITY
      16359 
      16360  size_t allocIndex;
      16361  VkResult res = VK_SUCCESS;
      @@ -13260,7 +13253,7 @@ $(function() {
      16493  prefersDedicatedAllocation = (memDedicatedReq.prefersDedicatedAllocation != VK_FALSE);
      16494  }
      16495  else
      -
      16496 #endif // #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000
      +
      16496 #endif // #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000
      16497  {
      16498  (*m_VulkanFunctions.vkGetBufferMemoryRequirements)(m_hDevice, hBuffer, &memReq);
      16499  requiresDedicatedAllocation = false;
      @@ -13292,7 +13285,7 @@ $(function() {
      16525  prefersDedicatedAllocation = (memDedicatedReq.prefersDedicatedAllocation != VK_FALSE);
      16526  }
      16527  else
      -
      16528 #endif // #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000
      +
      16528 #endif // #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000
      16529  {
      16530  (*m_VulkanFunctions.vkGetImageMemoryRequirements)(m_hDevice, hImage, &memReq);
      16531  requiresDedicatedAllocation = false;
      @@ -13871,7 +13864,7 @@ $(function() {
      17104  {
      17105  UpdateVulkanBudget();
      17106  }
      -
      17107 #endif // #if VMA_MEMORY_BUDGET
      +
      17107 #endif // #if VMA_MEMORY_BUDGET
      17108 }
      17109 
      17110 void VmaAllocator_T::MakePoolAllocationsLost(
      @@ -14028,7 +14021,7 @@ $(function() {
      17261  return (*m_VulkanFunctions.vkBindBufferMemory2KHR)(m_hDevice, 1, &bindBufferMemoryInfo);
      17262  }
      17263  else
      -
      17264 #endif // #if VMA_VULKAN_VERSION >= 1001000 || VMA_BIND_MEMORY2
      +
      17264 #endif // #if VMA_VULKAN_VERSION >= 1001000 || VMA_BIND_MEMORY2
      17265  {
      17266  return VK_ERROR_EXTENSION_NOT_PRESENT;
      17267  }
      @@ -14059,7 +14052,7 @@ $(function() {
      17292  return (*m_VulkanFunctions.vkBindImageMemory2KHR)(m_hDevice, 1, &bindBufferMemoryInfo);
      17293  }
      17294  else
      -
      17295 #endif // #if VMA_BIND_MEMORY2
      +
      17295 #endif // #if VMA_BIND_MEMORY2
      17296  {
      17297  return VK_ERROR_EXTENSION_NOT_PRESENT;
      17298  }
      @@ -14415,7 +14408,7 @@ $(function() {
      17648  }
      17649 }
      17650 
      -
      17651 #endif // #if VMA_MEMORY_BUDGET
      +
      17651 #endif // #if VMA_MEMORY_BUDGET
      17652 
      17653 void VmaAllocator_T::FillAllocation(const VmaAllocation hAllocation, uint8_t pattern)
      17654 {
      @@ -14537,7 +14530,7 @@ $(function() {
      17770  }
      17771 }
      17772 
      -
      17773 #endif // #if VMA_STATS_STRING_ENABLED
      +
      17773 #endif // #if VMA_STATS_STRING_ENABLED
      17774 
      17776 // Public interface
      17777 
      @@ -14779,7 +14772,7 @@ $(function() {
      18013  }
      18014 }
      18015 
      -
      18016 #endif // #if VMA_STATS_STRING_ENABLED
      +
      18016 #endif // #if VMA_STATS_STRING_ENABLED
      18017 
      18018 /*
      18019 This function is not protected by any mutex because it just reads immutable data.
      @@ -16067,260 +16060,260 @@ $(function() {
      19301  }
      19302 }
      19303 
      -
      19304 #endif // #ifdef VMA_IMPLEMENTATION
      -
      -
      struct VmaStats VmaStats
      General statistics from current state of Allocator.
      -
      Parameters for recording calls to VMA functions. To be used in VmaAllocatorCreateInfo::pRecordSetting...
      Definition: vk_mem_alloc.h:2400
      -
      PFN_vkAllocateMemory vkAllocateMemory
      Definition: vk_mem_alloc.h:2357
      -
      PFN_vmaFreeDeviceMemoryFunction pfnFree
      Optional, can be null.
      Definition: vk_mem_alloc.h:2228
      -
      @ VMA_RECORD_FLAG_BITS_MAX_ENUM
      Definition: vk_mem_alloc.h:2394
      -
      PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties
      Definition: vk_mem_alloc.h:2355
      -
      VkPhysicalDevice physicalDevice
      Vulkan physical device.
      Definition: vk_mem_alloc.h:2420
      -
      @ VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT
      Enables alternative, linear allocation algorithm in this pool.
      Definition: vk_mem_alloc.h:3024
      -
      uint32_t allocationCount
      Number of allocations in pAllocations array.
      Definition: vk_mem_alloc.h:3648
      -
      uint32_t frameInUseCount
      Maximum number of additional frames that are in use at the same time as current frame.
      Definition: vk_mem_alloc.h:2446
      -
      @ VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT
      Definition: vk_mem_alloc.h:2291
      -
      Statistics of current memory usage and available budget, in bytes, for specific memory heap.
      Definition: vk_mem_alloc.h:2619
      -
      VkDeviceMemory memory
      Definition: vk_mem_alloc.h:3716
      -
      const VmaPool * pPools
      Either null or pointer to array of pools to be defragmented.
      Definition: vk_mem_alloc.h:3682
      -
      @ VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED
      Definition: vk_mem_alloc.h:2763
      -
      struct VmaDefragmentationInfo VmaDefragmentationInfo
      Deprecated. Optional configuration parameters to be passed to function vmaDefragment().
      -
      Describes parameter of existing VmaPool.
      Definition: vk_mem_alloc.h:3102
      -
      @ VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT
      Definition: vk_mem_alloc.h:2846
      -
      @ VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT
      Allocator and all objects created from it will not be synchronized internally, so you must guarantee ...
      Definition: vk_mem_alloc.h:2239
      -
      VkDeviceSize unusedSize
      Total number of bytes in the pool not used by any VmaAllocation.
      Definition: vk_mem_alloc.h:3108
      -
      @ VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT
      Definition: vk_mem_alloc.h:2826
      -
      VmaRecordFlagBits
      Flags to be used in VmaRecordSettings::flags.
      Definition: vk_mem_alloc.h:2386
      -
      void vmaSetPoolName(VmaAllocator allocator, VmaPool pool, const char *pName)
      Sets name of a custom pool.
      -
      Set of callbacks that the library will call for vkAllocateMemory and vkFreeMemory.
      Definition: vk_mem_alloc.h:2224
      -
      VkBool32 vmaTouchAllocation(VmaAllocator allocator, VmaAllocation allocation)
      Returns VK_TRUE if allocation is not lost and atomically marks it as used in current frame.
      -
      @ VMA_ALLOCATION_CREATE_CAN_BECOME_LOST_BIT
      Definition: vk_mem_alloc.h:2813
      -
      VkDeviceSize preferredLargeHeapBlockSize
      Preferred size of a single VkDeviceMemory block to be allocated from large heaps > 1 GiB....
      Definition: vk_mem_alloc.h:2426
      -
      @ VMA_RECORD_FLUSH_AFTER_CALL_BIT
      Enables flush after recording every function call.
      Definition: vk_mem_alloc.h:2392
      -
      struct VmaAllocationCreateInfo VmaAllocationCreateInfo
      -
      VkResult vmaResizeAllocation(VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize newSize)
      Deprecated.
      -
      PFN_vkUnmapMemory vkUnmapMemory
      Definition: vk_mem_alloc.h:2360
      -
      VkDeviceMemory deviceMemory
      Handle to Vulkan memory object.
      Definition: vk_mem_alloc.h:3245
      -
      uint32_t unusedRangeCount
      Number of free ranges of memory between allocations.
      Definition: vk_mem_alloc.h:2586
      -
      void * pUserData
      Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...
      Definition: vk_mem_alloc.h:2920
      -
      VkDeviceSize unusedRangeSizeMax
      Definition: vk_mem_alloc.h:2592
      -
      PFN_vkMapMemory vkMapMemory
      Definition: vk_mem_alloc.h:2359
      -
      #define VMA_RECORDING_ENABLED
      Definition: vk_mem_alloc.h:2031
      -
      VkDeviceSize offset
      Definition: vk_mem_alloc.h:3717
      -
      VmaDefragmentationPassMoveInfo * pMoves
      Definition: vk_mem_alloc.h:3726
      -
      @ VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT
      Definition: vk_mem_alloc.h:2857
      -
      void vmaUnmapMemory(VmaAllocator allocator, VmaAllocation allocation)
      Unmaps memory represented by given allocation, mapped previously using vmaMapMemory().
      -
      VkInstance instance
      Handle to Vulkan instance object.
      Definition: vk_mem_alloc.h:2518
      -
      VkDeviceSize usage
      Estimated current memory usage of the program, in bytes.
      Definition: vk_mem_alloc.h:2643
      -
      Represents main object of this library initialized.
      -
      PFN_vkCmdCopyBuffer vkCmdCopyBuffer
      Definition: vk_mem_alloc.h:2371
      -
      Description of a Allocator to be created.
      Definition: vk_mem_alloc.h:2415
      -
      @ VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT
      Set this flag to only try to allocate from existing VkDeviceMemory blocks and never create new such b...
      Definition: vk_mem_alloc.h:2787
      -
      VkDevice device
      Handle to Vulkan device object.
      Definition: vk_mem_alloc.h:2528
      -
      @ VMA_DEFRAGMENTATION_FLAG_BITS_MAX_ENUM
      Definition: vk_mem_alloc.h:3634
      -
      VkDeviceSize unusedRangeSizeMax
      Size of the largest continuous free memory region available for new allocation.
      Definition: vk_mem_alloc.h:3121
      -
      @ VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT
      Definition: vk_mem_alloc.h:2850
      -
      @ VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT
      Enables usage of VK_KHR_dedicated_allocation extension.
      Definition: vk_mem_alloc.h:2264
      -
      void vmaSetCurrentFrameIndex(VmaAllocator allocator, uint32_t frameIndex)
      Sets index of the current frame.
      -
      uint32_t maxAllocationsToMove
      Maximum number of allocations that can be moved to different place.
      Definition: vk_mem_alloc.h:3743
      -
      @ VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT
      Definition: vk_mem_alloc.h:2841
      -
      VmaMemoryUsage
      Definition: vk_mem_alloc.h:2702
      -
      void vmaFreeMemoryPages(VmaAllocator allocator, size_t allocationCount, const VmaAllocation *pAllocations)
      Frees memory and destroys multiple allocations.
      -
      void vmaGetMemoryTypeProperties(VmaAllocator allocator, uint32_t memoryTypeIndex, VkMemoryPropertyFlags *pFlags)
      Given Memory Type Index, returns Property Flags of this memory type.
      -
      uint32_t blockCount
      Number of VkDeviceMemory Vulkan memory blocks allocated.
      Definition: vk_mem_alloc.h:2582
      -
      uint32_t memoryTypeIndex
      Vulkan memory type index to allocate this pool from.
      Definition: vk_mem_alloc.h:3052
      -
      VkDeviceSize blockSize
      Size of a single VkDeviceMemory block to be allocated as part of this pool, in bytes....
      Definition: vk_mem_alloc.h:3064
      -
      uint32_t poolCount
      Numer of pools in pPools array.
      Definition: vk_mem_alloc.h:3666
      -
      Definition: vk_mem_alloc.h:3714
      -
      void vmaBuildStatsString(VmaAllocator allocator, char **ppStatsString, VkBool32 detailedMap)
      Builds and returns statistics as string in JSON format.
      -
      void vmaGetAllocationInfo(VmaAllocator allocator, VmaAllocation allocation, VmaAllocationInfo *pAllocationInfo)
      Returns current information about specified allocation and atomically marks it as used in current fra...
      -
      size_t allocationCount
      Number of VmaAllocation objects created from this pool that were not destroyed or lost.
      Definition: vk_mem_alloc.h:3111
      -
      VkFlags VmaAllocatorCreateFlags
      Definition: vk_mem_alloc.h:2348
      -
      void vmaFreeStatsString(VmaAllocator allocator, char *pStatsString)
      -
      VkResult vmaAllocateMemoryForBuffer(VmaAllocator allocator, VkBuffer buffer, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      -
      struct VmaVulkanFunctions VmaVulkanFunctions
      Pointers to some Vulkan functions - a subset used by the library.
      -
      @ VMA_ALLOCATOR_CREATE_FLAG_BITS_MAX_ENUM
      Definition: vk_mem_alloc.h:2346
      -
      VmaDefragmentationFlagBits
      Flags to be used in vmaDefragmentationBegin(). None at the moment. Reserved for future use.
      Definition: vk_mem_alloc.h:3632
      -
      VkDeviceSize offset
      Offset in VkDeviceMemory object to the beginning of this allocation, in bytes. (deviceMemory,...
      Definition: vk_mem_alloc.h:3255
      -
      VmaAllocationCreateFlagBits
      Flags to be passed as VmaAllocationCreateInfo::flags.
      Definition: vk_mem_alloc.h:2769
      -
      PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties
      Definition: vk_mem_alloc.h:2356
      -
      VkFlags VmaPoolCreateFlags
      Definition: vk_mem_alloc.h:3045
      -
      void vmaCreateLostAllocation(VmaAllocator allocator, VmaAllocation *pAllocation)
      Creates new allocation that is in lost state from the beginning.
      -
      @ VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT
      Definition: vk_mem_alloc.h:2344
      -
      VkResult vmaInvalidateAllocations(VmaAllocator allocator, uint32_t allocationCount, const VmaAllocation *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)
      Invalidates memory of given set of allocations.
      -
      struct VmaDeviceMemoryCallbacks VmaDeviceMemoryCallbacks
      Set of callbacks that the library will call for vkAllocateMemory and vkFreeMemory.
      -
      void vmaGetPhysicalDeviceProperties(VmaAllocator allocator, const VkPhysicalDeviceProperties **ppPhysicalDeviceProperties)
      -
      VmaPool pool
      Pool that this allocation should be created in.
      Definition: vk_mem_alloc.h:2913
      -
      void vmaGetMemoryProperties(VmaAllocator allocator, const VkPhysicalDeviceMemoryProperties **ppPhysicalDeviceMemoryProperties)
      -
      VmaStatInfo total
      Definition: vk_mem_alloc.h:2600
      -
      @ VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT
      Set this flag if the allocation should have its own memory block.
      Definition: vk_mem_alloc.h:2776
      -
      VkResult vmaDefragmentationEnd(VmaAllocator allocator, VmaDefragmentationContext context)
      Ends defragmentation process.
      -
      @ VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT
      Definition: vk_mem_alloc.h:2279
      -
      VmaDefragmentationFlags flags
      Reserved for future use. Should be 0.
      Definition: vk_mem_alloc.h:3645
      -
      PFN_vkBindImageMemory vkBindImageMemory
      Definition: vk_mem_alloc.h:2364
      -
      VkDeviceSize maxGpuBytesToMove
      Maximum total numbers of bytes that can be copied while moving allocations to different places using ...
      Definition: vk_mem_alloc.h:3697
      -
      Statistics returned by function vmaDefragment().
      Definition: vk_mem_alloc.h:3747
      -
      void vmaDestroyPool(VmaAllocator allocator, VmaPool pool)
      Destroys VmaPool object and frees Vulkan device memory.
      -
      VkDeviceSize size
      Total amount of VkDeviceMemory allocated from Vulkan for this pool, in bytes.
      Definition: vk_mem_alloc.h:3105
      -
      PFN_vkFreeMemory vkFreeMemory
      Definition: vk_mem_alloc.h:2358
      -
      VkFlags VmaRecordFlags
      Definition: vk_mem_alloc.h:2396
      -
      VkResult vmaFlushAllocation(VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize offset, VkDeviceSize size)
      Flushes memory of given allocation.
      -
      @ VMA_MEMORY_USAGE_CPU_ONLY
      Definition: vk_mem_alloc.h:2733
      -
      Represents single memory allocation.
      -
      @ VMA_MEMORY_USAGE_CPU_COPY
      Definition: vk_mem_alloc.h:2755
      -
      void vmaSetAllocationUserData(VmaAllocator allocator, VmaAllocation allocation, void *pUserData)
      Sets pUserData in given allocation to new value.
      -
      @ VMA_DEFRAGMENTATION_FLAG_INCREMENTAL
      Definition: vk_mem_alloc.h:3633
      -
      const VmaRecordSettings * pRecordSettings
      Parameters for recording of VMA calls. Can be null.
      Definition: vk_mem_alloc.h:2484
      -
      PFN_vkBindBufferMemory vkBindBufferMemory
      Definition: vk_mem_alloc.h:2363
      -
      PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements
      Definition: vk_mem_alloc.h:2365
      -
      VkCommandBuffer commandBuffer
      Optional. Command buffer where GPU copy commands will be posted.
      Definition: vk_mem_alloc.h:3711
      -
      General statistics from current state of Allocator.
      Definition: vk_mem_alloc.h:2597
      -
      size_t minBlockCount
      Minimum number of blocks to be always allocated in this pool, even if they stay empty.
      Definition: vk_mem_alloc.h:3069
      -
      uint32_t vulkanApiVersion
      Optional. The highest version of Vulkan that the application is designed to use.
      Definition: vk_mem_alloc.h:2498
      -
      Calculated statistics of memory usage in entire allocator.
      Definition: vk_mem_alloc.h:2580
      -
      VkDeviceSize bytesFreed
      Total number of bytes that have been released to the system by freeing empty VkDeviceMemory objects.
      Definition: vk_mem_alloc.h:3751
      -
      VkResult vmaDefragment(VmaAllocator allocator, const VmaAllocation *pAllocations, size_t allocationCount, VkBool32 *pAllocationsChanged, const VmaDefragmentationInfo *pDefragmentationInfo, VmaDefragmentationStats *pDefragmentationStats)
      Deprecated. Compacts memory by moving allocations.
      -
      uint32_t moveCount
      Definition: vk_mem_alloc.h:3725
      -
      @ VMA_MEMORY_USAGE_GPU_ONLY
      Definition: vk_mem_alloc.h:2723
      -
      VkResult vmaBeginDefragmentationPass(VmaAllocator allocator, VmaDefragmentationContext context, VmaDefragmentationPassInfo *pInfo)
      -
      VkResult vmaFindMemoryTypeIndex(VmaAllocator allocator, uint32_t memoryTypeBits, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
      Helps to find memoryTypeIndex, given memoryTypeBits and VmaAllocationCreateInfo.
      -
      VkResult vmaFlushAllocations(VmaAllocator allocator, uint32_t allocationCount, const VmaAllocation *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)
      Flushes memory of given set of allocations.
      -
      VkResult vmaCreatePool(VmaAllocator allocator, const VmaPoolCreateInfo *pCreateInfo, VmaPool *pPool)
      Allocates Vulkan device memory and creates VmaPool object.
      -
      VkDeviceSize unusedBytes
      Total number of bytes occupied by unused ranges.
      Definition: vk_mem_alloc.h:2590
      -
      @ VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT
      Definition: vk_mem_alloc.h:2327
      -
      VkResult vmaAllocateMemoryPages(VmaAllocator allocator, const VkMemoryRequirements *pVkMemoryRequirements, const VmaAllocationCreateInfo *pCreateInfo, size_t allocationCount, VmaAllocation *pAllocations, VmaAllocationInfo *pAllocationInfo)
      General purpose memory allocation for multiple allocation objects at once.
      -
      VkDeviceSize usedBytes
      Total number of bytes occupied by all allocations.
      Definition: vk_mem_alloc.h:2588
      -
      const VkAllocationCallbacks * pAllocationCallbacks
      Custom CPU memory allocation callbacks. Optional.
      Definition: vk_mem_alloc.h:2429
      -
      VmaAllocatorCreateFlagBits
      Flags for created VmaAllocator.
      Definition: vk_mem_alloc.h:2234
      -
      VkResult vmaAllocateMemoryForImage(VmaAllocator allocator, VkImage image, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      Function similar to vmaAllocateMemoryForBuffer().
      -
      size_t maxBlockCount
      Maximum number of blocks that can be allocated in this pool. Optional.
      Definition: vk_mem_alloc.h:3077
      -
      Describes parameter of created VmaPool.
      Definition: vk_mem_alloc.h:3049
      -
      PFN_vmaAllocateDeviceMemoryFunction pfnAllocate
      Optional, can be null.
      Definition: vk_mem_alloc.h:2226
      -
      Represents custom memory pool.
      -
      @ VMA_MEMORY_USAGE_GPU_TO_CPU
      Definition: vk_mem_alloc.h:2749
      -
      @ VMA_ALLOCATION_CREATE_CAN_MAKE_OTHER_LOST_BIT
      Definition: vk_mem_alloc.h:2820
      -
      VmaPoolCreateFlags flags
      Use combination of VmaPoolCreateFlagBits.
      Definition: vk_mem_alloc.h:3055
      -
      @ VMA_MEMORY_USAGE_MAX_ENUM
      Definition: vk_mem_alloc.h:2765
      -
      uint32_t allocationCount
      Number of VmaAllocation allocation objects allocated.
      Definition: vk_mem_alloc.h:2584
      -
      PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges
      Definition: vk_mem_alloc.h:2362
      -
      VkResult vmaAllocateMemory(VmaAllocator allocator, const VkMemoryRequirements *pVkMemoryRequirements, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      General purpose memory allocation.
      -
      Parameters for defragmentation.
      Definition: vk_mem_alloc.h:3642
      -
      VkDeviceSize maxBytesToMove
      Maximum total numbers of bytes that can be copied while moving allocations to different places.
      Definition: vk_mem_alloc.h:3738
      -
      VkDeviceSize blockBytes
      Sum size of all VkDeviceMemory blocks allocated from particular heap, in bytes.
      Definition: vk_mem_alloc.h:2622
      -
      Information about existing VmaAllocator object.
      Definition: vk_mem_alloc.h:2513
      -
      @ VMA_POOL_CREATE_FLAG_BITS_MAX_ENUM
      Definition: vk_mem_alloc.h:3043
      -
      VkMemoryPropertyFlags requiredFlags
      Flags that must be set in a Memory Type chosen for an allocation.
      Definition: vk_mem_alloc.h:2894
      -
      @ VMA_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT
      Definition: vk_mem_alloc.h:2867
      -
      struct VmaStatInfo VmaStatInfo
      Calculated statistics of memory usage in entire allocator.
      -
      VkDeviceSize allocationSizeAvg
      Definition: vk_mem_alloc.h:2591
      -
      void vmaDestroyAllocator(VmaAllocator allocator)
      Destroys allocator object.
      -
      const VmaDeviceMemoryCallbacks * pDeviceMemoryCallbacks
      Informative callbacks for vkAllocateMemory, vkFreeMemory. Optional.
      Definition: vk_mem_alloc.h:2432
      -
      @ VMA_ALLOCATION_CREATE_STRATEGY_MASK
      Definition: vk_mem_alloc.h:2871
      -
      VkDevice device
      Vulkan device.
      Definition: vk_mem_alloc.h:2423
      -
      VkResult vmaFindMemoryTypeIndexForImageInfo(VmaAllocator allocator, const VkImageCreateInfo *pImageCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
      Helps to find memoryTypeIndex, given VkImageCreateInfo and VmaAllocationCreateInfo.
      -
      VkResult vmaMapMemory(VmaAllocator allocator, VmaAllocation allocation, void **ppData)
      Maps memory represented by given allocation and returns pointer to it.
      -
      VkResult vmaBindBufferMemory(VmaAllocator allocator, VmaAllocation allocation, VkBuffer buffer)
      Binds buffer to allocation.
      -
      const VkDeviceSize * pHeapSizeLimit
      Either null or a pointer to an array of limits on maximum number of bytes that can be allocated out o...
      Definition: vk_mem_alloc.h:2471
      -
      VmaAllocation allocation
      Definition: vk_mem_alloc.h:3715
      -
      VkResult vmaCreateImage(VmaAllocator allocator, const VkImageCreateInfo *pImageCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkImage *pImage, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      Function similar to vmaCreateBuffer().
      -
      VkResult vmaFindMemoryTypeIndexForBufferInfo(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
      Helps to find memoryTypeIndex, given VkBufferCreateInfo and VmaAllocationCreateInfo.
      -
      VkDeviceSize budget
      Estimated amount of memory available to the program, in bytes.
      Definition: vk_mem_alloc.h:2654
      -
      struct VmaPoolStats VmaPoolStats
      Describes parameter of existing VmaPool.
      -
      struct VmaDefragmentationPassInfo VmaDefragmentationPassInfo
      Parameters for incremental defragmentation steps.
      -
      Pointers to some Vulkan functions - a subset used by the library.
      Definition: vk_mem_alloc.h:2354
      -
      void * pMappedData
      Pointer to the beginning of this allocation as mapped data.
      Definition: vk_mem_alloc.h:3275
      -
      VmaAllocatorCreateFlags flags
      Flags for created allocator. Use VmaAllocatorCreateFlagBits enum.
      Definition: vk_mem_alloc.h:2417
      -
      VkFlags VmaDefragmentationFlags
      Definition: vk_mem_alloc.h:3636
      -
      const VmaAllocation * pAllocations
      Pointer to array of allocations that can be defragmented.
      Definition: vk_mem_alloc.h:3657
      -
      void vmaGetPoolStats(VmaAllocator allocator, VmaPool pool, VmaPoolStats *pPoolStats)
      Retrieves statistics of existing VmaPool object.
      -
      PFN_vkCreateImage vkCreateImage
      Definition: vk_mem_alloc.h:2369
      -
      void * pUserData
      Optional, can be null.
      Definition: vk_mem_alloc.h:2230
      -
      struct VmaRecordSettings VmaRecordSettings
      Parameters for recording calls to VMA functions. To be used in VmaAllocatorCreateInfo::pRecordSetting...
      -
      VkDeviceSize unusedRangeSizeAvg
      Definition: vk_mem_alloc.h:2592
      -
      @ VMA_MEMORY_USAGE_CPU_TO_GPU
      Definition: vk_mem_alloc.h:2740
      -
      @ VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT
      Definition: vk_mem_alloc.h:2864
      -
      @ VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT
      Definition: vk_mem_alloc.h:2861
      -
      @ VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT
      Definition: vk_mem_alloc.h:2309
      -
      struct VmaDefragmentationStats VmaDefragmentationStats
      Statistics returned by function vmaDefragment().
      -
      VmaMemoryUsage usage
      Intended usage of memory.
      Definition: vk_mem_alloc.h:2889
      -
      VkDeviceSize allocationSizeMin
      Definition: vk_mem_alloc.h:2591
      -
      VkResult vmaBindBufferMemory2(VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize allocationLocalOffset, VkBuffer buffer, const void *pNext)
      Binds buffer to allocation with additional parameters.
      -
      VkDeviceSize size
      Size of this allocation, in bytes.
      Definition: vk_mem_alloc.h:3266
      -
      VmaRecordFlags flags
      Flags for recording. Use VmaRecordFlagBits enum.
      Definition: vk_mem_alloc.h:2402
      -
      PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges
      Definition: vk_mem_alloc.h:2361
      -
      void * pUserData
      Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...
      Definition: vk_mem_alloc.h:3280
      -
      float priority
      A floating-point value between 0 and 1, indicating the priority of the allocation relative to other m...
      Definition: vk_mem_alloc.h:2927
      -
      void vmaMakePoolAllocationsLost(VmaAllocator allocator, VmaPool pool, size_t *pLostAllocationCount)
      Marks all allocations in given pool as lost if they are not used in current frame or VmaPoolCreateInf...
      -
      @ VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT
      Use this flag if you always allocate only buffers and linear images or only optimal images out of thi...
      Definition: vk_mem_alloc.h:3007
      -
      VkResult vmaInvalidateAllocation(VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize offset, VkDeviceSize size)
      Invalidates memory of given allocation.
      -
      VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      -
      VmaStatInfo memoryHeap[VK_MAX_MEMORY_HEAPS]
      Definition: vk_mem_alloc.h:2599
      -
      const VmaVulkanFunctions * pVulkanFunctions
      Pointers to Vulkan functions. Can be null.
      Definition: vk_mem_alloc.h:2477
      -
      size_t blockCount
      Number of VkDeviceMemory blocks allocated for this pool.
      Definition: vk_mem_alloc.h:3124
      -
      VkResult vmaCreateAllocator(const VmaAllocatorCreateInfo *pCreateInfo, VmaAllocator *pAllocator)
      Creates Allocator object.
      -
      VkResult vmaCheckCorruption(VmaAllocator allocator, uint32_t memoryTypeBits)
      Checks magic number in margins around all allocations in given memory types (in both default and cust...
      -
      Parameters for incremental defragmentation steps.
      Definition: vk_mem_alloc.h:3724
      -
      VmaStatInfo memoryType[VK_MAX_MEMORY_TYPES]
      Definition: vk_mem_alloc.h:2598
      -
      VkFlags VmaAllocationCreateFlags
      Definition: vk_mem_alloc.h:2878
      -
      VkInstance instance
      Handle to Vulkan instance object.
      Definition: vk_mem_alloc.h:2489
      -
      @ VMA_MEMORY_USAGE_UNKNOWN
      Definition: vk_mem_alloc.h:2706
      -
      uint32_t maxGpuAllocationsToMove
      Maximum number of allocations that can be moved to a different place using transfers on GPU side,...
      Definition: vk_mem_alloc.h:3702
      -
      PFN_vkDestroyBuffer vkDestroyBuffer
      Definition: vk_mem_alloc.h:2368
      -
      uint32_t frameInUseCount
      Maximum number of additional frames that are in use at the same time as current frame.
      Definition: vk_mem_alloc.h:3091
      -
      PFN_vkDestroyImage vkDestroyImage
      Definition: vk_mem_alloc.h:2370
      -
      VkDeviceSize maxCpuBytesToMove
      Maximum total numbers of bytes that can be copied while moving allocations to different places using ...
      Definition: vk_mem_alloc.h:3687
      -
      struct VmaPoolCreateInfo VmaPoolCreateInfo
      Describes parameter of created VmaPool.
      -
      void vmaGetPoolName(VmaAllocator allocator, VmaPool pool, const char **ppName)
      Retrieves name of a custom pool.
      -
      uint32_t memoryType
      Memory type index that this allocation was allocated from.
      Definition: vk_mem_alloc.h:3236
      -
      void vmaDestroyImage(VmaAllocator allocator, VkImage image, VmaAllocation allocation)
      Destroys Vulkan image and frees allocated memory.
      -
      @ VMA_ALLOCATION_CREATE_MAPPED_BIT
      Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.
      Definition: vk_mem_alloc.h:2800
      -
      void vmaCalculateStats(VmaAllocator allocator, VmaStats *pStats)
      Retrieves statistics from current state of the Allocator.
      -
      void vmaDestroyBuffer(VmaAllocator allocator, VkBuffer buffer, VmaAllocation allocation)
      Destroys Vulkan buffer and frees allocated memory.
      -
      PFN_vkCreateBuffer vkCreateBuffer
      Definition: vk_mem_alloc.h:2367
      -
      void(VKAPI_PTR * PFN_vmaAllocateDeviceMemoryFunction)(VmaAllocator allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)
      Callback function called after successful vkAllocateMemory.
      Definition: vk_mem_alloc.h:2203
      -
      void vmaGetAllocatorInfo(VmaAllocator allocator, VmaAllocatorInfo *pAllocatorInfo)
      Returns information about existing VmaAllocator object - handle to Vulkan device etc.
      -
      size_t unusedRangeCount
      Number of continuous memory ranges in the pool not used by any VmaAllocation.
      Definition: vk_mem_alloc.h:3114
      -
      VmaPoolCreateFlagBits
      Flags to be passed as VmaPoolCreateInfo::flags.
      Definition: vk_mem_alloc.h:2989
      -
      struct VmaAllocationInfo VmaAllocationInfo
      Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
      -
      VkDeviceSize bytesMoved
      Total number of bytes that have been copied while moving allocations to different places.
      Definition: vk_mem_alloc.h:3749
      -
      VkDeviceSize unusedRangeSizeMin
      Definition: vk_mem_alloc.h:2592
      -
      @ VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT
      Definition: vk_mem_alloc.h:2831
      -
      VkResult vmaCheckPoolCorruption(VmaAllocator allocator, VmaPool pool)
      Checks magic number in margins around all allocations in given memory pool in search for corruptions.
      -
      VkResult vmaBindImageMemory(VmaAllocator allocator, VmaAllocation allocation, VkImage image)
      Binds image to allocation.
      -
      void(VKAPI_PTR * PFN_vmaFreeDeviceMemoryFunction)(VmaAllocator allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)
      Callback function called before vkFreeMemory.
      Definition: vk_mem_alloc.h:2210
      -
      struct VmaDefragmentationPassMoveInfo VmaDefragmentationPassMoveInfo
      -
      VmaAllocationCreateFlags flags
      Use VmaAllocationCreateFlagBits enum.
      Definition: vk_mem_alloc.h:2883
      -
      PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements
      Definition: vk_mem_alloc.h:2366
      -
      void vmaGetBudget(VmaAllocator allocator, VmaBudget *pBudget)
      Retrieves information about current memory budget for all memory heaps.
      +
      19304 #endif // #ifdef VMA_IMPLEMENTATION
      Definition: vk_mem_alloc.h:2881
      -
      VkMemoryPropertyFlags preferredFlags
      Flags that preferably should be set in a memory type chosen for an allocation.
      Definition: vk_mem_alloc.h:2899
      -
      VkResult vmaDefragmentationBegin(VmaAllocator allocator, const VmaDefragmentationInfo2 *pInfo, VmaDefragmentationStats *pStats, VmaDefragmentationContext *pContext)
      Begins defragmentation process.
      -
      VkResult vmaBindImageMemory2(VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize allocationLocalOffset, VkImage image, const void *pNext)
      Binds image to allocation with additional parameters.
      -
      struct VmaBudget VmaBudget
      Statistics of current memory usage and available budget, in bytes, for specific memory heap.
      -
      VkResult vmaEndDefragmentationPass(VmaAllocator allocator, VmaDefragmentationContext context)
      -
      VkBool32 * pAllocationsChanged
      Optional, output. Pointer to array that will be filled with information whether the allocation at cer...
      Definition: vk_mem_alloc.h:3663
      -
      uint32_t allocationsMoved
      Number of allocations that have been moved to different places.
      Definition: vk_mem_alloc.h:3753
      uint32_t memoryTypeBits
      Bitmask containing one bit set for every memory type acceptable for this allocation.
      Definition: vk_mem_alloc.h:2907
      -
      VkPhysicalDevice physicalDevice
      Handle to Vulkan physical device object.
      Definition: vk_mem_alloc.h:2523
      -
      uint32_t deviceMemoryBlocksFreed
      Number of empty VkDeviceMemory objects that have been released to the system.
      Definition: vk_mem_alloc.h:3755
      -
      const char * pFilePath
      Path to the file that should be written by the recording.
      Definition: vk_mem_alloc.h:2410
      -
      VkDeviceSize allocationSizeMax
      Definition: vk_mem_alloc.h:2591
      +
      VmaPool pool
      Pool that this allocation should be created in.
      Definition: vk_mem_alloc.h:2913
      +
      VkMemoryPropertyFlags preferredFlags
      Flags that preferably should be set in a memory type chosen for an allocation.
      Definition: vk_mem_alloc.h:2899
      +
      void * pUserData
      Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...
      Definition: vk_mem_alloc.h:2920
      +
      VkMemoryPropertyFlags requiredFlags
      Flags that must be set in a Memory Type chosen for an allocation.
      Definition: vk_mem_alloc.h:2894
      +
      float priority
      A floating-point value between 0 and 1, indicating the priority of the allocation relative to other m...
      Definition: vk_mem_alloc.h:2927
      +
      VmaMemoryUsage usage
      Intended usage of memory.
      Definition: vk_mem_alloc.h:2889
      +
      VmaAllocationCreateFlags flags
      Use VmaAllocationCreateFlagBits enum.
      Definition: vk_mem_alloc.h:2883
      +
      Represents single memory allocation.
      Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
      Definition: vk_mem_alloc.h:3231
      -
      @ VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT
      Enables alternative, buddy allocation algorithm in this pool.
      Definition: vk_mem_alloc.h:3035
      -
      struct VmaAllocatorInfo VmaAllocatorInfo
      Information about existing VmaAllocator object.
      +
      VkDeviceSize offset
      Offset in VkDeviceMemory object to the beginning of this allocation, in bytes. (deviceMemory,...
      Definition: vk_mem_alloc.h:3255
      +
      void * pMappedData
      Pointer to the beginning of this allocation as mapped data.
      Definition: vk_mem_alloc.h:3275
      +
      uint32_t memoryType
      Memory type index that this allocation was allocated from.
      Definition: vk_mem_alloc.h:3236
      +
      VkDeviceSize size
      Size of this allocation, in bytes.
      Definition: vk_mem_alloc.h:3266
      +
      void * pUserData
      Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...
      Definition: vk_mem_alloc.h:3280
      +
      VkDeviceMemory deviceMemory
      Handle to Vulkan memory object.
      Definition: vk_mem_alloc.h:3245
      +
      Description of a Allocator to be created.
      Definition: vk_mem_alloc.h:2415
      +
      VkPhysicalDevice physicalDevice
      Vulkan physical device.
      Definition: vk_mem_alloc.h:2420
      +
      uint32_t frameInUseCount
      Maximum number of additional frames that are in use at the same time as current frame.
      Definition: vk_mem_alloc.h:2446
      +
      const VkDeviceSize * pHeapSizeLimit
      Either null or a pointer to an array of limits on maximum number of bytes that can be allocated out o...
      Definition: vk_mem_alloc.h:2471
      +
      VmaAllocatorCreateFlags flags
      Flags for created allocator. Use VmaAllocatorCreateFlagBits enum.
      Definition: vk_mem_alloc.h:2417
      +
      const VmaVulkanFunctions * pVulkanFunctions
      Pointers to Vulkan functions. Can be null.
      Definition: vk_mem_alloc.h:2477
      +
      const VkAllocationCallbacks * pAllocationCallbacks
      Custom CPU memory allocation callbacks. Optional.
      Definition: vk_mem_alloc.h:2429
      +
      VkInstance instance
      Handle to Vulkan instance object.
      Definition: vk_mem_alloc.h:2489
      +
      VkDeviceSize preferredLargeHeapBlockSize
      Preferred size of a single VkDeviceMemory block to be allocated from large heaps > 1 GiB....
      Definition: vk_mem_alloc.h:2426
      +
      const VmaRecordSettings * pRecordSettings
      Parameters for recording of VMA calls. Can be null.
      Definition: vk_mem_alloc.h:2484
      +
      VkDevice device
      Vulkan device.
      Definition: vk_mem_alloc.h:2423
      +
      uint32_t vulkanApiVersion
      Optional. The highest version of Vulkan that the application is designed to use.
      Definition: vk_mem_alloc.h:2498
      +
      const VmaDeviceMemoryCallbacks * pDeviceMemoryCallbacks
      Informative callbacks for vkAllocateMemory, vkFreeMemory. Optional.
      Definition: vk_mem_alloc.h:2432
      +
      Represents main object of this library initialized.
      +
      Information about existing VmaAllocator object.
      Definition: vk_mem_alloc.h:2513
      +
      VkDevice device
      Handle to Vulkan device object.
      Definition: vk_mem_alloc.h:2528
      +
      VkInstance instance
      Handle to Vulkan instance object.
      Definition: vk_mem_alloc.h:2518
      +
      VkPhysicalDevice physicalDevice
      Handle to Vulkan physical device object.
      Definition: vk_mem_alloc.h:2523
      +
      Statistics of current memory usage and available budget, in bytes, for specific memory heap.
      Definition: vk_mem_alloc.h:2619
      +
      VkDeviceSize blockBytes
      Sum size of all VkDeviceMemory blocks allocated from particular heap, in bytes.
      Definition: vk_mem_alloc.h:2622
      VkDeviceSize allocationBytes
      Sum size of all allocations created in particular heap, in bytes.
      Definition: vk_mem_alloc.h:2633
      -
      @ VMA_ALLOCATION_CREATE_FLAG_BITS_MAX_ENUM
      Definition: vk_mem_alloc.h:2876
      +
      VkDeviceSize usage
      Estimated current memory usage of the program, in bytes.
      Definition: vk_mem_alloc.h:2643
      +
      VkDeviceSize budget
      Estimated amount of memory available to the program, in bytes.
      Definition: vk_mem_alloc.h:2654
      Represents Opaque object that represents started defragmentation process.
      -
      @ VMA_POOL_CREATE_ALGORITHM_MASK
      Definition: vk_mem_alloc.h:3039
      +
      Parameters for defragmentation.
      Definition: vk_mem_alloc.h:3642
      +
      const VmaPool * pPools
      Either null or pointer to array of pools to be defragmented.
      Definition: vk_mem_alloc.h:3682
      +
      uint32_t allocationCount
      Number of allocations in pAllocations array.
      Definition: vk_mem_alloc.h:3648
      +
      uint32_t maxGpuAllocationsToMove
      Maximum number of allocations that can be moved to a different place using transfers on GPU side,...
      Definition: vk_mem_alloc.h:3702
      +
      VkDeviceSize maxGpuBytesToMove
      Maximum total numbers of bytes that can be copied while moving allocations to different places using ...
      Definition: vk_mem_alloc.h:3697
      +
      VmaDefragmentationFlags flags
      Reserved for future use. Should be 0.
      Definition: vk_mem_alloc.h:3645
      +
      VkBool32 * pAllocationsChanged
      Optional, output. Pointer to array that will be filled with information whether the allocation at cer...
      Definition: vk_mem_alloc.h:3663
      +
      uint32_t poolCount
      Numer of pools in pPools array.
      Definition: vk_mem_alloc.h:3666
      +
      VkCommandBuffer commandBuffer
      Optional. Command buffer where GPU copy commands will be posted.
      Definition: vk_mem_alloc.h:3711
      uint32_t maxCpuAllocationsToMove
      Maximum number of allocations that can be moved to a different place using transfers on CPU side,...
      Definition: vk_mem_alloc.h:3692
      -
      float priority
      A floating-point value between 0 and 1, indicating the priority of the allocations in this pool relat...
      Definition: vk_mem_alloc.h:3097
      -
      void vmaFreeMemory(VmaAllocator allocator, const VmaAllocation allocation)
      Frees memory previously allocated using vmaAllocateMemory(), vmaAllocateMemoryForBuffer(),...
      +
      const VmaAllocation * pAllocations
      Pointer to array of allocations that can be defragmented.
      Definition: vk_mem_alloc.h:3657
      +
      VkDeviceSize maxCpuBytesToMove
      Maximum total numbers of bytes that can be copied while moving allocations to different places using ...
      Definition: vk_mem_alloc.h:3687
      Deprecated. Optional configuration parameters to be passed to function vmaDefragment().
      Definition: vk_mem_alloc.h:3733
      -
      @ VMA_ALLOCATION_CREATE_DONT_BIND_BIT
      Definition: vk_mem_alloc.h:2837
      +
      uint32_t maxAllocationsToMove
      Maximum number of allocations that can be moved to different place.
      Definition: vk_mem_alloc.h:3743
      +
      VkDeviceSize maxBytesToMove
      Maximum total numbers of bytes that can be copied while moving allocations to different places.
      Definition: vk_mem_alloc.h:3738
      +
      Parameters for incremental defragmentation steps.
      Definition: vk_mem_alloc.h:3724
      +
      uint32_t moveCount
      Definition: vk_mem_alloc.h:3725
      +
      VmaDefragmentationPassMoveInfo * pMoves
      Definition: vk_mem_alloc.h:3726
      +
      Definition: vk_mem_alloc.h:3714
      +
      VkDeviceMemory memory
      Definition: vk_mem_alloc.h:3716
      +
      VkDeviceSize offset
      Definition: vk_mem_alloc.h:3717
      +
      VmaAllocation allocation
      Definition: vk_mem_alloc.h:3715
      +
      Statistics returned by function vmaDefragment().
      Definition: vk_mem_alloc.h:3747
      +
      uint32_t deviceMemoryBlocksFreed
      Number of empty VkDeviceMemory objects that have been released to the system.
      Definition: vk_mem_alloc.h:3755
      +
      VkDeviceSize bytesMoved
      Total number of bytes that have been copied while moving allocations to different places.
      Definition: vk_mem_alloc.h:3749
      +
      VkDeviceSize bytesFreed
      Total number of bytes that have been released to the system by freeing empty VkDeviceMemory objects.
      Definition: vk_mem_alloc.h:3751
      +
      uint32_t allocationsMoved
      Number of allocations that have been moved to different places.
      Definition: vk_mem_alloc.h:3753
      +
      Set of callbacks that the library will call for vkAllocateMemory and vkFreeMemory.
      Definition: vk_mem_alloc.h:2224
      +
      void * pUserData
      Optional, can be null.
      Definition: vk_mem_alloc.h:2230
      +
      PFN_vmaAllocateDeviceMemoryFunction pfnAllocate
      Optional, can be null.
      Definition: vk_mem_alloc.h:2226
      +
      PFN_vmaFreeDeviceMemoryFunction pfnFree
      Optional, can be null.
      Definition: vk_mem_alloc.h:2228
      +
      Describes parameter of created VmaPool.
      Definition: vk_mem_alloc.h:3049
      +
      float priority
      A floating-point value between 0 and 1, indicating the priority of the allocations in this pool relat...
      Definition: vk_mem_alloc.h:3097
      +
      uint32_t memoryTypeIndex
      Vulkan memory type index to allocate this pool from.
      Definition: vk_mem_alloc.h:3052
      +
      VmaPoolCreateFlags flags
      Use combination of VmaPoolCreateFlagBits.
      Definition: vk_mem_alloc.h:3055
      +
      uint32_t frameInUseCount
      Maximum number of additional frames that are in use at the same time as current frame.
      Definition: vk_mem_alloc.h:3091
      +
      VkDeviceSize blockSize
      Size of a single VkDeviceMemory block to be allocated as part of this pool, in bytes....
      Definition: vk_mem_alloc.h:3064
      +
      size_t minBlockCount
      Minimum number of blocks to be always allocated in this pool, even if they stay empty.
      Definition: vk_mem_alloc.h:3069
      +
      size_t maxBlockCount
      Maximum number of blocks that can be allocated in this pool. Optional.
      Definition: vk_mem_alloc.h:3077
      +
      Represents custom memory pool.
      +
      Describes parameter of existing VmaPool.
      Definition: vk_mem_alloc.h:3102
      +
      VkDeviceSize size
      Total amount of VkDeviceMemory allocated from Vulkan for this pool, in bytes.
      Definition: vk_mem_alloc.h:3105
      +
      size_t blockCount
      Number of VkDeviceMemory blocks allocated for this pool.
      Definition: vk_mem_alloc.h:3124
      +
      VkDeviceSize unusedRangeSizeMax
      Size of the largest continuous free memory region available for new allocation.
      Definition: vk_mem_alloc.h:3121
      +
      size_t allocationCount
      Number of VmaAllocation objects created from this pool that were not destroyed or lost.
      Definition: vk_mem_alloc.h:3111
      +
      VkDeviceSize unusedSize
      Total number of bytes in the pool not used by any VmaAllocation.
      Definition: vk_mem_alloc.h:3108
      +
      size_t unusedRangeCount
      Number of continuous memory ranges in the pool not used by any VmaAllocation.
      Definition: vk_mem_alloc.h:3114
      +
      Parameters for recording calls to VMA functions. To be used in VmaAllocatorCreateInfo::pRecordSetting...
      Definition: vk_mem_alloc.h:2400
      +
      const char * pFilePath
      Path to the file that should be written by the recording.
      Definition: vk_mem_alloc.h:2410
      +
      VmaRecordFlags flags
      Flags for recording. Use VmaRecordFlagBits enum.
      Definition: vk_mem_alloc.h:2402
      +
      Calculated statistics of memory usage in entire allocator.
      Definition: vk_mem_alloc.h:2580
      +
      VkDeviceSize allocationSizeAvg
      Definition: vk_mem_alloc.h:2591
      +
      VkDeviceSize allocationSizeMax
      Definition: vk_mem_alloc.h:2591
      +
      VkDeviceSize unusedBytes
      Total number of bytes occupied by unused ranges.
      Definition: vk_mem_alloc.h:2590
      +
      VkDeviceSize unusedRangeSizeAvg
      Definition: vk_mem_alloc.h:2592
      +
      uint32_t allocationCount
      Number of VmaAllocation allocation objects allocated.
      Definition: vk_mem_alloc.h:2584
      +
      VkDeviceSize unusedRangeSizeMax
      Definition: vk_mem_alloc.h:2592
      +
      VkDeviceSize usedBytes
      Total number of bytes occupied by all allocations.
      Definition: vk_mem_alloc.h:2588
      +
      uint32_t blockCount
      Number of VkDeviceMemory Vulkan memory blocks allocated.
      Definition: vk_mem_alloc.h:2582
      +
      VkDeviceSize allocationSizeMin
      Definition: vk_mem_alloc.h:2591
      +
      uint32_t unusedRangeCount
      Number of free ranges of memory between allocations.
      Definition: vk_mem_alloc.h:2586
      +
      VkDeviceSize unusedRangeSizeMin
      Definition: vk_mem_alloc.h:2592
      +
      General statistics from current state of Allocator.
      Definition: vk_mem_alloc.h:2597
      +
      VmaStatInfo memoryHeap[VK_MAX_MEMORY_HEAPS]
      Definition: vk_mem_alloc.h:2599
      +
      VmaStatInfo memoryType[VK_MAX_MEMORY_TYPES]
      Definition: vk_mem_alloc.h:2598
      +
      VmaStatInfo total
      Definition: vk_mem_alloc.h:2600
      +
      Pointers to some Vulkan functions - a subset used by the library.
      Definition: vk_mem_alloc.h:2354
      +
      PFN_vkBindImageMemory vkBindImageMemory
      Definition: vk_mem_alloc.h:2364
      +
      PFN_vkCreateImage vkCreateImage
      Definition: vk_mem_alloc.h:2369
      +
      PFN_vkAllocateMemory vkAllocateMemory
      Definition: vk_mem_alloc.h:2357
      +
      PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges
      Definition: vk_mem_alloc.h:2361
      +
      PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements
      Definition: vk_mem_alloc.h:2366
      +
      PFN_vkFreeMemory vkFreeMemory
      Definition: vk_mem_alloc.h:2358
      +
      PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements
      Definition: vk_mem_alloc.h:2365
      +
      PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges
      Definition: vk_mem_alloc.h:2362
      +
      PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties
      Definition: vk_mem_alloc.h:2356
      +
      PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties
      Definition: vk_mem_alloc.h:2355
      +
      PFN_vkDestroyBuffer vkDestroyBuffer
      Definition: vk_mem_alloc.h:2368
      +
      PFN_vkDestroyImage vkDestroyImage
      Definition: vk_mem_alloc.h:2370
      +
      PFN_vkBindBufferMemory vkBindBufferMemory
      Definition: vk_mem_alloc.h:2363
      +
      PFN_vkMapMemory vkMapMemory
      Definition: vk_mem_alloc.h:2359
      +
      PFN_vkUnmapMemory vkUnmapMemory
      Definition: vk_mem_alloc.h:2360
      +
      PFN_vkCmdCopyBuffer vkCmdCopyBuffer
      Definition: vk_mem_alloc.h:2371
      +
      PFN_vkCreateBuffer vkCreateBuffer
      Definition: vk_mem_alloc.h:2367
      +
      VkResult vmaCreateImage(VmaAllocator allocator, const VkImageCreateInfo *pImageCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkImage *pImage, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      Function similar to vmaCreateBuffer().
      +
      VkResult vmaFindMemoryTypeIndexForImageInfo(VmaAllocator allocator, const VkImageCreateInfo *pImageCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
      Helps to find memoryTypeIndex, given VkImageCreateInfo and VmaAllocationCreateInfo.
      +
      void vmaDestroyBuffer(VmaAllocator allocator, VkBuffer buffer, VmaAllocation allocation)
      Destroys Vulkan buffer and frees allocated memory.
      +
      VkResult vmaAllocateMemoryForImage(VmaAllocator allocator, VkImage image, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      Function similar to vmaAllocateMemoryForBuffer().
      +
      VkResult vmaResizeAllocation(VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize newSize)
      Deprecated.
      +
      struct VmaPoolCreateInfo VmaPoolCreateInfo
      Describes parameter of created VmaPool.
      +
      void(VKAPI_PTR * PFN_vmaFreeDeviceMemoryFunction)(VmaAllocator allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)
      Callback function called before vkFreeMemory.
      Definition: vk_mem_alloc.h:2210
      +
      struct VmaRecordSettings VmaRecordSettings
      Parameters for recording calls to VMA functions. To be used in VmaAllocatorCreateInfo::pRecordSetting...
      +
      struct VmaAllocatorInfo VmaAllocatorInfo
      Information about existing VmaAllocator object.
      +
      VkResult vmaEndDefragmentationPass(VmaAllocator allocator, VmaDefragmentationContext context)
      +
      struct VmaAllocationInfo VmaAllocationInfo
      Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
      +
      #define VMA_RECORDING_ENABLED
      Definition: vk_mem_alloc.h:2031
      +
      VkResult vmaCreateAllocator(const VmaAllocatorCreateInfo *pCreateInfo, VmaAllocator *pAllocator)
      Creates Allocator object.
      +
      struct VmaStats VmaStats
      General statistics from current state of Allocator.
      +
      VkFlags VmaPoolCreateFlags
      Definition: vk_mem_alloc.h:3045
      +
      struct VmaDefragmentationInfo VmaDefragmentationInfo
      Deprecated. Optional configuration parameters to be passed to function vmaDefragment().
      +
      VkResult vmaFlushAllocation(VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize offset, VkDeviceSize size)
      Flushes memory of given allocation.
      +
      void vmaFreeStatsString(VmaAllocator allocator, char *pStatsString)
      +
      void vmaCalculateStats(VmaAllocator allocator, VmaStats *pStats)
      Retrieves statistics from current state of the Allocator.
      +
      VkResult vmaDefragmentationBegin(VmaAllocator allocator, const VmaDefragmentationInfo2 *pInfo, VmaDefragmentationStats *pStats, VmaDefragmentationContext *pContext)
      Begins defragmentation process.
      +
      struct VmaAllocationCreateInfo VmaAllocationCreateInfo
      +
      VkResult vmaBindImageMemory(VmaAllocator allocator, VmaAllocation allocation, VkImage image)
      Binds image to allocation.
      +
      VkBool32 vmaTouchAllocation(VmaAllocator allocator, VmaAllocation allocation)
      Returns VK_TRUE if allocation is not lost and atomically marks it as used in current frame.
      +
      struct VmaPoolStats VmaPoolStats
      Describes parameter of existing VmaPool.
      +
      VkResult vmaCheckCorruption(VmaAllocator allocator, uint32_t memoryTypeBits)
      Checks magic number in margins around all allocations in given memory types (in both default and cust...
      +
      VmaRecordFlagBits
      Flags to be used in VmaRecordSettings::flags.
      Definition: vk_mem_alloc.h:2386
      +
      @ VMA_RECORD_FLAG_BITS_MAX_ENUM
      Definition: vk_mem_alloc.h:2394
      +
      @ VMA_RECORD_FLUSH_AFTER_CALL_BIT
      Enables flush after recording every function call.
      Definition: vk_mem_alloc.h:2392
      +
      VmaAllocatorCreateFlagBits
      Flags for created VmaAllocator.
      Definition: vk_mem_alloc.h:2234
      +
      @ VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT
      Definition: vk_mem_alloc.h:2309
      +
      @ VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT
      Allocator and all objects created from it will not be synchronized internally, so you must guarantee ...
      Definition: vk_mem_alloc.h:2239
      +
      @ VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT
      Definition: vk_mem_alloc.h:2291
      +
      @ VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT
      Definition: vk_mem_alloc.h:2327
      +
      @ VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT
      Definition: vk_mem_alloc.h:2279
      +
      @ VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT
      Enables usage of VK_KHR_dedicated_allocation extension.
      Definition: vk_mem_alloc.h:2264
      +
      @ VMA_ALLOCATOR_CREATE_FLAG_BITS_MAX_ENUM
      Definition: vk_mem_alloc.h:2346
      +
      @ VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT
      Definition: vk_mem_alloc.h:2344
      +
      VkFlags VmaAllocationCreateFlags
      Definition: vk_mem_alloc.h:2878
      +
      void vmaDestroyPool(VmaAllocator allocator, VmaPool pool)
      Destroys VmaPool object and frees Vulkan device memory.
      +
      VkResult vmaCreatePool(VmaAllocator allocator, const VmaPoolCreateInfo *pCreateInfo, VmaPool *pPool)
      Allocates Vulkan device memory and creates VmaPool object.
      +
      void vmaFreeMemory(VmaAllocator allocator, const VmaAllocation allocation)
      Frees memory previously allocated using vmaAllocateMemory(), vmaAllocateMemoryForBuffer(),...
      +
      VmaDefragmentationFlagBits
      Flags to be used in vmaDefragmentationBegin(). None at the moment. Reserved for future use.
      Definition: vk_mem_alloc.h:3632
      +
      @ VMA_DEFRAGMENTATION_FLAG_INCREMENTAL
      Definition: vk_mem_alloc.h:3633
      +
      @ VMA_DEFRAGMENTATION_FLAG_BITS_MAX_ENUM
      Definition: vk_mem_alloc.h:3634
      +
      VkResult vmaBindBufferMemory(VmaAllocator allocator, VmaAllocation allocation, VkBuffer buffer)
      Binds buffer to allocation.
      +
      struct VmaDefragmentationPassInfo VmaDefragmentationPassInfo
      Parameters for incremental defragmentation steps.
      +
      void vmaMakePoolAllocationsLost(VmaAllocator allocator, VmaPool pool, size_t *pLostAllocationCount)
      Marks all allocations in given pool as lost if they are not used in current frame or VmaPoolCreateInf...
      +
      struct VmaDeviceMemoryCallbacks VmaDeviceMemoryCallbacks
      Set of callbacks that the library will call for vkAllocateMemory and vkFreeMemory.
      +
      void(VKAPI_PTR * PFN_vmaAllocateDeviceMemoryFunction)(VmaAllocator allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)
      Callback function called after successful vkAllocateMemory.
      Definition: vk_mem_alloc.h:2203
      +
      VkResult vmaAllocateMemoryForBuffer(VmaAllocator allocator, VkBuffer buffer, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      +
      void vmaFreeMemoryPages(VmaAllocator allocator, size_t allocationCount, const VmaAllocation *pAllocations)
      Frees memory and destroys multiple allocations.
      +
      void vmaGetAllocationInfo(VmaAllocator allocator, VmaAllocation allocation, VmaAllocationInfo *pAllocationInfo)
      Returns current information about specified allocation and atomically marks it as used in current fra...
      +
      void vmaGetMemoryTypeProperties(VmaAllocator allocator, uint32_t memoryTypeIndex, VkMemoryPropertyFlags *pFlags)
      Given Memory Type Index, returns Property Flags of this memory type.
      +
      VkResult vmaDefragmentationEnd(VmaAllocator allocator, VmaDefragmentationContext context)
      Ends defragmentation process.
      +
      VkFlags VmaDefragmentationFlags
      Definition: vk_mem_alloc.h:3636
      +
      VkResult vmaBindBufferMemory2(VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize allocationLocalOffset, VkBuffer buffer, const void *pNext)
      Binds buffer to allocation with additional parameters.
      +
      VmaPoolCreateFlagBits
      Flags to be passed as VmaPoolCreateInfo::flags.
      Definition: vk_mem_alloc.h:2989
      +
      @ VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT
      Enables alternative, linear allocation algorithm in this pool.
      Definition: vk_mem_alloc.h:3024
      +
      @ VMA_POOL_CREATE_FLAG_BITS_MAX_ENUM
      Definition: vk_mem_alloc.h:3043
      +
      @ VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT
      Enables alternative, buddy allocation algorithm in this pool.
      Definition: vk_mem_alloc.h:3035
      +
      @ VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT
      Use this flag if you always allocate only buffers and linear images or only optimal images out of thi...
      Definition: vk_mem_alloc.h:3007
      +
      @ VMA_POOL_CREATE_ALGORITHM_MASK
      Definition: vk_mem_alloc.h:3039
      +
      void vmaUnmapMemory(VmaAllocator allocator, VmaAllocation allocation)
      Unmaps memory represented by given allocation, mapped previously using vmaMapMemory().
      +
      VkResult vmaDefragment(VmaAllocator allocator, const VmaAllocation *pAllocations, size_t allocationCount, VkBool32 *pAllocationsChanged, const VmaDefragmentationInfo *pDefragmentationInfo, VmaDefragmentationStats *pDefragmentationStats)
      Deprecated. Compacts memory by moving allocations.
      +
      struct VmaBudget VmaBudget
      Statistics of current memory usage and available budget, in bytes, for specific memory heap.
      +
      void vmaBuildStatsString(VmaAllocator allocator, char **ppStatsString, VkBool32 detailedMap)
      Builds and returns statistics as string in JSON format.
      +
      VmaMemoryUsage
      Definition: vk_mem_alloc.h:2702
      +
      @ VMA_MEMORY_USAGE_MAX_ENUM
      Definition: vk_mem_alloc.h:2765
      +
      @ VMA_MEMORY_USAGE_CPU_ONLY
      Definition: vk_mem_alloc.h:2733
      +
      @ VMA_MEMORY_USAGE_CPU_COPY
      Definition: vk_mem_alloc.h:2755
      +
      @ VMA_MEMORY_USAGE_GPU_TO_CPU
      Definition: vk_mem_alloc.h:2749
      +
      @ VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED
      Definition: vk_mem_alloc.h:2763
      +
      @ VMA_MEMORY_USAGE_CPU_TO_GPU
      Definition: vk_mem_alloc.h:2740
      +
      @ VMA_MEMORY_USAGE_GPU_ONLY
      Definition: vk_mem_alloc.h:2723
      +
      @ VMA_MEMORY_USAGE_UNKNOWN
      Definition: vk_mem_alloc.h:2706
      +
      VkResult vmaBindImageMemory2(VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize allocationLocalOffset, VkImage image, const void *pNext)
      Binds image to allocation with additional parameters.
      +
      void vmaDestroyAllocator(VmaAllocator allocator)
      Destroys allocator object.
      +
      VkResult vmaInvalidateAllocation(VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize offset, VkDeviceSize size)
      Invalidates memory of given allocation.
      +
      VkResult vmaInvalidateAllocations(VmaAllocator allocator, uint32_t allocationCount, const VmaAllocation *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)
      Invalidates memory of given set of allocations.
      +
      void vmaGetMemoryProperties(VmaAllocator allocator, const VkPhysicalDeviceMemoryProperties **ppPhysicalDeviceMemoryProperties)
      +
      struct VmaVulkanFunctions VmaVulkanFunctions
      Pointers to some Vulkan functions - a subset used by the library.
      +
      VkResult vmaAllocateMemory(VmaAllocator allocator, const VkMemoryRequirements *pVkMemoryRequirements, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      General purpose memory allocation.
      +
      VkResult vmaBeginDefragmentationPass(VmaAllocator allocator, VmaDefragmentationContext context, VmaDefragmentationPassInfo *pInfo)
      +
      VkResult vmaFlushAllocations(VmaAllocator allocator, uint32_t allocationCount, const VmaAllocation *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)
      Flushes memory of given set of allocations.
      +
      VkResult vmaCreateBuffer(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
      +
      VkFlags VmaAllocatorCreateFlags
      Definition: vk_mem_alloc.h:2348
      +
      VkResult vmaAllocateMemoryPages(VmaAllocator allocator, const VkMemoryRequirements *pVkMemoryRequirements, const VmaAllocationCreateInfo *pCreateInfo, size_t allocationCount, VmaAllocation *pAllocations, VmaAllocationInfo *pAllocationInfo)
      General purpose memory allocation for multiple allocation objects at once.
      +
      VkResult vmaCheckPoolCorruption(VmaAllocator allocator, VmaPool pool)
      Checks magic number in margins around all allocations in given memory pool in search for corruptions.
      +
      VkResult vmaMapMemory(VmaAllocator allocator, VmaAllocation allocation, void **ppData)
      Maps memory represented by given allocation and returns pointer to it.
      +
      struct VmaDefragmentationPassMoveInfo VmaDefragmentationPassMoveInfo
      struct VmaDefragmentationInfo2 VmaDefragmentationInfo2
      Parameters for defragmentation.
      +
      struct VmaDefragmentationStats VmaDefragmentationStats
      Statistics returned by function vmaDefragment().
      +
      VmaAllocationCreateFlagBits
      Flags to be passed as VmaAllocationCreateInfo::flags.
      Definition: vk_mem_alloc.h:2769
      +
      @ VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT
      Definition: vk_mem_alloc.h:2864
      +
      @ VMA_ALLOCATION_CREATE_MAPPED_BIT
      Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.
      Definition: vk_mem_alloc.h:2800
      +
      @ VMA_ALLOCATION_CREATE_DONT_BIND_BIT
      Definition: vk_mem_alloc.h:2837
      +
      @ VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT
      Definition: vk_mem_alloc.h:2857
      +
      @ VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT
      Set this flag if the allocation should have its own memory block.
      Definition: vk_mem_alloc.h:2776
      +
      @ VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT
      Definition: vk_mem_alloc.h:2831
      +
      @ VMA_ALLOCATION_CREATE_CAN_BECOME_LOST_BIT
      Definition: vk_mem_alloc.h:2813
      +
      @ VMA_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT
      Definition: vk_mem_alloc.h:2867
      +
      @ VMA_ALLOCATION_CREATE_CAN_MAKE_OTHER_LOST_BIT
      Definition: vk_mem_alloc.h:2820
      +
      @ VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT
      Definition: vk_mem_alloc.h:2846
      +
      @ VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT
      Set this flag to only try to allocate from existing VkDeviceMemory blocks and never create new such b...
      Definition: vk_mem_alloc.h:2787
      +
      @ VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT
      Definition: vk_mem_alloc.h:2861
      +
      @ VMA_ALLOCATION_CREATE_STRATEGY_MASK
      Definition: vk_mem_alloc.h:2871
      +
      @ VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT
      Definition: vk_mem_alloc.h:2826
      +
      @ VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT
      Definition: vk_mem_alloc.h:2841
      +
      @ VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT
      Definition: vk_mem_alloc.h:2850
      +
      @ VMA_ALLOCATION_CREATE_FLAG_BITS_MAX_ENUM
      Definition: vk_mem_alloc.h:2876
      +
      void vmaSetPoolName(VmaAllocator allocator, VmaPool pool, const char *pName)
      Sets name of a custom pool.
      +
      void vmaSetCurrentFrameIndex(VmaAllocator allocator, uint32_t frameIndex)
      Sets index of the current frame.
      +
      void vmaDestroyImage(VmaAllocator allocator, VkImage image, VmaAllocation allocation)
      Destroys Vulkan image and frees allocated memory.
      +
      void vmaCreateLostAllocation(VmaAllocator allocator, VmaAllocation *pAllocation)
      Creates new allocation that is in lost state from the beginning.
      +
      VkResult vmaFindMemoryTypeIndexForBufferInfo(VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
      Helps to find memoryTypeIndex, given VkBufferCreateInfo and VmaAllocationCreateInfo.
      +
      void vmaGetPoolStats(VmaAllocator allocator, VmaPool pool, VmaPoolStats *pPoolStats)
      Retrieves statistics of existing VmaPool object.
      +
      void vmaGetBudget(VmaAllocator allocator, VmaBudget *pBudget)
      Retrieves information about current memory budget for all memory heaps.
      +
      struct VmaStatInfo VmaStatInfo
      Calculated statistics of memory usage in entire allocator.
      +
      void vmaGetPhysicalDeviceProperties(VmaAllocator allocator, const VkPhysicalDeviceProperties **ppPhysicalDeviceProperties)
      +
      VkResult vmaFindMemoryTypeIndex(VmaAllocator allocator, uint32_t memoryTypeBits, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
      Helps to find memoryTypeIndex, given memoryTypeBits and VmaAllocationCreateInfo.
      +
      void vmaGetPoolName(VmaAllocator allocator, VmaPool pool, const char **ppName)
      Retrieves name of a custom pool.
      +
      VkFlags VmaRecordFlags
      Definition: vk_mem_alloc.h:2396
      +
      void vmaSetAllocationUserData(VmaAllocator allocator, VmaAllocation allocation, void *pUserData)
      Sets pUserData in given allocation to new value.
      +
      void vmaGetAllocatorInfo(VmaAllocator allocator, VmaAllocatorInfo *pAllocatorInfo)
      Returns information about existing VmaAllocator object - handle to Vulkan device etc.
      + diff --git a/docs/html/vk_amd_device_coherent_memory.html b/docs/html/vk_amd_device_coherent_memory.html index 5931bbf..54d3537 100644 --- a/docs/html/vk_amd_device_coherent_memory.html +++ b/docs/html/vk_amd_device_coherent_memory.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VK_AMD_device_coherent_memory @@ -29,10 +29,10 @@ - + @@ -94,7 +94,7 @@ More information diff --git a/docs/html/vk_khr_dedicated_allocation.html b/docs/html/vk_khr_dedicated_allocation.html index 2462d73..75d0238 100644 --- a/docs/html/vk_khr_dedicated_allocation.html +++ b/docs/html/vk_khr_dedicated_allocation.html @@ -3,7 +3,7 @@ - + Vulkan Memory Allocator: VK_KHR_dedicated_allocation @@ -29,10 +29,10 @@ - + @@ -78,12 +78,14 @@ $(function() {

    If you enabled these extensions:

    2 . Use VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT flag when creating your VmaAllocator`to inform the library that you enabled required extensions and you want the library to use them.

    -
    +
    vmaCreateAllocator(&allocatorInfo, &allocator);
    +
    VkResult vmaCreateAllocator(const VmaAllocatorCreateInfo *pCreateInfo, VmaAllocator *pAllocator)
    Creates Allocator object.
    +
    @ VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT
    Enables usage of VK_KHR_dedicated_allocation extension.
    Definition: vk_mem_alloc.h:2264

    That's all. The extension will be automatically used whenever you create a buffer using vmaCreateBuffer() or image using vmaCreateImage().

    When using the extension together with Vulkan Validation Layer, you will receive warnings like this:

    vkBindBufferMemory(): Binding memory to buffer 0x33 but vkGetBufferMemoryRequirements() has not been called on that buffer.
    -

    It is OK, you should just ignore it. It happens because you use function vkGetBufferMemoryRequirements2KHR() instead of standard vkGetBufferMemoryRequirements(), while the validation layer seems to be unaware of it.

    +

    It is OK, you should just ignore it. It happens because you use function vkGetBufferMemoryRequirements2KHR() instead of standard vkGetBufferMemoryRequirements(), while the validation layer seems to be unaware of it.

    To learn more about this extension, see:

    -
    @ VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT
    Enables usage of VK_KHR_dedicated_allocation extension.
    Definition: vk_mem_alloc.h:2264
    -
    VmaAllocatorCreateFlags flags
    Flags for created allocator. Use VmaAllocatorCreateFlagBits enum.
    Definition: vk_mem_alloc.h:2417
    -
    VkResult vmaCreateAllocator(const VmaAllocatorCreateInfo *pCreateInfo, VmaAllocator *pAllocator)
    Creates Allocator object.
    diff --git a/src/Common.cpp b/src/Common.cpp index 246acaa..b4572fe 100644 --- a/src/Common.cpp +++ b/src/Common.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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 19c0297..bbcce33 100644 --- a/src/Common.h +++ b/src/Common.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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 bbe754b..207ec8b 100644 --- a/src/Shaders/Shader.frag +++ b/src/Shaders/Shader.frag @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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 e62544f..7ef5ddb 100644 --- a/src/Shaders/Shader.vert +++ b/src/Shaders/Shader.vert @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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 f615278..b94027d 100644 --- a/src/Shaders/SparseBindingTest.comp +++ b/src/Shaders/SparseBindingTest.comp @@ -1,5 +1,5 @@ // -// Copyright (c) 2018-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2018-2021 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 3c63641..e7bc589 100644 --- a/src/SparseBindingTest.cpp +++ b/src/SparseBindingTest.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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 3b7a6e1..98087fa 100644 --- a/src/SparseBindingTest.h +++ b/src/SparseBindingTest.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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 e5ec4c1..ff2136d 100644 --- a/src/Tests.cpp +++ b/src/Tests.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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.h b/src/Tests.h index d259fa9..01cf1a8 100644 --- a/src/Tests.h +++ b/src/Tests.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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/VmaReplay/Common.cpp b/src/VmaReplay/Common.cpp index b2bedf1..e7880a9 100644 --- a/src/VmaReplay/Common.cpp +++ b/src/VmaReplay/Common.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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/VmaReplay/Common.h b/src/VmaReplay/Common.h index 3f966c9..e42b47b 100644 --- a/src/VmaReplay/Common.h +++ b/src/VmaReplay/Common.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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/VmaReplay/Constants.cpp b/src/VmaReplay/Constants.cpp index 28d9c3b..6d2b15a 100644 --- a/src/VmaReplay/Constants.cpp +++ b/src/VmaReplay/Constants.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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/VmaReplay/Constants.h b/src/VmaReplay/Constants.h index 5db0858..03b76ff 100644 --- a/src/VmaReplay/Constants.h +++ b/src/VmaReplay/Constants.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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/VmaReplay/VmaReplay.cpp b/src/VmaReplay/VmaReplay.cpp index 774f070..2fac59e 100644 --- a/src/VmaReplay/VmaReplay.cpp +++ b/src/VmaReplay/VmaReplay.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2018-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2018-2021 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/VmaReplay/VmaUsage.cpp b/src/VmaReplay/VmaUsage.cpp index 20555a4..6353bcf 100644 --- a/src/VmaReplay/VmaUsage.cpp +++ b/src/VmaReplay/VmaUsage.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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/VmaReplay/VmaUsage.h b/src/VmaReplay/VmaUsage.h index 5c1b481..5a62bd6 100644 --- a/src/VmaReplay/VmaUsage.h +++ b/src/VmaReplay/VmaUsage.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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 5dc0ded..cd2d783 100644 --- a/src/VmaUsage.cpp +++ b/src/VmaUsage.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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 0e00724..8c8e434 100644 --- a/src/VmaUsage.h +++ b/src/VmaUsage.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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 6b04dfd..3cfe0ed 100644 --- a/src/VulkanSample.cpp +++ b/src/VulkanSample.cpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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/vk_mem_alloc.h b/src/vk_mem_alloc.h index 267c797..c61e80c 100644 --- a/src/vk_mem_alloc.h +++ b/src/vk_mem_alloc.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +// Copyright (c) 2017-2021 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 @@ -25,9 +25,9 @@ /** \mainpage Vulkan Memory Allocator -Version 3.0.0-development (2020-11-03) +Version 3.0.0-development (2021-02-16) -Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. \n +Copyright (c) 2017-2021 Advanced Micro Devices, Inc. All rights reserved. \n License: MIT Documentation of all members: vk_mem_alloc.h diff --git a/tools/VmaDumpVis/VmaDumpVis.py b/tools/VmaDumpVis/VmaDumpVis.py index 519ee30..6b870ab 100644 --- a/tools/VmaDumpVis/VmaDumpVis.py +++ b/tools/VmaDumpVis/VmaDumpVis.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2018-2020 Advanced Micro Devices, Inc. All rights reserved. +# Copyright (c) 2018-2021 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