<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=11"/> <meta name="generator" content="Doxygen 1.9.2"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>Vulkan Memory Allocator: VmaPoolCreateInfo Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">Vulkan Memory Allocator </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.9.2 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ var searchBox = new SearchBox("searchBox", "search",'Search','.html'); /* @license-end */ </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */ </script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-attribs">Public Attributes</a> | <a href="struct_vma_pool_create_info-members.html">List of all members</a> </div> <div class="headertitle"><div class="title">VmaPoolCreateInfo Struct Reference<div class="ingroups"><a class="el" href="group__group__alloc.html">Memory allocation</a></div></div></div> </div><!--header--> <div class="contents"> <p>Describes parameter of created <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a>. <a href="struct_vma_pool_create_info.html#details">More...</a></p> <p><code>#include <vk_mem_alloc.h></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr class="memitem:a596fa76b685d3f1f688f84a709a5b319"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_create_info.html#a596fa76b685d3f1f688f84a709a5b319">memoryTypeIndex</a></td></tr> <tr class="memdesc:a596fa76b685d3f1f688f84a709a5b319"><td class="mdescLeft"> </td><td class="mdescRight">Vulkan memory type index to allocate this pool from. <a href="struct_vma_pool_create_info.html#a596fa76b685d3f1f688f84a709a5b319">More...</a><br /></td></tr> <tr class="separator:a596fa76b685d3f1f688f84a709a5b319"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8405139f63d078340ae74513a59f5446"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__alloc.html#ga2770e325ea42e087c1b91fdf46d0292a">VmaPoolCreateFlags</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_create_info.html#a8405139f63d078340ae74513a59f5446">flags</a></td></tr> <tr class="memdesc:a8405139f63d078340ae74513a59f5446"><td class="mdescLeft"> </td><td class="mdescRight">Use combination of <a class="el" href="group__group__alloc.html#ga4d4f2efc2509157a9e4ecd4fd7942303" title="Flags to be passed as VmaPoolCreateInfo::flags.">VmaPoolCreateFlagBits</a>. <a href="struct_vma_pool_create_info.html#a8405139f63d078340ae74513a59f5446">More...</a><br /></td></tr> <tr class="separator:a8405139f63d078340ae74513a59f5446"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa4265160536cdb9be821b7686c16c676"><td class="memItemLeft" align="right" valign="top">VkDeviceSize </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_create_info.html#aa4265160536cdb9be821b7686c16c676">blockSize</a></td></tr> <tr class="memdesc:aa4265160536cdb9be821b7686c16c676"><td class="mdescLeft"> </td><td class="mdescRight">Size of a single <code>VkDeviceMemory</code> block to be allocated as part of this pool, in bytes. Optional. <a href="struct_vma_pool_create_info.html#aa4265160536cdb9be821b7686c16c676">More...</a><br /></td></tr> <tr class="separator:aa4265160536cdb9be821b7686c16c676"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad8006fb803185c0a699d30f3e9a865ae"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae">minBlockCount</a></td></tr> <tr class="memdesc:ad8006fb803185c0a699d30f3e9a865ae"><td class="mdescLeft"> </td><td class="mdescRight">Minimum number of blocks to be always allocated in this pool, even if they stay empty. <a href="struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae">More...</a><br /></td></tr> <tr class="separator:ad8006fb803185c0a699d30f3e9a865ae"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae41142f2834fcdc82baa4883c187b75c"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_create_info.html#ae41142f2834fcdc82baa4883c187b75c">maxBlockCount</a></td></tr> <tr class="memdesc:ae41142f2834fcdc82baa4883c187b75c"><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of blocks that can be allocated in this pool. Optional. <a href="struct_vma_pool_create_info.html#ae41142f2834fcdc82baa4883c187b75c">More...</a><br /></td></tr> <tr class="separator:ae41142f2834fcdc82baa4883c187b75c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a16e686c688f6725f119ebf6e24ab5274"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_create_info.html#a16e686c688f6725f119ebf6e24ab5274">priority</a></td></tr> <tr class="memdesc:a16e686c688f6725f119ebf6e24ab5274"><td class="mdescLeft"> </td><td class="mdescRight">A floating-point value between 0 and 1, indicating the priority of the allocations in this pool relative to other memory allocations. <a href="struct_vma_pool_create_info.html#a16e686c688f6725f119ebf6e24ab5274">More...</a><br /></td></tr> <tr class="separator:a16e686c688f6725f119ebf6e24ab5274"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ade3eca546f0c6ab4e8fbf20eb6d854cb"><td class="memItemLeft" align="right" valign="top">VkDeviceSize </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_create_info.html#ade3eca546f0c6ab4e8fbf20eb6d854cb">minAllocationAlignment</a></td></tr> <tr class="memdesc:ade3eca546f0c6ab4e8fbf20eb6d854cb"><td class="mdescLeft"> </td><td class="mdescRight">Additional minimum alignment to be used for all allocations created from this pool. Can be 0. <a href="struct_vma_pool_create_info.html#ade3eca546f0c6ab4e8fbf20eb6d854cb">More...</a><br /></td></tr> <tr class="separator:ade3eca546f0c6ab4e8fbf20eb6d854cb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af0f8c58f51a2a7a0a389dc79565044d7"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_create_info.html#af0f8c58f51a2a7a0a389dc79565044d7">pMemoryAllocateNext</a></td></tr> <tr class="memdesc:af0f8c58f51a2a7a0a389dc79565044d7"><td class="mdescLeft"> </td><td class="mdescRight">Additional <code>pNext</code> chain to be attached to <code>VkMemoryAllocateInfo</code> used for every allocation made by this pool. Optional. <a href="struct_vma_pool_create_info.html#af0f8c58f51a2a7a0a389dc79565044d7">More...</a><br /></td></tr> <tr class="separator:af0f8c58f51a2a7a0a389dc79565044d7"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p >Describes parameter of created <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a>. </p> </div><h2 class="groupheader">Member Data Documentation</h2> <a id="aa4265160536cdb9be821b7686c16c676" name="aa4265160536cdb9be821b7686c16c676"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa4265160536cdb9be821b7686c16c676">◆ </a></span>blockSize</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">VkDeviceSize VmaPoolCreateInfo::blockSize</td> </tr> </table> </div><div class="memdoc"> <p>Size of a single <code>VkDeviceMemory</code> block to be allocated as part of this pool, in bytes. Optional. </p> <p >Specify nonzero to set explicit, constant size of memory blocks used by this pool.</p> <p >Leave 0 to use default and let the library manage block sizes automatically. Sizes of particular blocks may vary. In this case, the pool will also support dedicated allocations. </p> </div> </div> <a id="a8405139f63d078340ae74513a59f5446" name="a8405139f63d078340ae74513a59f5446"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8405139f63d078340ae74513a59f5446">◆ </a></span>flags</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__group__alloc.html#ga2770e325ea42e087c1b91fdf46d0292a">VmaPoolCreateFlags</a> VmaPoolCreateInfo::flags</td> </tr> </table> </div><div class="memdoc"> <p>Use combination of <a class="el" href="group__group__alloc.html#ga4d4f2efc2509157a9e4ecd4fd7942303" title="Flags to be passed as VmaPoolCreateInfo::flags.">VmaPoolCreateFlagBits</a>. </p> </div> </div> <a id="ae41142f2834fcdc82baa4883c187b75c" name="ae41142f2834fcdc82baa4883c187b75c"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae41142f2834fcdc82baa4883c187b75c">◆ </a></span>maxBlockCount</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t VmaPoolCreateInfo::maxBlockCount</td> </tr> </table> </div><div class="memdoc"> <p>Maximum number of blocks that can be allocated in this pool. Optional. </p> <p >Set to 0 to use default, which is <code>SIZE_MAX</code>, which means no limit.</p> <p >Set to same value as <a class="el" href="struct_vma_pool_create_info.html#ad8006fb803185c0a699d30f3e9a865ae" title="Minimum number of blocks to be always allocated in this pool, even if they stay empty.">VmaPoolCreateInfo::minBlockCount</a> to have fixed amount of memory allocated throughout whole lifetime of this pool. </p> </div> </div> <a id="a596fa76b685d3f1f688f84a709a5b319" name="a596fa76b685d3f1f688f84a709a5b319"></a> <h2 class="memtitle"><span class="permalink"><a href="#a596fa76b685d3f1f688f84a709a5b319">◆ </a></span>memoryTypeIndex</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint32_t VmaPoolCreateInfo::memoryTypeIndex</td> </tr> </table> </div><div class="memdoc"> <p>Vulkan memory type index to allocate this pool from. </p> </div> </div> <a id="ade3eca546f0c6ab4e8fbf20eb6d854cb" name="ade3eca546f0c6ab4e8fbf20eb6d854cb"></a> <h2 class="memtitle"><span class="permalink"><a href="#ade3eca546f0c6ab4e8fbf20eb6d854cb">◆ </a></span>minAllocationAlignment</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">VkDeviceSize VmaPoolCreateInfo::minAllocationAlignment</td> </tr> </table> </div><div class="memdoc"> <p>Additional minimum alignment to be used for all allocations created from this pool. Can be 0. </p> <p >Leave 0 (default) not to impose any additional alignment. If not 0, it must be a power of two. It can be useful in cases where alignment returned by Vulkan by functions like <code>vkGetBufferMemoryRequirements</code> is not enough, e.g. when doing interop with OpenGL. </p> </div> </div> <a id="ad8006fb803185c0a699d30f3e9a865ae" name="ad8006fb803185c0a699d30f3e9a865ae"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad8006fb803185c0a699d30f3e9a865ae">◆ </a></span>minBlockCount</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t VmaPoolCreateInfo::minBlockCount</td> </tr> </table> </div><div class="memdoc"> <p>Minimum number of blocks to be always allocated in this pool, even if they stay empty. </p> <p >Set to 0 to have no preallocated blocks and allow the pool be completely empty. </p> </div> </div> <a id="af0f8c58f51a2a7a0a389dc79565044d7" name="af0f8c58f51a2a7a0a389dc79565044d7"></a> <h2 class="memtitle"><span class="permalink"><a href="#af0f8c58f51a2a7a0a389dc79565044d7">◆ </a></span>pMemoryAllocateNext</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* VmaPoolCreateInfo::pMemoryAllocateNext</td> </tr> </table> </div><div class="memdoc"> <p>Additional <code>pNext</code> chain to be attached to <code>VkMemoryAllocateInfo</code> used for every allocation made by this pool. Optional. </p> <p >Optional, can be null. If not null, it must point to a <code>pNext</code> chain of structures that can be attached to <code>VkMemoryAllocateInfo</code>. It can be useful for special needs such as adding <code>VkExportMemoryAllocateInfoKHR</code>. Structures pointed by this member must remain alive and unchanged for the whole lifetime of the custom pool.</p> <p >Please note that some structures, e.g. <code>VkMemoryPriorityAllocateInfoEXT</code>, <code>VkMemoryDedicatedAllocateInfoKHR</code>, can be attached automatically by this library when using other, more convenient of its features. </p> </div> </div> <a id="a16e686c688f6725f119ebf6e24ab5274" name="a16e686c688f6725f119ebf6e24ab5274"></a> <h2 class="memtitle"><span class="permalink"><a href="#a16e686c688f6725f119ebf6e24ab5274">◆ </a></span>priority</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float VmaPoolCreateInfo::priority</td> </tr> </table> </div><div class="memdoc"> <p>A floating-point value between 0 and 1, indicating the priority of the allocations in this pool relative to other memory allocations. </p> <p >It is used only when <a class="el" href="group__group__init.html#gga4f87c9100d154a65a4ad495f7763cf7caffdd7a5169be3dbd7cbf6b3619e4f78a">VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT</a> flag was used during creation of the <a class="el" href="struct_vma_allocator.html" title="Represents main object of this library initialized.">VmaAllocator</a> object. Otherwise, this variable is ignored. </p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li>D:/PROJECTS/Vulkan Memory Allocator/REPO/include/<a class="el" href="vk__mem__alloc_8h.html">vk_mem_alloc.h</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </small></address> </body> </html>