1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml"> 3<head> 4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 5<meta http-equiv="X-UA-Compatible" content="IE=9"/> 6<meta name="generator" content="Doxygen 1.8.16"/> 7<meta name="viewport" content="width=device-width, initial-scale=1"/> 8<title>Vulkan Memory Allocator: _ Struct Reference</title> 9<link href="tabs.css" rel="stylesheet" type="text/css"/> 10<script type="text/javascript" src="jquery.js"></script> 11<script type="text/javascript" src="dynsections.js"></script> 12<link href="search/search.css" rel="stylesheet" type="text/css"/> 13<script type="text/javascript" src="search/searchdata.js"></script> 14<script type="text/javascript" src="search/search.js"></script> 15<link href="doxygen.css" rel="stylesheet" type="text/css" /> 16</head> 17<body> 18<div id="top"><!-- do not remove this div, it is closed by doxygen! --> 19<div id="titlearea"> 20<table cellspacing="0" cellpadding="0"> 21 <tbody> 22 <tr style="height: 56px;"> 23 <td id="projectalign" style="padding-left: 0.5em;"> 24 <div id="projectname">Vulkan Memory Allocator 25 </div> 26 </td> 27 </tr> 28 </tbody> 29</table> 30</div> 31<!-- end header part --> 32<!-- Generated by Doxygen 1.8.16 --> 33<script type="text/javascript"> 34/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 35var searchBox = new SearchBox("searchBox", "search",false,'Search'); 36/* @license-end */ 37</script> 38<script type="text/javascript" src="menudata.js"></script> 39<script type="text/javascript" src="menu.js"></script> 40<script type="text/javascript"> 41/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 42$(function() { 43 initMenu('',true,false,'search.php','Search'); 44 $(document).ready(function() { init_search(); }); 45}); 46/* @license-end */</script> 47<div id="main-nav"></div> 48<!-- window showing the filter options --> 49<div id="MSearchSelectWindow" 50 onmouseover="return searchBox.OnSearchSelectShow()" 51 onmouseout="return searchBox.OnSearchSelectHide()" 52 onkeydown="return searchBox.OnSearchSelectKey(event)"> 53</div> 54 55<!-- iframe showing the search results (closed by default) --> 56<div id="MSearchResultsWindow"> 57<iframe src="javascript:void(0)" frameborder="0" 58 name="MSearchResults" id="MSearchResults"> 59</iframe> 60</div> 61 62</div><!-- top --> 63<div class="header"> 64 <div class="summary"> 65<a href="#pub-attribs">Public Attributes</a> | 66<a href="struct__-members.html">List of all members</a> </div> 67 <div class="headertitle"> 68<div class="title">_ Struct Reference</div> </div> 69</div><!--header--> 70<div class="contents"> 71 72<p><code>#include <<a class="el" href="vk__mem__alloc_8h_source.html">vk_mem_alloc.h</a>></code></p> 73<table class="memberdecls"> 74<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> 75Public Attributes</h2></td></tr> 76<tr class="memitem:af6d5d67c61d2394656ca210d0d2b9b40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vk__mem__alloc_8h.html#a5225e5e11f8376f6a31a1791f3d6e817">VmaAllocationCreateFlags</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__.html#af6d5d67c61d2394656ca210d0d2b9b40">flags</a></td></tr> 77<tr class="memdesc:af6d5d67c61d2394656ca210d0d2b9b40"><td class="mdescLeft"> </td><td class="mdescRight">Use <a class="el" href="vk__mem__alloc_8h.html#abf6bf6748c7a9fe7ce5b7835c0f56af4" title="Flags to be passed as VmaAllocationCreateInfo::flags.">VmaAllocationCreateFlagBits</a> enum. <a href="struct__.html#af6d5d67c61d2394656ca210d0d2b9b40">More...</a><br /></td></tr> 78<tr class="separator:af6d5d67c61d2394656ca210d0d2b9b40"><td class="memSeparator" colspan="2"> </td></tr> 79<tr class="memitem:a11b2bf964ead1c04f043b9eca68d8807"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__.html#a11b2bf964ead1c04f043b9eca68d8807">usage</a></td></tr> 80<tr class="memdesc:a11b2bf964ead1c04f043b9eca68d8807"><td class="mdescLeft"> </td><td class="mdescRight">Intended usage of memory. <a href="struct__.html#a11b2bf964ead1c04f043b9eca68d8807">More...</a><br /></td></tr> 81<tr class="separator:a11b2bf964ead1c04f043b9eca68d8807"><td class="memSeparator" colspan="2"> </td></tr> 82<tr class="memitem:a9985e0a1c36944cd1eeb38c9acccdd68"><td class="memItemLeft" align="right" valign="top">VkMemoryPropertyFlags </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__.html#a9985e0a1c36944cd1eeb38c9acccdd68">requiredFlags</a></td></tr> 83<tr class="memdesc:a9985e0a1c36944cd1eeb38c9acccdd68"><td class="mdescLeft"> </td><td class="mdescRight">Flags that must be set in a Memory Type chosen for an allocation. <a href="struct__.html#a9985e0a1c36944cd1eeb38c9acccdd68">More...</a><br /></td></tr> 84<tr class="separator:a9985e0a1c36944cd1eeb38c9acccdd68"><td class="memSeparator" colspan="2"> </td></tr> 85<tr class="memitem:aeda060f3275a7d0308c4c688a37883cd"><td class="memItemLeft" align="right" valign="top">VkMemoryPropertyFlags </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__.html#aeda060f3275a7d0308c4c688a37883cd">preferredFlags</a></td></tr> 86<tr class="memdesc:aeda060f3275a7d0308c4c688a37883cd"><td class="mdescLeft"> </td><td class="mdescRight">Flags that preferably should be set in a memory type chosen for an allocation. <a href="struct__.html#aeda060f3275a7d0308c4c688a37883cd">More...</a><br /></td></tr> 87<tr class="separator:aeda060f3275a7d0308c4c688a37883cd"><td class="memSeparator" colspan="2"> </td></tr> 88<tr class="memitem:a531171590e30aa2ba2b8a50ee976b9d2"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__.html#a531171590e30aa2ba2b8a50ee976b9d2">memoryTypeBits</a></td></tr> 89<tr class="memdesc:a531171590e30aa2ba2b8a50ee976b9d2"><td class="mdescLeft"> </td><td class="mdescRight">Bitmask containing one bit set for every memory type acceptable for this allocation. <a href="struct__.html#a531171590e30aa2ba2b8a50ee976b9d2">More...</a><br /></td></tr> 90<tr class="separator:a531171590e30aa2ba2b8a50ee976b9d2"><td class="memSeparator" colspan="2"> </td></tr> 91<tr class="memitem:ac913e1c322e4782ac6114632a2dfb1e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_pool.html">VmaPool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__.html#ac913e1c322e4782ac6114632a2dfb1e3">pool</a></td></tr> 92<tr class="memdesc:ac913e1c322e4782ac6114632a2dfb1e3"><td class="mdescLeft"> </td><td class="mdescRight">Pool that this allocation should be created in. <a href="struct__.html#ac913e1c322e4782ac6114632a2dfb1e3">More...</a><br /></td></tr> 93<tr class="separator:ac913e1c322e4782ac6114632a2dfb1e3"><td class="memSeparator" colspan="2"> </td></tr> 94<tr class="memitem:a146a1894242756b1be7ac16901ba2bc0"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__.html#a146a1894242756b1be7ac16901ba2bc0">pUserData</a></td></tr> 95<tr class="memdesc:a146a1894242756b1be7ac16901ba2bc0"><td class="mdescLeft"> </td><td class="mdescRight">Custom general-purpose pointer that will be stored in <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>, can be read as <a class="el" href="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13" title="Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...">VmaAllocationInfo::pUserData</a> and changed using <a class="el" href="vk__mem__alloc_8h.html#af9147d31ffc11d62fc187bde283ed14f" title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a>. <a href="struct__.html#a146a1894242756b1be7ac16901ba2bc0">More...</a><br /></td></tr> 96<tr class="separator:a146a1894242756b1be7ac16901ba2bc0"><td class="memSeparator" colspan="2"> </td></tr> 97</table> 98<h2 class="groupheader">Member Data Documentation</h2> 99<a id="af6d5d67c61d2394656ca210d0d2b9b40"></a> 100<h2 class="memtitle"><span class="permalink"><a href="#af6d5d67c61d2394656ca210d0d2b9b40">◆ </a></span>flags</h2> 101 102<div class="memitem"> 103<div class="memproto"> 104 <table class="memname"> 105 <tr> 106 <td class="memname"><a class="el" href="vk__mem__alloc_8h.html#a5225e5e11f8376f6a31a1791f3d6e817">VmaAllocationCreateFlags</a> _::flags</td> 107 </tr> 108 </table> 109</div><div class="memdoc"> 110 111<p>Use <a class="el" href="vk__mem__alloc_8h.html#abf6bf6748c7a9fe7ce5b7835c0f56af4" title="Flags to be passed as VmaAllocationCreateInfo::flags.">VmaAllocationCreateFlagBits</a> enum. </p> 112 113</div> 114</div> 115<a id="a531171590e30aa2ba2b8a50ee976b9d2"></a> 116<h2 class="memtitle"><span class="permalink"><a href="#a531171590e30aa2ba2b8a50ee976b9d2">◆ </a></span>memoryTypeBits</h2> 117 118<div class="memitem"> 119<div class="memproto"> 120 <table class="memname"> 121 <tr> 122 <td class="memname">uint32_t _::memoryTypeBits</td> 123 </tr> 124 </table> 125</div><div class="memdoc"> 126 127<p>Bitmask containing one bit set for every memory type acceptable for this allocation. </p> 128<p>Value 0 is equivalent to <code>UINT32_MAX</code> - it means any memory type is accepted if it meets other requirements specified by this structure, with no further restrictions on memory type index. <br /> 129If <code>pool</code> is not null, this member is ignored. </p> 130 131</div> 132</div> 133<a id="ac913e1c322e4782ac6114632a2dfb1e3"></a> 134<h2 class="memtitle"><span class="permalink"><a href="#ac913e1c322e4782ac6114632a2dfb1e3">◆ </a></span>pool</h2> 135 136<div class="memitem"> 137<div class="memproto"> 138 <table class="memname"> 139 <tr> 140 <td class="memname"><a class="el" href="struct_vma_pool.html">VmaPool</a> _::pool</td> 141 </tr> 142 </table> 143</div><div class="memdoc"> 144 145<p>Pool that this allocation should be created in. </p> 146<p>Leave <code>VK_NULL_HANDLE</code> to allocate from default pool. If not null, members: <code>usage</code>, <code>requiredFlags</code>, <code>preferredFlags</code>, <code>memoryTypeBits</code> are ignored. </p> 147 148</div> 149</div> 150<a id="aeda060f3275a7d0308c4c688a37883cd"></a> 151<h2 class="memtitle"><span class="permalink"><a href="#aeda060f3275a7d0308c4c688a37883cd">◆ </a></span>preferredFlags</h2> 152 153<div class="memitem"> 154<div class="memproto"> 155 <table class="memname"> 156 <tr> 157 <td class="memname">VkMemoryPropertyFlags _::preferredFlags</td> 158 </tr> 159 </table> 160</div><div class="memdoc"> 161 162<p>Flags that preferably should be set in a memory type chosen for an allocation. </p> 163<p>Set to 0 if no additional flags are prefered. <br /> 164If <code>pool</code> is not null, this member is ignored. </p> 165 166</div> 167</div> 168<a id="a146a1894242756b1be7ac16901ba2bc0"></a> 169<h2 class="memtitle"><span class="permalink"><a href="#a146a1894242756b1be7ac16901ba2bc0">◆ </a></span>pUserData</h2> 170 171<div class="memitem"> 172<div class="memproto"> 173 <table class="memname"> 174 <tr> 175 <td class="memname">void* _::pUserData</td> 176 </tr> 177 </table> 178</div><div class="memdoc"> 179 180<p>Custom general-purpose pointer that will be stored in <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>, can be read as <a class="el" href="struct_vma_allocation_info.html#adc507656149c04de7ed95d0042ba2a13" title="Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vma...">VmaAllocationInfo::pUserData</a> and changed using <a class="el" href="vk__mem__alloc_8h.html#af9147d31ffc11d62fc187bde283ed14f" title="Sets pUserData in given allocation to new value.">vmaSetAllocationUserData()</a>. </p> 181<p>If <a class="el" href="vk__mem__alloc_8h.html#ad9889c10c798b040d59c92f257cae597aa6f24f821cd6a7c5e4a443f7bf59c520">VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT</a> is used, it must be either null or pointer to a null-terminated string. The string will be then copied to internal buffer, so it doesn't need to be valid after allocation call. </p> 182 183</div> 184</div> 185<a id="a9985e0a1c36944cd1eeb38c9acccdd68"></a> 186<h2 class="memtitle"><span class="permalink"><a href="#a9985e0a1c36944cd1eeb38c9acccdd68">◆ </a></span>requiredFlags</h2> 187 188<div class="memitem"> 189<div class="memproto"> 190 <table class="memname"> 191 <tr> 192 <td class="memname">VkMemoryPropertyFlags _::requiredFlags</td> 193 </tr> 194 </table> 195</div><div class="memdoc"> 196 197<p>Flags that must be set in a Memory Type chosen for an allocation. </p> 198<p>Leave 0 if you specify memory requirements in other way. <br /> 199If <code>pool</code> is not null, this member is ignored. </p> 200 201</div> 202</div> 203<a id="a11b2bf964ead1c04f043b9eca68d8807"></a> 204<h2 class="memtitle"><span class="permalink"><a href="#a11b2bf964ead1c04f043b9eca68d8807">◆ </a></span>usage</h2> 205 206<div class="memitem"> 207<div class="memproto"> 208 <table class="memname"> 209 <tr> 210 <td class="memname"><a class="el" href="vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305cc">VmaMemoryUsage</a> _::usage</td> 211 </tr> 212 </table> 213</div><div class="memdoc"> 214 215<p>Intended usage of memory. </p> 216<p>You can leave <a class="el" href="vk__mem__alloc_8h.html#aa5846affa1e9da3800e3e78fae2305ccaf50d27e34e0925cf3a63db8c839121dd">VMA_MEMORY_USAGE_UNKNOWN</a> if you specify memory requirements in other way. <br /> 217If <code>pool</code> is not null, this member is ignored. </p> 218 219</div> 220</div> 221<hr/>The documentation for this struct was generated from the following file:<ul> 222<li><a class="el" href="vk__mem__alloc_8h_source.html">vk_mem_alloc.h</a></li> 223</ul> 224</div><!-- contents --> 225<!-- start footer part --> 226<hr class="footer"/><address class="footer"><small> 227Generated by  <a href="http://www.doxygen.org/index.html"> 228<img class="footer" src="doxygen.png" alt="doxygen"/> 229</a> 1.8.16 230</small></address> 231</body> 232</html> 233