<p>Parameters of <aclass="el"href="struct_vma_allocation.html"title="Represents single memory allocation.">VmaAllocation</a> objects, that can be retrieved using function <aclass="el"href="vk__mem__alloc_8h.html#a86dd08aba8633bfa4ad0df2e76481d8b"title="Returns current information about specified allocation and atomically marks it as used in current fra...">vmaGetAllocationInfo()</a>.
<trclass="memdesc:a7f6b0aa58c135e488e6b40a388dad9d5"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Memory type index that this allocation was allocated from. <ahref="struct_vma_allocation_info.html#a7f6b0aa58c135e488e6b40a388dad9d5">More...</a><br/></td></tr>
<trclass="memdesc:a4a3c732388dbdc7a23f9365b00825268"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Offset in <code>VkDeviceMemory</code> object to the beginning of this allocation, in bytes. <code>(deviceMemory, offset)</code> pair is unique to this allocation. <ahref="struct_vma_allocation_info.html#a4a3c732388dbdc7a23f9365b00825268">More...</a><br/></td></tr>
<trclass="memdesc:aac76d113a6a5ccbb09fea00fb25fd18f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Size of this allocation, in bytes. <ahref="struct_vma_allocation_info.html#aac76d113a6a5ccbb09fea00fb25fd18f">More...</a><br/></td></tr>
<trclass="memdesc:a5eeffbe2d2f30f53370ff14aefbadbe2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Pointer to the beginning of this allocation as mapped data. <ahref="struct_vma_allocation_info.html#a5eeffbe2d2f30f53370ff14aefbadbe2">More...</a><br/></td></tr>
<trclass="memdesc:adc507656149c04de7ed95d0042ba2a13"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Custom general-purpose pointer that was passed as <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> or set using <aclass="el"href="vk__mem__alloc_8h.html#af9147d31ffc11d62fc187bde283ed14f"title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a>. <ahref="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13">More...</a><br/></td></tr>
<divclass="textblock"><p>Parameters of <aclass="el"href="struct_vma_allocation.html"title="Represents single memory allocation.">VmaAllocation</a> objects, that can be retrieved using function <aclass="el"href="vk__mem__alloc_8h.html#a86dd08aba8633bfa4ad0df2e76481d8b"title="Returns current information about specified allocation and atomically marks it as used in current fra...">vmaGetAllocationInfo()</a>. </p>
<p>Same memory object can be shared by multiple allocations.</p>
<p>It can change after call to <aclass="el"href="vk__mem__alloc_8h.html#a9f0f8f56db5f7f57fe4454f465142dac"title="Deprecated. Compacts memory by moving allocations.">vmaDefragment()</a> if this allocation is passed to the function, or if allocation is lost.</p>
<p>If the allocation is lost, it is equal to <code>VK_NULL_HANDLE</code>. </p>
<p>Offset in <code>VkDeviceMemory</code> object to the beginning of this allocation, in bytes. <code>(deviceMemory, offset)</code> pair is unique to this allocation. </p>
<p>You usually don't need to use this offset. If you create a buffer or an image together with the allocation using e.g. function <aclass="el"href="vk__mem__alloc_8h.html#ac72ee55598617e8eecca384e746bab51">vmaCreateBuffer()</a>, <aclass="el"href="vk__mem__alloc_8h.html#a02a94f25679275851a53e82eacbcfc73"title="Function similar to vmaCreateBuffer().">vmaCreateImage()</a>, functions that operate on these resources refer to the beginning of the buffer or image, not entire device memory block. Functions like <aclass="el"href="vk__mem__alloc_8h.html#ad5bd1243512d099706de88168992f069"title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a>, <aclass="el"href="vk__mem__alloc_8h.html#a6b0929b914b60cf2d45cac4bf3547470"title="Binds buffer to allocation.">vmaBindBufferMemory()</a> also refer to the beginning of the allocation and apply this offset automatically.</p>
<p>It can change after call to <aclass="el"href="vk__mem__alloc_8h.html#a9f0f8f56db5f7f57fe4454f465142dac"title="Deprecated. Compacts memory by moving allocations.">vmaDefragment()</a> if this allocation is passed to the function, or if allocation is lost. </p>
<p>If the allocation hasn't been mapped using <aclass="el"href="vk__mem__alloc_8h.html#ad5bd1243512d099706de88168992f069"title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a> and hasn't been created with <aclass="el"href="vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f"title="Set this flag to use a memory that will be persistently mapped and retrieve pointer to it.">VMA_ALLOCATION_CREATE_MAPPED_BIT</a> flag, this value is null.</p>
<p>It can change after call to <aclass="el"href="vk__mem__alloc_8h.html#ad5bd1243512d099706de88168992f069"title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a>, <aclass="el"href="vk__mem__alloc_8h.html#a9bc268595cb33f6ec4d519cfce81ff45"title="Unmaps memory represented by given allocation, mapped previously using vmaMapMemory().">vmaUnmapMemory()</a>. It can also change after call to <aclass="el"href="vk__mem__alloc_8h.html#a9f0f8f56db5f7f57fe4454f465142dac"title="Deprecated. Compacts memory by moving allocations.">vmaDefragment()</a> if this allocation is passed to the function. </p>
<p>Custom general-purpose pointer that was passed as <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> or set using <aclass="el"href="vk__mem__alloc_8h.html#af9147d31ffc11d62fc187bde283ed14f"title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a>. </p>
<p>It can change after call to <aclass="el"href="vk__mem__alloc_8h.html#af9147d31ffc11d62fc187bde283ed14f"title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a> for this allocation. </p>
<dlclass="section note"><dt>Note</dt><dd>Allocation size returned in this variable may be greater than the size requested for the resource e.g. as <code>VkBufferCreateInfo::size</code>. Whole size of the allocation is accessible for operations on memory e.g. using a pointer after mapping with <aclass="el"href="vk__mem__alloc_8h.html#ad5bd1243512d099706de88168992f069"title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a>, but operations on the resource e.g. using <code>vkCmdCopyBuffer</code> must be limited to the size of the resource. </dd></dl>