From e73e988dafba80633cd9d8d1abb1ae1af0439bae Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Fri, 20 Mar 2020 18:05:42 +0100 Subject: [PATCH] Add support for buffer device address, together with documentation and tests Added VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT. --- docs/html/allocation_annotation.html | 16 +- docs/html/choosing_memory_type.html | 16 +- docs/html/custom_memory_pools.html | 16 +- docs/html/defragmentation.html | 20 +- docs/html/enabling_buffer_device_address.html | 98 + docs/html/globals.html | 14 +- docs/html/globals_defs.html | 3 + docs/html/globals_eval.html | 3 + docs/html/index.html | 5 +- docs/html/lost_allocations.html | 12 +- docs/html/memory_mapping.html | 22 +- docs/html/quick_start.html | 12 +- docs/html/search/all_10.js | 9 +- docs/html/search/all_11.js | 158 +- docs/html/search/all_12.html | 2 +- docs/html/search/all_12.js | 297 +- docs/html/search/all_4.js | 3 +- docs/html/search/all_5.js | 3 +- docs/html/search/all_6.js | 2 +- docs/html/search/all_7.js | 2 +- docs/html/search/all_8.js | 16 +- docs/html/search/all_9.js | 16 +- docs/html/search/all_a.js | 2 +- docs/html/search/all_b.js | 22 +- docs/html/search/all_c.js | 22 +- docs/html/search/all_d.js | 4 +- docs/html/search/all_e.js | 6 +- docs/html/search/all_f.js | 4 +- docs/html/search/classes_0.js | 42 +- docs/html/search/defines_0.js | 2 +- docs/html/search/defines_1.js | 13 +- docs/html/search/enums_0.js | 12 +- docs/html/search/enumvalues_0.js | 81 +- docs/html/search/files_0.js | 2 +- docs/html/search/functions_0.js | 100 +- docs/html/search/pages_0.js | 2 +- docs/html/search/pages_1.js | 6 +- docs/html/search/pages_2.js | 6 +- docs/html/search/pages_3.js | 2 +- docs/html/search/pages_4.js | 2 +- docs/html/search/pages_5.js | 2 +- docs/html/search/pages_6.js | 2 +- docs/html/search/pages_7.js | 3 +- docs/html/search/pages_8.js | 4 +- docs/html/search/pages_9.js | 5 +- docs/html/search/pages_a.html | 30 + docs/html/search/pages_a.js | 6 + docs/html/search/searchdata.js | 4 +- docs/html/search/typedefs_0.js | 4 +- docs/html/search/typedefs_1.js | 56 +- docs/html/search/variables_0.js | 14 +- docs/html/search/variables_1.js | 12 +- docs/html/search/variables_2.js | 2 +- docs/html/search/variables_3.js | 6 +- docs/html/search/variables_4.js | 4 +- docs/html/search/variables_5.js | 2 +- docs/html/search/variables_6.js | 28 +- docs/html/search/variables_7.js | 2 +- docs/html/search/variables_8.js | 38 +- docs/html/search/variables_9.js | 2 +- docs/html/search/variables_a.js | 2 +- docs/html/search/variables_b.js | 2 +- docs/html/search/variables_c.js | 16 +- docs/html/search/variables_d.js | 36 +- .../struct_vma_allocator_create_info.html | 2 +- docs/html/vk__mem__alloc_8h.html | 28 +- docs/html/vk__mem__alloc_8h_source.html | 30403 ++++++++-------- docs/html/vk_khr_dedicated_allocation.html | 4 +- src/Common.h | 23 + src/Tests.cpp | 43 + src/VulkanSample.cpp | 108 +- src/vk_mem_alloc.h | 161 +- 72 files changed, 16279 insertions(+), 15850 deletions(-) create mode 100644 docs/html/enabling_buffer_device_address.html create mode 100644 docs/html/search/pages_a.html create mode 100644 docs/html/search/pages_a.js diff --git a/docs/html/allocation_annotation.html b/docs/html/allocation_annotation.html index ce59a78..84666ff 100644 --- a/docs/html/allocation_annotation.html +++ b/docs/html/allocation_annotation.html @@ -116,18 +116,18 @@ 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:2492
-
void * pUserData
Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...
Definition: vk_mem_alloc.h:2586
+
@ VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT
Definition: vk_mem_alloc.h:2569
+
void * pUserData
Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...
Definition: vk_mem_alloc.h:2663
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:2389
+
@ VMA_MEMORY_USAGE_GPU_ONLY
Definition: vk_mem_alloc.h:2466
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:2555
-
void * pUserData
Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...
Definition: vk_mem_alloc.h:2922
+
VmaMemoryUsage usage
Intended usage of memory.
Definition: vk_mem_alloc.h:2632
+
void * pUserData
Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...
Definition: vk_mem_alloc.h:2999
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:2549
-
Definition: vk_mem_alloc.h:2546
-
Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
Definition: vk_mem_alloc.h:2884
+
VmaAllocationCreateFlags flags
Use VmaAllocationCreateFlagBits enum.
Definition: vk_mem_alloc.h:2626
+
Definition: vk_mem_alloc.h:2623
+
Parameters of VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo().
Definition: vk_mem_alloc.h:2961