blob: 8dc19a13353a3eaa2b82cc02548708caf5b816cd [file] [log] [blame]
<!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" lang="en-US">
<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.6"/>
<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 id="projectrow">
<td id="projectalign">
<div id="projectname">Vulkan Memory Allocator
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.6 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "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&amp;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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<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>
<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&#160;</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">&#160;</td><td class="mdescRight">Vulkan memory type index to allocate this pool from. <br /></td></tr>
<tr class="separator:a596fa76b685d3f1f688f84a709a5b319"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8405139f63d078340ae74513a59f5446"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__alloc.html#ga2770e325ea42e087c1b91fdf46d0292a">VmaPoolCreateFlags</a>&#160;</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">&#160;</td><td class="mdescRight">Use combination of <a class="el" href="group__group__alloc.html#ga9a7c45f9c863695d98c83fa5ac940fe7" title="Flags to be passed as VmaPoolCreateInfo::flags.">VmaPoolCreateFlagBits</a>. <br /></td></tr>
<tr class="separator:a8405139f63d078340ae74513a59f5446"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4265160536cdb9be821b7686c16c676"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</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">&#160;</td><td class="mdescRight">Size of a single <code>VkDeviceMemory</code> block to be allocated as part of this pool, in bytes. Optional. <br /></td></tr>
<tr class="separator:aa4265160536cdb9be821b7686c16c676"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8006fb803185c0a699d30f3e9a865ae"><td class="memItemLeft" align="right" valign="top">size_t&#160;</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">&#160;</td><td class="mdescRight">Minimum number of blocks to be always allocated in this pool, even if they stay empty. <br /></td></tr>
<tr class="separator:ad8006fb803185c0a699d30f3e9a865ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae41142f2834fcdc82baa4883c187b75c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</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">&#160;</td><td class="mdescRight">Maximum number of blocks that can be allocated in this pool. Optional. <br /></td></tr>
<tr class="separator:ae41142f2834fcdc82baa4883c187b75c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16e686c688f6725f119ebf6e24ab5274"><td class="memItemLeft" align="right" valign="top">float&#160;</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">&#160;</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. <br /></td></tr>
<tr class="separator:a16e686c688f6725f119ebf6e24ab5274"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade3eca546f0c6ab4e8fbf20eb6d854cb"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</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">&#160;</td><td class="mdescRight">Additional minimum alignment to be used for all allocations created from this pool. Can be 0. <br /></td></tr>
<tr class="separator:ade3eca546f0c6ab4e8fbf20eb6d854cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0f8c58f51a2a7a0a389dc79565044d7"><td class="memItemLeft" align="right" valign="top">void *&#160;</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">&#160;</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. <br /></td></tr>
<tr class="separator:af0f8c58f51a2a7a0a389dc79565044d7"><td class="memSeparator" colspan="2">&#160;</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">&#9670;&#160;</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">&#9670;&#160;</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#ga9a7c45f9c863695d98c83fa5ac940fe7" 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">&#9670;&#160;</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">&#9670;&#160;</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">&#9670;&#160;</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">&#9670;&#160;</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">&#9670;&#160;</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">&#9670;&#160;</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&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
</small></address>
</body>
</html>