You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,7 +44,7 @@ Additional features:
44
44
- Custom memory pools: Create a pool with desired parameters (e.g. fixed or limited maximum size) and allocate memory out of it.
45
45
- Linear allocator: Create a pool with linear algorithm and use it for much faster allocations and deallocations in free-at-once, stack, double stack, or ring buffer fashion.
46
46
- Support for Vulkan 1.0...1.4.
47
-
- Support for extensions (and equivalent functionality included in new Vulkan versions):
47
+
- Support for extensions (and equivalent functionality included in new core Vulkan versions):
48
48
- VK_KHR_dedicated_allocation: Just enable it and it will be used automatically by the library.
49
49
- VK_KHR_bind_memory2.
50
50
- VK_KHR_maintenance4.
@@ -60,7 +60,7 @@ Additional features:
60
60
- JSON dump: Obtain a string in JSON format with detailed map of internal state, including list of allocations, their string names, and gaps between them.
61
61
- Convert this JSON dump into a picture to visualize your memory. See [tools/GpuMemDumpVis](tools/GpuMemDumpVis/README.md).
62
62
- Debugging incorrect memory usage: Enable initialization of all allocated memory with a bit pattern to detect usage of uninitialized or freed memory. Enable validation of a magic number after every allocation to detect out-of-bounds memory corruption.
63
-
- Support for interoperability with OpenGL.
63
+
- Support for interoperability with OpenGL, Direct3D, and other graphics APIs through external memory export.
64
64
- Virtual allocator: Interface for using core allocation algorithm to allocate any custom data, e.g. pieces of one large buffer.
<p>You can annotate allocations with your own information, e.g. for debugging purposes. To do that, fill <aclass="el" href="struct_vma_allocation_create_info.html#a8259e85c272683434f4abb4ddddffe19" title="Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...">VmaAllocationCreateInfo::pUserData</a> field when creating an allocation. It is an opaque <code>void*</code> pointer. You can use it e.g. as a pointer, some handle, index, key, ordinal number or any other value that would associate the allocation with your custom metadata. It is useful to identify appropriate data structures in your engine given <aclass="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>, e.g. when doing <aclass="el" href="defragmentation.html">Defragmentation</a>.</p>
83
+
<p>You can annotate allocations with your own information, e.g. for debugging purposes. To do that, fill <aclass="el" href="struct_vma_allocation_create_info.html#a8259e85c272683434f4abb4ddddffe19" title="Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo...">VmaAllocationCreateInfo::pUserData</a> field when creating an allocation. It is an opaque <spanclass="tt">void*</span> pointer. You can use it e.g. as a pointer, some handle, index, key, ordinal number or any other value that would associate the allocation with your custom metadata. It is useful to identify appropriate data structures in your engine given <aclass="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>, e.g. when doing <aclass="el" href="defragmentation.html">Defragmentation</a>.</p>
<divclass="ttc" id="astruct_vma_allocation_info_html_adc507656149c04de7ed95d0042ba2a13"><divclass="ttname"><ahref="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13">VmaAllocationInfo::pUserData</a></div><divclass="ttdeci">void * pUserData</div><divclass="ttdoc">Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...</div><divclass="ttdef"><b>Definition</b> vk_mem_alloc.h:1457</div></div>
121
108
</div><!-- fragment --><p>It can also be changed using function <aclass="el" href="group__group__alloc.html#gaf9147d31ffc11d62fc187bde283ed14f" title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a>.</p>
122
-
<p>Values of (non-zero) allocations' <code>pUserData</code> are printed in JSON report created by <aclass="el" href="group__group__stats.html#gaa4fee7eb5253377599ef4fd38c93c2a0" title="Builds and returns statistics as a null-terminated string in JSON format.">vmaBuildStatsString()</a> in hexadecimal form.</p>
123
-
<h1><aclass="anchor" id="allocation_names"></a>
109
+
<p>Values of (non-zero) allocations' <spanclass="tt">pUserData</span> are printed in JSON report created by <aclass="el" href="group__group__stats.html#gaa4fee7eb5253377599ef4fd38c93c2a0" title="Builds and returns statistics as a null-terminated string in JSON format.">vmaBuildStatsString()</a> in hexadecimal form.</p>
<p>An allocation can also carry a null-terminated string, giving a name to the allocation. To set it, call <aclass="el" href="group__group__alloc.html#gabe02cbb0cd913b3f125958179f2020fc" title="Sets pName in given allocation to new value.">vmaSetAllocationName()</a>. The library creates internal copy of the string, so the pointer you pass doesn't need to be valid for whole lifetime of the allocation. You can free it after the call.</p>
<trid="row_11_" class="odd"><tdclass="entry"><spanstyle="width:16px;display:inline-block;"> </span><spanclass="icona"><spanclass="icon">C</span></span><aclass="el" href="struct_vma_defragmentation_pass_move_info.html" target="_self">VmaDefragmentationPassMoveInfo</a></td><tdclass="desc">Parameters for incremental defragmentation steps </td></tr>
104
91
<trid="row_12_" class="even"><tdclass="entry"><spanstyle="width:16px;display:inline-block;"> </span><spanclass="icona"><spanclass="icon">C</span></span><aclass="el" href="struct_vma_defragmentation_stats.html" target="_self">VmaDefragmentationStats</a></td><tdclass="desc">Statistics returned for defragmentation process in function <aclass="el" href="group__group__alloc.html#ga59f01ca3d53d50b7cca9b442b77a3e87" title="Ends defragmentation process.">vmaEndDefragmentation()</a></td></tr>
105
92
<trid="row_13_" class="odd"><tdclass="entry"><spanstyle="width:16px;display:inline-block;"> </span><spanclass="icona"><spanclass="icon">C</span></span><aclass="el" href="struct_vma_detailed_statistics.html" target="_self">VmaDetailedStatistics</a></td><tdclass="desc">More detailed statistics than <aclass="el" href="struct_vma_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool,...">VmaStatistics</a></td></tr>
106
-
<trid="row_14_" class="even"><tdclass="entry"><spanstyle="width:16px;display:inline-block;"> </span><spanclass="icona"><spanclass="icon">C</span></span><aclass="el" href="struct_vma_device_memory_callbacks.html" target="_self">VmaDeviceMemoryCallbacks</a></td><tdclass="desc">Set of callbacks that the library will call for <code>vkAllocateMemory</code> and <code>vkFreeMemory</code></td></tr>
93
+
<trid="row_14_" class="even"><tdclass="entry"><spanstyle="width:16px;display:inline-block;"> </span><spanclass="icona"><spanclass="icon">C</span></span><aclass="el" href="struct_vma_device_memory_callbacks.html" target="_self">VmaDeviceMemoryCallbacks</a></td><tdclass="desc">Set of callbacks that the library will call for <spanclass="tt">vkAllocateMemory</span> and <spanclass="tt">vkFreeMemory</span></td></tr>
107
94
<trid="row_15_" class="odd"><tdclass="entry"><spanstyle="width:16px;display:inline-block;"> </span><spanclass="icona"><spanclass="icon">C</span></span><aclass="el" href="struct_vma_pool.html" target="_self">VmaPool</a></td><tdclass="desc">Represents custom memory pool </td></tr>
108
95
<trid="row_16_" class="even"><tdclass="entry"><spanstyle="width:16px;display:inline-block;"> </span><spanclass="icona"><spanclass="icon">C</span></span><aclass="el" href="struct_vma_pool_create_info.html" target="_self">VmaPoolCreateInfo</a></td><tdclass="desc">Describes parameter of created <aclass="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a></td></tr>
109
96
<trid="row_17_" class="odd"><tdclass="entry"><spanstyle="width:16px;display:inline-block;"> </span><spanclass="icona"><spanclass="icon">C</span></span><aclass="el" href="struct_vma_statistics.html" target="_self">VmaStatistics</a></td><tdclass="desc">Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total </td></tr>
0 commit comments