<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="group__group__alloc.html#ga86dd08aba8633bfa4ad0df2e76481d8b"title="Returns current information about specified allocation.">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="group__group__alloc.html#gaf9147d31ffc11d62fc187bde283ed14f"title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a>. <ahref="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13">More...</a><br/></td></tr>
<trclass="memdesc:a28612f3e897e5b268254a3c63413d759"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Custom allocation name that was set with <aclass="el"href="group__group__alloc.html#gabe02cbb0cd913b3f125958179f2020fc"title="Sets pName in given allocation to new value.">vmaSetAllocationName()</a>. <ahref="struct_vma_allocation_info.html#a28612f3e897e5b268254a3c63413d759">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="group__group__alloc.html#ga86dd08aba8633bfa4ad0df2e76481d8b"title="Returns current information about specified allocation.">vmaGetAllocationInfo()</a>. </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="group__group__alloc.html#gac72ee55598617e8eecca384e746bab51"title="Creates a new VkBuffer, allocates and binds memory for it.">vmaCreateBuffer()</a>, <aclass="el"href="group__group__alloc.html#ga02a94f25679275851a53e82eacbcfc73"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="group__group__alloc.html#gad5bd1243512d099706de88168992f069"title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a>, <aclass="el"href="group__group__alloc.html#ga6b0929b914b60cf2d45cac4bf3547470"title="Binds buffer to allocation.">vmaBindBufferMemory()</a> also refer to the beginning of the allocation and apply this offset automatically.</p>
<p>If the allocation hasn't been mapped using <aclass="el"href="group__group__alloc.html#gad5bd1243512d099706de88168992f069"title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a> and hasn't been created with <aclass="el"href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597a11da372cc3a82931c5e5d6146cd9dd1f"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="group__group__alloc.html#gad5bd1243512d099706de88168992f069"title="Maps memory represented by given allocation and returns pointer to it.">vmaMapMemory()</a>, <aclass="el"href="group__group__alloc.html#ga9bc268595cb33f6ec4d519cfce81ff45"title="Unmaps memory represented by given allocation, mapped previously using vmaMapMemory().">vmaUnmapMemory()</a>. It can also change after the allocation is moved during <aclass="el"href="defragmentation.html">Defragmentation</a>. </p>
<p>Custom allocation name that was set with <aclass="el"href="group__group__alloc.html#gabe02cbb0cd913b3f125958179f2020fc"title="Sets pName in given allocation to new value.">vmaSetAllocationName()</a>. </p>
<p>It can change after call to <aclass="el"href="group__group__alloc.html#gabe02cbb0cd913b3f125958179f2020fc"title="Sets pName in given allocation to new value.">vmaSetAllocationName()</a> for this allocation.</p>
<p>Another way to set custom name is to pass it in <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> with additional flag <aclass="el"href="group__group__alloc.html#ggad9889c10c798b040d59c92f257cae597aa6f24f821cd6a7c5e4a443f7bf59c520">VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT</a> set [DEPRECATED]. </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="group__group__alloc.html#gaf9147d31ffc11d62fc187bde283ed14f"title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a>. </p>
<p>It can change after call to <aclass="el"href="group__group__alloc.html#gaf9147d31ffc11d62fc187bde283ed14f"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="group__group__alloc.html#gad5bd1243512d099706de88168992f069"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>