|
287 | 287 | <tr class="memitem:a6aced90fcc7b39882b6654a740a0b9bb"><td class="memItemLeft" align="right" valign="top">VkResult </td><td class="memItemRight" valign="bottom"><a class="el" href="vk__mem__alloc_8h.html#a6aced90fcc7b39882b6654a740a0b9bb">vmaDefragment</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocations, size_t allocationCount, VkBool32 *pAllocationsChanged, const <a class="el" href="struct_vma_defragmentation_info.html">VmaDefragmentationInfo</a> *pDefragmentationInfo, <a class="el" href="struct_vma_defragmentation_stats.html">VmaDefragmentationStats</a> *pDefragmentationStats)</td></tr>
|
288 | 288 | <tr class="memdesc:a6aced90fcc7b39882b6654a740a0b9bb"><td class="mdescLeft"> </td><td class="mdescRight">Compacts memory by moving allocations. <a href="#a6aced90fcc7b39882b6654a740a0b9bb">More...</a><br /></td></tr>
|
289 | 289 | <tr class="separator:a6aced90fcc7b39882b6654a740a0b9bb"><td class="memSeparator" colspan="2"> </td></tr>
|
| 290 | +<tr class="memitem:a6b0929b914b60cf2d45cac4bf3547470"><td class="memItemLeft" align="right" valign="top">VkResult </td><td class="memItemRight" valign="bottom"><a class="el" href="vk__mem__alloc_8h.html#a6b0929b914b60cf2d45cac4bf3547470">vmaBindBufferMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkBuffer buffer)</td></tr> |
| 291 | +<tr class="memdesc:a6b0929b914b60cf2d45cac4bf3547470"><td class="mdescLeft"> </td><td class="mdescRight">Binds buffer to allocation. <a href="#a6b0929b914b60cf2d45cac4bf3547470">More...</a><br /></td></tr> |
| 292 | +<tr class="separator:a6b0929b914b60cf2d45cac4bf3547470"><td class="memSeparator" colspan="2"> </td></tr> |
| 293 | +<tr class="memitem:a3d3ca45799923aa5d138e9e5f9eb2da5"><td class="memItemLeft" align="right" valign="top">VkResult </td><td class="memItemRight" valign="bottom"><a class="el" href="vk__mem__alloc_8h.html#a3d3ca45799923aa5d138e9e5f9eb2da5">vmaBindImageMemory</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation, VkImage image)</td></tr> |
| 294 | +<tr class="memdesc:a3d3ca45799923aa5d138e9e5f9eb2da5"><td class="mdescLeft"> </td><td class="mdescRight">Binds image to allocation. <a href="#a3d3ca45799923aa5d138e9e5f9eb2da5">More...</a><br /></td></tr> |
| 295 | +<tr class="separator:a3d3ca45799923aa5d138e9e5f9eb2da5"><td class="memSeparator" colspan="2"> </td></tr> |
290 | 296 | <tr class="memitem:ac72ee55598617e8eecca384e746bab51"><td class="memItemLeft" align="right" valign="top">VkResult </td><td class="memItemRight" valign="bottom"><a class="el" href="vk__mem__alloc_8h.html#ac72ee55598617e8eecca384e746bab51">vmaCreateBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, const VkBufferCreateInfo *pBufferCreateInfo, const <a class="el" href="struct_vma_allocation_create_info.html">VmaAllocationCreateInfo</a> *pAllocationCreateInfo, VkBuffer *pBuffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> *pAllocation, <a class="el" href="struct_vma_allocation_info.html">VmaAllocationInfo</a> *pAllocationInfo)</td></tr>
|
291 | 297 | <tr class="separator:ac72ee55598617e8eecca384e746bab51"><td class="memSeparator" colspan="2"> </td></tr>
|
292 | 298 | <tr class="memitem:a0d9f4e4ba5bf9aab1f1c746387753d77"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vk__mem__alloc_8h.html#a0d9f4e4ba5bf9aab1f1c746387753d77">vmaDestroyBuffer</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, VkBuffer buffer, <a class="el" href="struct_vma_allocation.html">VmaAllocation</a> allocation)</td></tr>
|
@@ -929,6 +935,82 @@ <h2 class="memtitle"><span class="permalink"><a href="#a0faa3f9e5fb233d29d1e0039
|
929 | 935 |
|
930 | 936 | <p>Function similar to <a class="el" href="vk__mem__alloc_8h.html#a7fdf64415b6c3d83c454f28d2c53df7b">vmaAllocateMemoryForBuffer()</a>. </p>
|
931 | 937 |
|
| 938 | +</div> |
| 939 | +</div> |
| 940 | +<a id="a6b0929b914b60cf2d45cac4bf3547470"></a> |
| 941 | +<h2 class="memtitle"><span class="permalink"><a href="#a6b0929b914b60cf2d45cac4bf3547470">◆ </a></span>vmaBindBufferMemory()</h2> |
| 942 | + |
| 943 | +<div class="memitem"> |
| 944 | +<div class="memproto"> |
| 945 | + <table class="memname"> |
| 946 | + <tr> |
| 947 | + <td class="memname">VkResult vmaBindBufferMemory </td> |
| 948 | + <td>(</td> |
| 949 | + <td class="paramtype"><a class="el" href="struct_vma_allocator.html">VmaAllocator</a> </td> |
| 950 | + <td class="paramname"><em>allocator</em>, </td> |
| 951 | + </tr> |
| 952 | + <tr> |
| 953 | + <td class="paramkey"></td> |
| 954 | + <td></td> |
| 955 | + <td class="paramtype"><a class="el" href="struct_vma_allocation.html">VmaAllocation</a> </td> |
| 956 | + <td class="paramname"><em>allocation</em>, </td> |
| 957 | + </tr> |
| 958 | + <tr> |
| 959 | + <td class="paramkey"></td> |
| 960 | + <td></td> |
| 961 | + <td class="paramtype">VkBuffer </td> |
| 962 | + <td class="paramname"><em>buffer</em> </td> |
| 963 | + </tr> |
| 964 | + <tr> |
| 965 | + <td></td> |
| 966 | + <td>)</td> |
| 967 | + <td></td><td></td> |
| 968 | + </tr> |
| 969 | + </table> |
| 970 | +</div><div class="memdoc"> |
| 971 | + |
| 972 | +<p>Binds buffer to allocation. </p> |
| 973 | +<p>Binds specified buffer to region of memory represented by specified allocation. Gets <code>VkDeviceMemory</code> handle and offset from the allocation. If you want to create a buffer, allocate memory for it and bind them together separately, you should use this function for binding instead of standard <code>vkBindBufferMemory()</code>, because it ensures proper synchronization so that when a <code>VkDeviceMemory</code> object is used by multiple allocations, calls to <code>vkBind*Memory()</code> or <code>vkMapMemory()</code> won't happen from multiple threads simultaneously (which is illegal in Vulkan).</p> |
| 974 | +<p>It is recommended to use function <a class="el" href="vk__mem__alloc_8h.html#ac72ee55598617e8eecca384e746bab51">vmaCreateBuffer()</a> instead of this one. </p> |
| 975 | + |
| 976 | +</div> |
| 977 | +</div> |
| 978 | +<a id="a3d3ca45799923aa5d138e9e5f9eb2da5"></a> |
| 979 | +<h2 class="memtitle"><span class="permalink"><a href="#a3d3ca45799923aa5d138e9e5f9eb2da5">◆ </a></span>vmaBindImageMemory()</h2> |
| 980 | + |
| 981 | +<div class="memitem"> |
| 982 | +<div class="memproto"> |
| 983 | + <table class="memname"> |
| 984 | + <tr> |
| 985 | + <td class="memname">VkResult vmaBindImageMemory </td> |
| 986 | + <td>(</td> |
| 987 | + <td class="paramtype"><a class="el" href="struct_vma_allocator.html">VmaAllocator</a> </td> |
| 988 | + <td class="paramname"><em>allocator</em>, </td> |
| 989 | + </tr> |
| 990 | + <tr> |
| 991 | + <td class="paramkey"></td> |
| 992 | + <td></td> |
| 993 | + <td class="paramtype"><a class="el" href="struct_vma_allocation.html">VmaAllocation</a> </td> |
| 994 | + <td class="paramname"><em>allocation</em>, </td> |
| 995 | + </tr> |
| 996 | + <tr> |
| 997 | + <td class="paramkey"></td> |
| 998 | + <td></td> |
| 999 | + <td class="paramtype">VkImage </td> |
| 1000 | + <td class="paramname"><em>image</em> </td> |
| 1001 | + </tr> |
| 1002 | + <tr> |
| 1003 | + <td></td> |
| 1004 | + <td>)</td> |
| 1005 | + <td></td><td></td> |
| 1006 | + </tr> |
| 1007 | + </table> |
| 1008 | +</div><div class="memdoc"> |
| 1009 | + |
| 1010 | +<p>Binds image to allocation. </p> |
| 1011 | +<p>Binds specified image to region of memory represented by specified allocation. Gets <code>VkDeviceMemory</code> handle and offset from the allocation. If you want to create an image, allocate memory for it and bind them together separately, you should use this function for binding instead of standard <code>vkBindImageMemory()</code>, because it ensures proper synchronization so that when a <code>VkDeviceMemory</code> object is used by multiple allocations, calls to <code>vkBind*Memory()</code> or <code>vkMapMemory()</code> won't happen from multiple threads simultaneously (which is illegal in Vulkan).</p> |
| 1012 | +<p>It is recommended to use function <a class="el" href="vk__mem__alloc_8h.html#a02a94f25679275851a53e82eacbcfc73" title="Function similar to vmaCreateBuffer(). ">vmaCreateImage()</a> instead of this one. </p> |
| 1013 | + |
932 | 1014 | </div>
|
933 | 1015 | </div>
|
934 | 1016 | <a id="aa4fee7eb5253377599ef4fd38c93c2a0"></a>
|
|
0 commit comments