mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator.git
synced 2024-11-21 11:50:03 +00:00
parent
7642634a62
commit
c1001f79ea
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -87,9 +87,8 @@ $(function() {
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a6f31560bc71451410a2a907b6d81b48f">next</a></td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a73c55decc2485b907f678d95aac24b6b">offset</a></td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html#adc3ac89758a915a409e047f9b89aa160">prev</a></td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc">Release</a>()</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac">SetName</a>(LPCWSTR Name)</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a1b1ef2717beed503fcb3cb7e6a171762">WasZeroInitialized</a>() const</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac">SetName</a>(LPCWSTR Name)</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a1b1ef2717beed503fcb3cb7e6a171762">WasZeroInitialized</a>() const</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
@ -78,12 +78,15 @@ $(function() {
|
||||
<a href="class_d3_d12_m_a_1_1_allocation.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="_d3_d12_mem_alloc_8h_source.html">D3D12MemAlloc.h</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for D3D12MA::Allocation:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="class_d3_d12_m_a_1_1_allocation.png" alt=""/>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ad7e3a855b92e77be6c808eacdbb746dc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc">Release</a> ()</td></tr>
|
||||
<tr class="memdesc:ad7e3a855b92e77be6c808eacdbb746dc"><td class="mdescLeft"> </td><td class="mdescRight">Deletes this object. <a href="class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc">More...</a><br /></td></tr>
|
||||
<tr class="separator:ad7e3a855b92e77be6c808eacdbb746dc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a47be9557d441797b65de177a3d5cdf60"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a47be9557d441797b65de177a3d5cdf60">GetOffset</a> () const</td></tr>
|
||||
<tr class="memdesc:a47be9557d441797b65de177a3d5cdf60"><td class="mdescLeft"> </td><td class="mdescRight">Returns offset in bytes from the start of memory heap. <a href="class_d3_d12_m_a_1_1_allocation.html#a47be9557d441797b65de177a3d5cdf60">More...</a><br /></td></tr>
|
||||
<tr class="separator:a47be9557d441797b65de177a3d5cdf60"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@ -241,26 +244,6 @@ Public Member Functions</h2></td></tr>
|
||||
<li>For resources created as committed, this value may not be accurate. DirectX implementation may optimize memory usage internally so that you may even observe regions of <code>ID3D12Resource::GetGPUVirtualAddress()</code> + <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a92c2fb6f22b28817eb83a59407d7dd30" title="Returns size in bytes of the allocation.">Allocation::GetSize()</a> to overlap in memory and still work correctly. </li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ad7e3a855b92e77be6c808eacdbb746dc"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad7e3a855b92e77be6c808eacdbb746dc">◆ </a></span>Release()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void D3D12MA::Allocation::Release </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Deletes this object. </p>
|
||||
<p>This function must be used instead of destructor, which is private. There is no reference counting involved. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af9e643276b577aa7f21937f75d4b82ac"></a>
|
||||
|
BIN
docs/html/class_d3_d12_m_a_1_1_allocation.png
Normal file
BIN
docs/html/class_d3_d12_m_a_1_1_allocation.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 526 B |
@ -88,8 +88,7 @@ $(function() {
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a8ce95f85e5f2a1d41b81d676b21c04ae">GetD3D12Options</a>() const</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a08210561b92c4bd7ede9dd7beba4bb80">IsCacheCoherentUMA</a>() const</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a9e742884bd45dd7f01193d13fcd05af0">IsUMA</a>() const</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html#aefff328977ae1030a2ac6db5a148294b">Release</a>()</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11">SetCurrentFrameIndex</a>(UINT frameIndex)</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11">SetCurrentFrameIndex</a>(UINT frameIndex)</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
@ -77,12 +77,15 @@ $(function() {
|
||||
<a href="class_d3_d12_m_a_1_1_allocator.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="_d3_d12_mem_alloc_8h_source.html">D3D12MemAlloc.h</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for D3D12MA::Allocator:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="class_d3_d12_m_a_1_1_allocator.png" alt=""/>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:aefff328977ae1030a2ac6db5a148294b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html#aefff328977ae1030a2ac6db5a148294b">Release</a> ()</td></tr>
|
||||
<tr class="memdesc:aefff328977ae1030a2ac6db5a148294b"><td class="mdescLeft"> </td><td class="mdescRight">Deletes this object. <a href="class_d3_d12_m_a_1_1_allocator.html#aefff328977ae1030a2ac6db5a148294b">More...</a><br /></td></tr>
|
||||
<tr class="separator:aefff328977ae1030a2ac6db5a148294b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8ce95f85e5f2a1d41b81d676b21c04ae"><td class="memItemLeft" align="right" valign="top">const D3D12_FEATURE_DATA_D3D12_OPTIONS & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a8ce95f85e5f2a1d41b81d676b21c04ae">GetD3D12Options</a> () const</td></tr>
|
||||
<tr class="memdesc:a8ce95f85e5f2a1d41b81d676b21c04ae"><td class="mdescLeft"> </td><td class="mdescRight">Returns cached options retrieved from D3D12 device. <a href="class_d3_d12_m_a_1_1_allocator.html#a8ce95f85e5f2a1d41b81d676b21c04ae">More...</a><br /></td></tr>
|
||||
<tr class="separator:a8ce95f85e5f2a1d41b81d676b21c04ae"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@ -131,7 +134,7 @@ Public Member Functions</h2></td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Represents main object of this library initialized for particular <code>ID3D12Device</code>. </p>
|
||||
<p>Fill structure <a class="el" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html" title="Parameters of created Allocator object. To be used with CreateAllocator().">D3D12MA::ALLOCATOR_DESC</a> and call function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a7cc10fd0b328a512165cf636cb795090" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">CreateAllocator()</a> to create it. Call method <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#aefff328977ae1030a2ac6db5a148294b" title="Deletes this object.">Allocator::Release</a> to destroy it.</p>
|
||||
<p>Fill structure <a class="el" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html" title="Parameters of created Allocator object. To be used with CreateAllocator().">D3D12MA::ALLOCATOR_DESC</a> and call function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a7cc10fd0b328a512165cf636cb795090" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">CreateAllocator()</a> to create it. Call method <code>Release()</code> to destroy it.</p>
|
||||
<p>It is recommended to create just one object of this type per <code>ID3D12Device</code> object, right after Direct3D 12 is initialized and keep it alive until before Direct3D device is destroyed. </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="acb8a10a5ea30171ce60128286aec5ee2"></a>
|
||||
@ -714,26 +717,6 @@ Public Member Functions</h2></td></tr>
|
||||
<li><a href="https://docs.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12device-getcustomheapproperties">https://docs.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12device-getcustomheapproperties</a> </li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="aefff328977ae1030a2ac6db5a148294b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aefff328977ae1030a2ac6db5a148294b">◆ </a></span>Release()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void D3D12MA::Allocator::Release </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Deletes this object. </p>
|
||||
<p>This function must be used instead of destructor, which is private. There is no reference counting involved. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a468ba0c93121eaaee402b08775f1dd11"></a>
|
||||
|
BIN
docs/html/class_d3_d12_m_a_1_1_allocator.png
Normal file
BIN
docs/html/class_d3_d12_m_a_1_1_allocator.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 480 B |
@ -76,8 +76,7 @@ $(function() {
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA_DELETE</a>(const ALLOCATION_CALLBACKS &, T *)</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">D3D12MA::Pool</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html#aaab59af46d922d6b81fce8d8be987028">GetDesc</a>() const</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">D3D12MA::Pool</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html#a63c91d92a9ca48b98866a5cc1aea333b">GetName</a>() const</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">D3D12MA::Pool</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html#a5e6fe1e7fbe0ebe394d63d22715535c6">Release</a>()</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">D3D12MA::Pool</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b">SetName</a>(LPCWSTR Name)</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">D3D12MA::Pool</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b">SetName</a>(LPCWSTR Name)</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">D3D12MA::Pool</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
@ -77,12 +77,15 @@ $(function() {
|
||||
<a href="class_d3_d12_m_a_1_1_pool.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="_d3_d12_mem_alloc_8h_source.html">D3D12MemAlloc.h</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for D3D12MA::Pool:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="class_d3_d12_m_a_1_1_pool.png" alt=""/>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a5e6fe1e7fbe0ebe394d63d22715535c6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_pool.html#a5e6fe1e7fbe0ebe394d63d22715535c6">Release</a> ()</td></tr>
|
||||
<tr class="memdesc:a5e6fe1e7fbe0ebe394d63d22715535c6"><td class="mdescLeft"> </td><td class="mdescRight">Deletes pool object, frees D3D12 heaps (memory blocks) managed by it. Allocations and resources must already be released! <a href="class_d3_d12_m_a_1_1_pool.html#a5e6fe1e7fbe0ebe394d63d22715535c6">More...</a><br /></td></tr>
|
||||
<tr class="separator:a5e6fe1e7fbe0ebe394d63d22715535c6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aaab59af46d922d6b81fce8d8be987028"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_pool.html#aaab59af46d922d6b81fce8d8be987028">GetDesc</a> () const</td></tr>
|
||||
<tr class="memdesc:aaab59af46d922d6b81fce8d8be987028"><td class="mdescLeft"> </td><td class="mdescRight">Returns copy of parameters of the pool. <a href="class_d3_d12_m_a_1_1_pool.html#aaab59af46d922d6b81fce8d8be987028">More...</a><br /></td></tr>
|
||||
<tr class="separator:aaab59af46d922d6b81fce8d8be987028"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@ -160,26 +163,6 @@ Public Member Functions</h2></td></tr>
|
||||
<p>Returned string points to an internal copy.</p>
|
||||
<p>If no name was associated with the allocation, returns NULL. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a5e6fe1e7fbe0ebe394d63d22715535c6"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a5e6fe1e7fbe0ebe394d63d22715535c6">◆ </a></span>Release()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void D3D12MA::Pool::Release </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Deletes pool object, frees D3D12 heaps (memory blocks) managed by it. Allocations and resources must already be released! </p>
|
||||
<p>It doesn't delete allocations and resources created in this pool. They must be all released before calling this function! </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a20617cfec0461cf8c2b92115b5140c5b"></a>
|
||||
|
BIN
docs/html/class_d3_d12_m_a_1_1_pool.png
Normal file
BIN
docs/html/class_d3_d12_m_a_1_1_pool.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 464 B |
@ -82,8 +82,7 @@ $(function() {
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a6f78ddaa7da194e239089e52093e68a9">FreeStatsString</a>(WCHAR *pStatsString) const</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a287b8f0e455ffc7f302094671f922afb">GetAllocationInfo</a>(UINT64 offset, VIRTUAL_ALLOCATION_INFO *pInfo) const</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a7b23fd2da6f0343095fb14b31395678b">IsEmpty</a>() const</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0">Release</a>()</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289">SetAllocationUserData</a>(UINT64 offset, void *pUserData)</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289">SetAllocationUserData</a>(UINT64 offset, void *pUserData)</td><td class="entry"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
@ -77,12 +77,15 @@ $(function() {
|
||||
<a href="class_d3_d12_m_a_1_1_virtual_block.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="_d3_d12_mem_alloc_8h_source.html">D3D12MemAlloc.h</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for D3D12MA::VirtualBlock:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="class_d3_d12_m_a_1_1_virtual_block.png" alt=""/>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a24111ca907ad9efae25cf4858ff6b0b0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0">Release</a> ()</td></tr>
|
||||
<tr class="memdesc:a24111ca907ad9efae25cf4858ff6b0b0"><td class="mdescLeft"> </td><td class="mdescRight">Destroys this object and frees it from memory. <a href="class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0">More...</a><br /></td></tr>
|
||||
<tr class="separator:a24111ca907ad9efae25cf4858ff6b0b0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7b23fd2da6f0343095fb14b31395678b"><td class="memItemLeft" align="right" valign="top">BOOL </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a7b23fd2da6f0343095fb14b31395678b">IsEmpty</a> () const</td></tr>
|
||||
<tr class="memdesc:a7b23fd2da6f0343095fb14b31395678b"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the block is empty - contains 0 allocations. <a href="class_d3_d12_m_a_1_1_virtual_block.html#a7b23fd2da6f0343095fb14b31395678b">More...</a><br /></td></tr>
|
||||
<tr class="separator:a7b23fd2da6f0343095fb14b31395678b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@ -114,7 +117,7 @@ Public Member Functions</h2></td></tr>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Represents pure allocation algorithm and a data structure with allocations in some memory block, without actually allocating any GPU memory. </p>
|
||||
<p>This class allows to use the core algorithm of the library custom allocations e.g. CPU memory or sub-allocation regions inside a single GPU buffer.</p>
|
||||
<p>To create this object, fill in <a class="el" href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html" title="Parameters of created D3D12MA::VirtualBlock object to be passed to CreateVirtualBlock().">D3D12MA::VIRTUAL_BLOCK_DESC</a> and call <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ab8bb16e20c691720aad26ecbf105aa6f" title="Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.">CreateVirtualBlock()</a>. To destroy it, call its method <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0" title="Destroys this object and frees it from memory.">VirtualBlock::Release()</a>. </p>
|
||||
<p>To create this object, fill in <a class="el" href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html" title="Parameters of created D3D12MA::VirtualBlock object to be passed to CreateVirtualBlock().">D3D12MA::VIRTUAL_BLOCK_DESC</a> and call <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ab8bb16e20c691720aad26ecbf105aa6f" title="Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.">CreateVirtualBlock()</a>. To destroy it, call its method <code>VirtualBlock::Release()</code>. You need to free all the allocations within this block or call <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189" title="Frees all the allocations.">Clear()</a> before destroying it. </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="aa57575f1af18461012bde8c4b6f3c56c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa57575f1af18461012bde8c4b6f3c56c">◆ </a></span>Allocate()</h2>
|
||||
@ -306,26 +309,6 @@ Public Member Functions</h2></td></tr>
|
||||
|
||||
<p>Returns true if the block is empty - contains 0 allocations. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a24111ca907ad9efae25cf4858ff6b0b0"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a24111ca907ad9efae25cf4858ff6b0b0">◆ </a></span>Release()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void D3D12MA::VirtualBlock::Release </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Destroys this object and frees it from memory. </p>
|
||||
<p>You need to free all the allocations within this block or call <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189" title="Frees all the allocations.">Clear()</a> before destroying it. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a0af4aec3d2efc913ee43b0725e8a0289"></a>
|
||||
|
BIN
docs/html/class_d3_d12_m_a_1_1_virtual_block.png
Normal file
BIN
docs/html/class_d3_d12_m_a_1_1_virtual_block.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 576 B |
@ -101,15 +101,15 @@ Custom CPU memory allocator</h1>
|
||||
<div class="line"> </div>
|
||||
<div class="line"><a class="code" href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a>* allocator;</div>
|
||||
<div class="line">HRESULT hr = <a class="code" href="namespace_d3_d12_m_a.html#aa341b796fdffb16c976e659ccce80332">D3D12MA::CreateAllocator</a>(&allocatorDesc, &allocator);</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></div><div class="ttdoc">Represents main object of this library initialized for particular ID3D12Device.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1264</div></div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></div><div class="ttdoc">Represents main object of this library initialized for particular ID3D12Device.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1288</div></div>
|
||||
<div class="ttc" id="anamespace_d3_d12_m_a_html_aa341b796fdffb16c976e659ccce80332"><div class="ttname"><a href="namespace_d3_d12_m_a.html#aa341b796fdffb16c976e659ccce80332">D3D12MA::CreateAllocator</a></div><div class="ttdeci">HRESULT CreateAllocator(const ALLOCATOR_DESC *pDesc, Allocator **ppAllocator)</div><div class="ttdoc">Creates new main D3D12MA::Allocator object and returns it through ppAllocator.</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html">D3D12MA::ALLOCATION_CALLBACKS</a></div><div class="ttdoc">Custom callbacks to CPU memory allocation functions.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:763</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s_html_a114e6c4d63d6b020e01f526a975d6849"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html#a114e6c4d63d6b020e01f526a975d6849">D3D12MA::ALLOCATION_CALLBACKS::pFree</a></div><div class="ttdeci">FREE_FUNC_PTR pFree</div><div class="ttdoc">Dellocation function.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:767</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s_html_af4d6436455728696fefd503869226436"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html#af4d6436455728696fefd503869226436">D3D12MA::ALLOCATION_CALLBACKS::pAllocate</a></div><div class="ttdeci">ALLOCATE_FUNC_PTR pAllocate</div><div class="ttdoc">Allocation function.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:765</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html">D3D12MA::ALLOCATOR_DESC</a></div><div class="ttdoc">Parameters of created Allocator object. To be used with CreateAllocator().</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1145</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html_a773ecc1945eb47c20e06455c3759e4ef"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#a773ecc1945eb47c20e06455c3759e4ef">D3D12MA::ALLOCATOR_DESC::pAllocationCallbacks</a></div><div class="ttdeci">const ALLOCATION_CALLBACKS * pAllocationCallbacks</div><div class="ttdoc">Custom CPU memory allocation callbacks. Optional.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1165</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html_abf9a9f87f0ffea52816efd363c5fcd7b"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#abf9a9f87f0ffea52816efd363c5fcd7b">D3D12MA::ALLOCATOR_DESC::pAdapter</a></div><div class="ttdeci">IDXGIAdapter * pAdapter</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1171</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html_ada1bf21205065b3aa0284b5a9ee1cb3c"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ada1bf21205065b3aa0284b5a9ee1cb3c">D3D12MA::ALLOCATOR_DESC::pDevice</a></div><div class="ttdeci">ID3D12Device * pDevice</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1153</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html">D3D12MA::ALLOCATION_CALLBACKS</a></div><div class="ttdoc">Custom callbacks to CPU memory allocation functions.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:795</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s_html_a114e6c4d63d6b020e01f526a975d6849"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html#a114e6c4d63d6b020e01f526a975d6849">D3D12MA::ALLOCATION_CALLBACKS::pFree</a></div><div class="ttdeci">FREE_FUNC_PTR pFree</div><div class="ttdoc">Dellocation function.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:799</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s_html_af4d6436455728696fefd503869226436"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html#af4d6436455728696fefd503869226436">D3D12MA::ALLOCATION_CALLBACKS::pAllocate</a></div><div class="ttdeci">ALLOCATE_FUNC_PTR pAllocate</div><div class="ttdoc">Allocation function.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:797</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html">D3D12MA::ALLOCATOR_DESC</a></div><div class="ttdoc">Parameters of created Allocator object. To be used with CreateAllocator().</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1169</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html_a773ecc1945eb47c20e06455c3759e4ef"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#a773ecc1945eb47c20e06455c3759e4ef">D3D12MA::ALLOCATOR_DESC::pAllocationCallbacks</a></div><div class="ttdeci">const ALLOCATION_CALLBACKS * pAllocationCallbacks</div><div class="ttdoc">Custom CPU memory allocation callbacks. Optional.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1189</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html_abf9a9f87f0ffea52816efd363c5fcd7b"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#abf9a9f87f0ffea52816efd363c5fcd7b">D3D12MA::ALLOCATOR_DESC::pAdapter</a></div><div class="ttdeci">IDXGIAdapter * pAdapter</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1195</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html_ada1bf21205065b3aa0284b5a9ee1cb3c"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ada1bf21205065b3aa0284b5a9ee1cb3c">D3D12MA::ALLOCATOR_DESC::pDevice</a></div><div class="ttdeci">ID3D12Device * pDevice</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1177</div></div>
|
||||
</div><!-- fragment --> </div></div><!-- contents -->
|
||||
</div><!-- PageDoc -->
|
||||
<!-- start footer part -->
|
||||
|
@ -110,7 +110,7 @@ Features and benefits</h1>
|
||||
<div class="line">ID3D12Resource* res;</div>
|
||||
<div class="line">hr = allocator->CreateResource(&allocDesc, &resDesc,</div>
|
||||
<div class="line"> D3D12_RESOURCE_STATE_GENERIC_READ, NULL, &alloc, IID_PPV_ARGS(&res));</div>
|
||||
<div class="ttc" id="anamespace_d3_d12_m_a_html_abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675"><div class="ttname"><a href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a></div><div class="ttdeci">@ ALLOCATION_FLAG_COMMITTED</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:783</div></div>
|
||||
<div class="ttc" id="anamespace_d3_d12_m_a_html_abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675"><div class="ttname"><a href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a></div><div class="ttdeci">@ ALLOCATION_FLAG_COMMITTED</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:815</div></div>
|
||||
</div><!-- fragment --><p>This feature may seem unnecessary, but creating committed allocations from custom pools may be useful in some cases, e.g. to have separate memory usage statistics for some group of resources or to use extended allocation parameters, like custom <code>D3D12_HEAP_PROPERTIES</code>, which are available only in custom pools. </p>
|
||||
</div></div><!-- contents -->
|
||||
</div><!-- PageDoc -->
|
||||
|
@ -321,16 +321,6 @@ $(function() {
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_r"></a>- r -</h3><ul>
|
||||
<li>Release()
|
||||
: <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc">D3D12MA::Allocation</a>
|
||||
, <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#aefff328977ae1030a2ac6db5a148294b">D3D12MA::Allocator</a>
|
||||
, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#a5e6fe1e7fbe0ebe394d63d22715535c6">D3D12MA::Pool</a>
|
||||
, <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0">D3D12MA::VirtualBlock</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_s"></a>- s -</h3><ul>
|
||||
<li>SetAllocationUserData()
|
||||
: <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289">D3D12MA::VirtualBlock</a>
|
||||
|
@ -167,16 +167,6 @@ $(function() {
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_r"></a>- r -</h3><ul>
|
||||
<li>Release()
|
||||
: <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc">D3D12MA::Allocation</a>
|
||||
, <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#aefff328977ae1030a2ac6db5a148294b">D3D12MA::Allocator</a>
|
||||
, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#a5e6fe1e7fbe0ebe394d63d22715535c6">D3D12MA::Pool</a>
|
||||
, <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0">D3D12MA::VirtualBlock</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_s"></a>- s -</h3><ul>
|
||||
<li>SetAllocationUserData()
|
||||
: <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289">D3D12MA::VirtualBlock</a>
|
||||
|
@ -94,7 +94,6 @@ Features not supported</h1>
|
||||
<p>Features deliberately excluded from the scope of this library:</p>
|
||||
<ul>
|
||||
<li>Descriptor allocation. Although also called "heaps", objects that represent descriptors are separate part of the D3D12 API from buffers and textures.</li>
|
||||
<li>Support for <code>D3D12_HEAP_TYPE_CUSTOM</code>. Only the default heap types are supported: <code>UPLOAD</code>, <code>DEFAULT</code>, <code>READBACK</code>.</li>
|
||||
<li>Support for reserved (tiled) resources. We don't recommend using them.</li>
|
||||
<li>Support for <code>ID3D12Device::Evict</code> and <code>MakeResident</code>. We don't recommend using them.</li>
|
||||
<li>Handling CPU memory allocation failures. When dynamically creating small C++ objects in CPU memory (not the GPU memory), allocation failures are not handled gracefully, because that would complicate code significantly and is usually not needed in desktop PC applications anyway. Success of an allocation is just checked with an assert.</li>
|
||||
|
93
docs/html/hierarchy.html
Normal file
93
docs/html/hierarchy.html
Normal file
@ -0,0 +1,93 @@
|
||||
<!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=9"/>
|
||||
<meta name="generator" content="Doxygen 1.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Direct3D 12 Memory Allocator: Class Hierarchy</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">Direct3D 12 Memory Allocator
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- 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 class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Class Hierarchy</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html" target="_self">D3D12MA::ALLOCATION_CALLBACKS</a></td><td class="desc">Custom callbacks to CPU memory allocation functions </td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html" target="_self">D3D12MA::ALLOCATION_DESC</a></td><td class="desc">Parameters of created <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> object. To be used with <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#aa37d6b9fe8ea0864f7a35b9d68e8345a" title="Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation functi...">Allocator::CreateResource</a> </td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html" target="_self">D3D12MA::ALLOCATOR_DESC</a></td><td class="desc">Parameters of created <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">Allocator</a> object. To be used with <a class="el" href="namespace_d3_d12_m_a.html#aa341b796fdffb16c976e659ccce80332" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">CreateAllocator()</a> </td></tr>
|
||||
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_budget.html" target="_self">D3D12MA::Budget</a></td><td class="desc">Statistics of current memory usage and available budget, in bytes, for GPU or CPU memory </td></tr>
|
||||
<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">▼</span><span class="icona"><span class="icon">C</span></span><b>IUnknownImpl</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_4_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d3_d12_m_a_1_1_allocation.html" target="_self">D3D12MA::Allocation</a></td><td class="desc">Represents single memory allocation </td></tr>
|
||||
<tr id="row_4_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d3_d12_m_a_1_1_allocator.html" target="_self">D3D12MA::Allocator</a></td><td class="desc">Represents main object of this library initialized for particular <code>ID3D12Device</code> </td></tr>
|
||||
<tr id="row_4_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d3_d12_m_a_1_1_pool.html" target="_self">D3D12MA::Pool</a></td><td class="desc">Custom memory pool </td></tr>
|
||||
<tr id="row_4_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html" target="_self">D3D12MA::VirtualBlock</a></td><td class="desc">Represents pure allocation algorithm and a data structure with allocations in some memory block, without actually allocating any GPU memory </td></tr>
|
||||
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html" target="_self">D3D12MA::POOL_DESC</a></td><td class="desc">Parameters of created <a class="el" href="class_d3_d12_m_a_1_1_pool.html" title="Custom memory pool.">D3D12MA::Pool</a> object. To be used with <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#aac7b1f6bf53cbf4c4ce2264cb72ca515" title="Creates custom pool.">D3D12MA::Allocator::CreatePool</a> </td></tr>
|
||||
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_stat_info.html" target="_self">D3D12MA::StatInfo</a></td><td class="desc">Calculated statistics of memory usage in entire allocator </td></tr>
|
||||
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_stats.html" target="_self">D3D12MA::Stats</a></td><td class="desc">General statistics from the current state of the allocator </td></tr>
|
||||
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html" target="_self">D3D12MA::VIRTUAL_ALLOCATION_DESC</a></td><td class="desc">Parameters of created virtual allocation to be passed to <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#aa57575f1af18461012bde8c4b6f3c56c" title="Creates new allocation.">VirtualBlock::Allocate()</a> </td></tr>
|
||||
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___i_n_f_o.html" target="_self">D3D12MA::VIRTUAL_ALLOCATION_INFO</a></td><td class="desc">Parameters of an existing virtual allocation, returned by <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a287b8f0e455ffc7f302094671f922afb" title="Returns information about an allocation at given offset - its size and custom pointer.">VirtualBlock::GetAllocationInfo()</a> </td></tr>
|
||||
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html" target="_self">D3D12MA::VIRTUAL_BLOCK_DESC</a></td><td class="desc">Parameters of created <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html" title="Represents pure allocation algorithm and a data structure with allocations in some memory block,...">D3D12MA::VirtualBlock</a> object to be passed to <a class="el" href="namespace_d3_d12_m_a.html#aefde6264e7a88bebe8e193df343af317" title="Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.">CreateVirtualBlock()</a> </td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
@ -65,7 +65,7 @@ $(function() {
|
||||
<div class="title">D3D12 Memory Allocator </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p><b>Version 2.0.0-development</b> (2021-06-18)</p>
|
||||
<div class="textblock"><p><b>Version 2.0.0-development</b> (2021-07-26)</p>
|
||||
<p>Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved. <br />
|
||||
License: MIT</p>
|
||||
<p>Documentation of all members: <a class="el" href="_d3_d12_mem_alloc_8h.html">D3D12MemAlloc.h</a></p>
|
||||
|
@ -37,6 +37,7 @@ var menudata={children:[
|
||||
{text:"Classes",url:"annotated.html",children:[
|
||||
{text:"Class List",url:"annotated.html"},
|
||||
{text:"Class Index",url:"classes.html"},
|
||||
{text:"Class Hierarchy",url:"hierarchy.html"},
|
||||
{text:"Class Members",url:"functions.html",children:[
|
||||
{text:"All",url:"functions.html",children:[
|
||||
{text:"a",url:"functions.html#index_a"},
|
||||
@ -53,7 +54,6 @@ var menudata={children:[
|
||||
{text:"n",url:"functions.html#index_n"},
|
||||
{text:"o",url:"functions.html#index_o"},
|
||||
{text:"p",url:"functions.html#index_p"},
|
||||
{text:"r",url:"functions.html#index_r"},
|
||||
{text:"s",url:"functions.html#index_s"},
|
||||
{text:"t",url:"functions.html#index_t"},
|
||||
{text:"u",url:"functions.html#index_u"},
|
||||
@ -65,7 +65,6 @@ var menudata={children:[
|
||||
{text:"f",url:"functions_func.html#index_f"},
|
||||
{text:"g",url:"functions_func.html#index_g"},
|
||||
{text:"i",url:"functions_func.html#index_i"},
|
||||
{text:"r",url:"functions_func.html#index_r"},
|
||||
{text:"s",url:"functions_func.html#index_s"},
|
||||
{text:"w",url:"functions_func.html#index_w"}]},
|
||||
{text:"Variables",url:"functions_vars.html",children:[
|
||||
|
@ -71,7 +71,7 @@ $(function() {
|
||||
<div class="contents">
|
||||
<div class="textblock"><h1><a class="anchor" id="quick_start_project_setup"></a>
|
||||
Project setup and initialization</h1>
|
||||
<p>This is a small, standalone C++ library. It consists of a pair of 2 files: "%D3D12MemAlloc.h" header file with public interface and "D3D12MemAlloc.cpp" with internal implementation. The only external dependencies are WinAPI, Direct3D 12, and parts of C/C++ standard library (but STL containers, exceptions, or RTTI are not used).</p>
|
||||
<p>This is a small, standalone C++ library. It consists of a pair of 2 files: "D3D12MemAlloc.h" header file with public interface and "D3D12MemAlloc.cpp" with internal implementation. The only external dependencies are WinAPI, Direct3D 12, and parts of C/C++ standard library (but STL containers, exceptions, or RTTI are not used).</p>
|
||||
<p>The library is developed and tested using Microsoft Visual Studio 2019, but it should work with other compilers as well. It is designed for 64-bit code.</p>
|
||||
<p>To use the library in your project:</p>
|
||||
<p>(1.) Copy files <code>D3D12MemAlloc.cpp</code>, <code>D3D12MemAlloc.h</code> to your project.</p>
|
||||
@ -90,15 +90,14 @@ Project setup and initialization</h1>
|
||||
<div class="line"> </div>
|
||||
<div class="line"><a class="code" href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a>* allocator;</div>
|
||||
<div class="line">HRESULT hr = <a class="code" href="namespace_d3_d12_m_a.html#aa341b796fdffb16c976e659ccce80332">D3D12MA::CreateAllocator</a>(&allocatorDesc, &allocator);</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></div><div class="ttdoc">Represents main object of this library initialized for particular ID3D12Device.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1264</div></div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></div><div class="ttdoc">Represents main object of this library initialized for particular ID3D12Device.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1288</div></div>
|
||||
<div class="ttc" id="anamespace_d3_d12_m_a_html_aa341b796fdffb16c976e659ccce80332"><div class="ttname"><a href="namespace_d3_d12_m_a.html#aa341b796fdffb16c976e659ccce80332">D3D12MA::CreateAllocator</a></div><div class="ttdeci">HRESULT CreateAllocator(const ALLOCATOR_DESC *pDesc, Allocator **ppAllocator)</div><div class="ttdoc">Creates new main D3D12MA::Allocator object and returns it through ppAllocator.</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html">D3D12MA::ALLOCATOR_DESC</a></div><div class="ttdoc">Parameters of created Allocator object. To be used with CreateAllocator().</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1145</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html_abf9a9f87f0ffea52816efd363c5fcd7b"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#abf9a9f87f0ffea52816efd363c5fcd7b">D3D12MA::ALLOCATOR_DESC::pAdapter</a></div><div class="ttdeci">IDXGIAdapter * pAdapter</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1171</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html_ada1bf21205065b3aa0284b5a9ee1cb3c"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ada1bf21205065b3aa0284b5a9ee1cb3c">D3D12MA::ALLOCATOR_DESC::pDevice</a></div><div class="ttdeci">ID3D12Device * pDevice</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1153</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html">D3D12MA::ALLOCATOR_DESC</a></div><div class="ttdoc">Parameters of created Allocator object. To be used with CreateAllocator().</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1169</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html_abf9a9f87f0ffea52816efd363c5fcd7b"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#abf9a9f87f0ffea52816efd363c5fcd7b">D3D12MA::ALLOCATOR_DESC::pAdapter</a></div><div class="ttdeci">IDXGIAdapter * pAdapter</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1195</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c_html_ada1bf21205065b3aa0284b5a9ee1cb3c"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ada1bf21205065b3aa0284b5a9ee1cb3c">D3D12MA::ALLOCATOR_DESC::pDevice</a></div><div class="ttdeci">ID3D12Device * pDevice</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1177</div></div>
|
||||
</div><!-- fragment --><p>(5.) Right before destroying the D3D12 device, destroy the allocator object.</p>
|
||||
<p>Please note that objects of this library must be destroyed by calling <code>Release</code> method (despite they are not COM interfaces and no reference counting is involved).</p>
|
||||
<div class="fragment"><div class="line">allocator-><a class="code" href="class_d3_d12_m_a_1_1_allocator.html#aefff328977ae1030a2ac6db5a148294b">Release</a>();</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_aefff328977ae1030a2ac6db5a148294b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#aefff328977ae1030a2ac6db5a148294b">D3D12MA::Allocator::Release</a></div><div class="ttdeci">void Release()</div><div class="ttdoc">Deletes this object.</div></div>
|
||||
<p>Objects of this library must be destroyed by calling <code>Release</code> method. They are somewhat compatible with COM: they implement <code>IUnknown</code> interface with its virtual methods: <code>AddRef</code>, <code>Release</code>, <code>QueryInterface</code>, and they are reference-counted internally. You can use smart pointers designed for COM with objects of this library - e.g. <code>CComPtr</code> or <code>Microsoft::WRL::ComPtr</code>. The reference counter is thread-safe. <code>QueryInterface</code> method supports only <code>IUnknown</code>, as classes of this library don't define their own GUIDs.</p>
|
||||
<div class="fragment"><div class="line">allocator->Release();</div>
|
||||
</div><!-- fragment --><h1><a class="anchor" id="quick_start_creating_resources"></a>
|
||||
Creating resources</h1>
|
||||
<p>To use the library for creating resources (textures and buffers), call method <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#aa37d6b9fe8ea0864f7a35b9d68e8345a" title="Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation functi...">D3D12MA::Allocator::CreateResource</a> in the place where you would previously call <code>ID3D12Device::CreateCommittedResource</code>.</p>
|
||||
@ -129,14 +128,13 @@ Creating resources</h1>
|
||||
<div class="line"> NULL,</div>
|
||||
<div class="line"> &allocation,</div>
|
||||
<div class="line"> IID_PPV_ARGS(&resource));</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></div><div class="ttdoc">Represents single memory allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:853</div></div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></div><div class="ttdoc">Represents single memory allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:885</div></div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_aa37d6b9fe8ea0864f7a35b9d68e8345a"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#aa37d6b9fe8ea0864f7a35b9d68e8345a">D3D12MA::Allocator::CreateResource</a></div><div class="ttdeci">HRESULT CreateResource(const ALLOCATION_DESC *pAllocDesc, const D3D12_RESOURCE_DESC *pResourceDesc, D3D12_RESOURCE_STATES InitialResourceState, const D3D12_CLEAR_VALUE *pOptimizedClearValue, Allocation **ppAllocation, REFIID riidResource, void **ppvResource)</div><div class="ttdoc">Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation functi...</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::ALLOCATION_DESC</a></div><div class="ttdoc">Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:804</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c_html_aa46b3c0456e5a23edef3328607ebf4d7"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aa46b3c0456e5a23edef3328607ebf4d7">D3D12MA::ALLOCATION_DESC::HeapType</a></div><div class="ttdeci">D3D12_HEAP_TYPE HeapType</div><div class="ttdoc">The type of memory heap where the new allocation should be placed.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:813</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::ALLOCATION_DESC</a></div><div class="ttdoc">Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:836</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c_html_aa46b3c0456e5a23edef3328607ebf4d7"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aa46b3c0456e5a23edef3328607ebf4d7">D3D12MA::ALLOCATION_DESC::HeapType</a></div><div class="ttdeci">D3D12_HEAP_TYPE HeapType</div><div class="ttdoc">The type of memory heap where the new allocation should be placed.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:845</div></div>
|
||||
</div><!-- fragment --><p>You need to remember both resource and allocation objects and destroy them separately when no longer needed.</p>
|
||||
<div class="fragment"><div class="line">allocation-><a class="code" href="class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc">Release</a>();</div>
|
||||
<div class="fragment"><div class="line">allocation->Release();</div>
|
||||
<div class="line">resource->Release();</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_ad7e3a855b92e77be6c808eacdbb746dc"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc">D3D12MA::Allocation::Release</a></div><div class="ttdeci">void Release()</div><div class="ttdoc">Deletes this object.</div></div>
|
||||
</div><!-- fragment --><p>The advantage of using the allocator instead of creating committed resource, and the main purpose of this library, is that it can decide to allocate bigger memory heap internally using <code>ID3D12Device::CreateHeap</code> and place multiple resources in it, at different offsets, using <code>ID3D12Device::CreatePlacedResource</code>. The library manages its own collection of allocated memory blocks (heaps) and remembers which parts of them are occupied and which parts are free to be used for new resources.</p>
|
||||
<p>It is important to remember that resources created as placed don't have their memory initialized to zeros, but may contain garbage data, so they need to be fully initialized before usage, e.g. using Clear (<code>ClearRenderTargetView</code>), Discard (<code>DiscardResource</code>), or copy (<code>CopyResource</code>).</p>
|
||||
<p>The library also automatically handles resource heap tier. When <code>D3D12_FEATURE_DATA_D3D12_OPTIONS::ResourceHeapTier</code> equals <code>D3D12_RESOURCE_HEAP_TIER_1</code>, resources of 3 types: buffers, textures that are render targets or depth-stencil, and other textures must be kept in separate heaps. When <code>D3D12_RESOURCE_HEAP_TIER_2</code>, they can be kept together. By using this library, you don't need to handle this manually.</p>
|
||||
|
@ -143,13 +143,12 @@ $(function() {
|
||||
<div class="line"> </div>
|
||||
<div class="line">res2->Release();</div>
|
||||
<div class="line">res1->Release();</div>
|
||||
<div class="line">alloc-><a class="code" href="class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc">Release</a>();</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></div><div class="ttdoc">Represents single memory allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:853</div></div>
|
||||
<div class="line">alloc->Release();</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></div><div class="ttdoc">Represents single memory allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:885</div></div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_ac15798741797425b4e9e67bfc991e06b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#ac15798741797425b4e9e67bfc991e06b">D3D12MA::Allocation::GetHeap</a></div><div class="ttdeci">ID3D12Heap * GetHeap() const</div><div class="ttdoc">Returns memory heap that the resource is created in.</div></div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_ad7e3a855b92e77be6c808eacdbb746dc"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc">D3D12MA::Allocation::Release</a></div><div class="ttdeci">void Release()</div><div class="ttdoc">Deletes this object.</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::ALLOCATION_DESC</a></div><div class="ttdoc">Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:804</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c_html_a97878838f976b2d1e6b1a76881035690"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a97878838f976b2d1e6b1a76881035690">D3D12MA::ALLOCATION_DESC::ExtraHeapFlags</a></div><div class="ttdeci">D3D12_HEAP_FLAGS ExtraHeapFlags</div><div class="ttdoc">Additional heap flags to be used when allocating memory.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:829</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c_html_aa46b3c0456e5a23edef3328607ebf4d7"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aa46b3c0456e5a23edef3328607ebf4d7">D3D12MA::ALLOCATION_DESC::HeapType</a></div><div class="ttdeci">D3D12_HEAP_TYPE HeapType</div><div class="ttdoc">The type of memory heap where the new allocation should be placed.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:813</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::ALLOCATION_DESC</a></div><div class="ttdoc">Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:836</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c_html_a97878838f976b2d1e6b1a76881035690"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a97878838f976b2d1e6b1a76881035690">D3D12MA::ALLOCATION_DESC::ExtraHeapFlags</a></div><div class="ttdeci">D3D12_HEAP_FLAGS ExtraHeapFlags</div><div class="ttdoc">Additional heap flags to be used when allocating memory.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:861</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c_html_aa46b3c0456e5a23edef3328607ebf4d7"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aa46b3c0456e5a23edef3328607ebf4d7">D3D12MA::ALLOCATION_DESC::HeapType</a></div><div class="ttdeci">D3D12_HEAP_TYPE HeapType</div><div class="ttdoc">The type of memory heap where the new allocation should be placed.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:845</div></div>
|
||||
</div><!-- fragment --><p>Remember that using resouces that alias in memory requires proper synchronization. You need to issue a special barrier of type <code>D3D12_RESOURCE_BARRIER_TYPE_ALIASING</code>. You also need to treat a resource after aliasing as uninitialized - containing garbage data. For example, if you use <code>res1</code> and then want to use <code>res2</code>, you need to first initialize <code>res2</code> using either Clear, Discard, or Copy to the entire resource.</p>
|
||||
<p>Additional considerations:</p>
|
||||
<ul>
|
||||
|
@ -1,10 +1,10 @@
|
||||
var searchData=
|
||||
[
|
||||
['setallocationuserdata_94',['SetAllocationUserData',['../class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289',1,'D3D12MA::VirtualBlock']]],
|
||||
['setcurrentframeindex_95',['SetCurrentFrameIndex',['../class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11',1,'D3D12MA::Allocator']]],
|
||||
['setname_96',['SetName',['../class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac',1,'D3D12MA::Allocation::SetName()'],['../class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b',1,'D3D12MA::Pool::SetName()']]],
|
||||
['setallocationuserdata_93',['SetAllocationUserData',['../class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289',1,'D3D12MA::VirtualBlock']]],
|
||||
['setcurrentframeindex_94',['SetCurrentFrameIndex',['../class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11',1,'D3D12MA::Allocator']]],
|
||||
['setname_95',['SetName',['../class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac',1,'D3D12MA::Allocation::SetName()'],['../class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b',1,'D3D12MA::Pool::SetName()']]],
|
||||
['size_96',['Size',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#ac56491679f276a5a9956ed99bc4654e4',1,'D3D12MA::VIRTUAL_BLOCK_DESC::Size()'],['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a976b649e45abdd0769da0d79acde4bac',1,'D3D12MA::VIRTUAL_ALLOCATION_DESC::Size()']]],
|
||||
['size_97',['size',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___i_n_f_o.html#ab8ede12141594a69230afeb34664fc34',1,'D3D12MA::VIRTUAL_ALLOCATION_INFO']]],
|
||||
['size_98',['Size',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#ac56491679f276a5a9956ed99bc4654e4',1,'D3D12MA::VIRTUAL_BLOCK_DESC::Size()'],['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a976b649e45abdd0769da0d79acde4bac',1,'D3D12MA::VIRTUAL_ALLOCATION_DESC::Size()']]],
|
||||
['statinfo_99',['StatInfo',['../struct_d3_d12_m_a_1_1_stat_info.html',1,'D3D12MA']]],
|
||||
['stats_100',['Stats',['../struct_d3_d12_m_a_1_1_stats.html',1,'D3D12MA']]]
|
||||
['statinfo_98',['StatInfo',['../struct_d3_d12_m_a_1_1_stat_info.html',1,'D3D12MA']]],
|
||||
['stats_99',['Stats',['../struct_d3_d12_m_a_1_1_stats.html',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['total_101',['Total',['../struct_d3_d12_m_a_1_1_stats.html#ada54d9f0385fcdba491adcfd91f29c28',1,'D3D12MA::Stats']]]
|
||||
['total_100',['Total',['../struct_d3_d12_m_a_1_1_stats.html#ada54d9f0385fcdba491adcfd91f29c28',1,'D3D12MA::Stats']]]
|
||||
];
|
||||
|
@ -1,10 +1,10 @@
|
||||
var searchData=
|
||||
[
|
||||
['unusedbytes_102',['UnusedBytes',['../struct_d3_d12_m_a_1_1_stat_info.html#a1df359c2e9ad4c7763122d1ccd86b168',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangecount_103',['UnusedRangeCount',['../struct_d3_d12_m_a_1_1_stat_info.html#adfc245a84fb8fba7936b67bd879ffefb',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizeavg_104',['UnusedRangeSizeAvg',['../struct_d3_d12_m_a_1_1_stat_info.html#a249d7969bf3f836c13a0f111d6ed886d',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizemax_105',['UnusedRangeSizeMax',['../struct_d3_d12_m_a_1_1_stat_info.html#a1337269f8777b6b5176c72ca410fbe36',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizemin_106',['UnusedRangeSizeMin',['../struct_d3_d12_m_a_1_1_stat_info.html#a180be027720ca98ff3a7470e18a79622',1,'D3D12MA::StatInfo']]],
|
||||
['usagebytes_107',['UsageBytes',['../struct_d3_d12_m_a_1_1_budget.html#a77a8c9e32d6602f95b7d1c285cddd253',1,'D3D12MA::Budget']]],
|
||||
['usedbytes_108',['UsedBytes',['../struct_d3_d12_m_a_1_1_stat_info.html#ac4f3379ea88025e4ccf5880fab2699f7',1,'D3D12MA::StatInfo']]]
|
||||
['unusedbytes_101',['UnusedBytes',['../struct_d3_d12_m_a_1_1_stat_info.html#a1df359c2e9ad4c7763122d1ccd86b168',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangecount_102',['UnusedRangeCount',['../struct_d3_d12_m_a_1_1_stat_info.html#adfc245a84fb8fba7936b67bd879ffefb',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizeavg_103',['UnusedRangeSizeAvg',['../struct_d3_d12_m_a_1_1_stat_info.html#a249d7969bf3f836c13a0f111d6ed886d',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizemax_104',['UnusedRangeSizeMax',['../struct_d3_d12_m_a_1_1_stat_info.html#a1337269f8777b6b5176c72ca410fbe36',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizemin_105',['UnusedRangeSizeMin',['../struct_d3_d12_m_a_1_1_stat_info.html#a180be027720ca98ff3a7470e18a79622',1,'D3D12MA::StatInfo']]],
|
||||
['usagebytes_106',['UsageBytes',['../struct_d3_d12_m_a_1_1_budget.html#a77a8c9e32d6602f95b7d1c285cddd253',1,'D3D12MA::Budget']]],
|
||||
['usedbytes_107',['UsedBytes',['../struct_d3_d12_m_a_1_1_stat_info.html#ac4f3379ea88025e4ccf5880fab2699f7',1,'D3D12MA::StatInfo']]]
|
||||
];
|
||||
|
@ -1,8 +1,8 @@
|
||||
var searchData=
|
||||
[
|
||||
['virtual_20allocator_109',['Virtual allocator',['../virtual_allocator.html',1,'index']]],
|
||||
['virtual_5fallocation_5fdesc_110',['VIRTUAL_ALLOCATION_DESC',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html',1,'D3D12MA']]],
|
||||
['virtual_5fallocation_5finfo_111',['VIRTUAL_ALLOCATION_INFO',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___i_n_f_o.html',1,'D3D12MA']]],
|
||||
['virtual_5fblock_5fdesc_112',['VIRTUAL_BLOCK_DESC',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html',1,'D3D12MA']]],
|
||||
['virtualblock_113',['VirtualBlock',['../class_d3_d12_m_a_1_1_virtual_block.html',1,'D3D12MA']]]
|
||||
['virtual_20allocator_108',['Virtual allocator',['../virtual_allocator.html',1,'index']]],
|
||||
['virtual_5fallocation_5fdesc_109',['VIRTUAL_ALLOCATION_DESC',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html',1,'D3D12MA']]],
|
||||
['virtual_5fallocation_5finfo_110',['VIRTUAL_ALLOCATION_INFO',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___i_n_f_o.html',1,'D3D12MA']]],
|
||||
['virtual_5fblock_5fdesc_111',['VIRTUAL_BLOCK_DESC',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html',1,'D3D12MA']]],
|
||||
['virtualblock_112',['VirtualBlock',['../class_d3_d12_m_a_1_1_virtual_block.html',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['waszeroinitialized_114',['WasZeroInitialized',['../class_d3_d12_m_a_1_1_allocation.html#a1b1ef2717beed503fcb3cb7e6a171762',1,'D3D12MA::Allocation']]]
|
||||
['waszeroinitialized_113',['WasZeroInitialized',['../class_d3_d12_m_a_1_1_allocation.html#a1b1ef2717beed503fcb3cb7e6a171762',1,'D3D12MA::Allocation']]]
|
||||
];
|
||||
|
@ -1,5 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['release_92',['Release',['../class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc',1,'D3D12MA::Allocation::Release()'],['../class_d3_d12_m_a_1_1_pool.html#a5e6fe1e7fbe0ebe394d63d22715535c6',1,'D3D12MA::Pool::Release()'],['../class_d3_d12_m_a_1_1_allocator.html#aefff328977ae1030a2ac6db5a148294b',1,'D3D12MA::Allocator::Release()'],['../class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0',1,'D3D12MA::VirtualBlock::Release()']]],
|
||||
['resource_20aliasing_20_28overlap_29_93',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'index']]]
|
||||
['resource_20aliasing_20_28overlap_29_92',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'index']]]
|
||||
];
|
||||
|
@ -1,8 +1,8 @@
|
||||
var searchData=
|
||||
[
|
||||
['allocation_115',['Allocation',['../class_d3_d12_m_a_1_1_allocation.html',1,'D3D12MA']]],
|
||||
['allocation_5fcallbacks_116',['ALLOCATION_CALLBACKS',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html',1,'D3D12MA']]],
|
||||
['allocation_5fdesc_117',['ALLOCATION_DESC',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html',1,'D3D12MA']]],
|
||||
['allocator_118',['Allocator',['../class_d3_d12_m_a_1_1_allocator.html',1,'D3D12MA']]],
|
||||
['allocator_5fdesc_119',['ALLOCATOR_DESC',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html',1,'D3D12MA']]]
|
||||
['allocation_114',['Allocation',['../class_d3_d12_m_a_1_1_allocation.html',1,'D3D12MA']]],
|
||||
['allocation_5fcallbacks_115',['ALLOCATION_CALLBACKS',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html',1,'D3D12MA']]],
|
||||
['allocation_5fdesc_116',['ALLOCATION_DESC',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html',1,'D3D12MA']]],
|
||||
['allocator_117',['Allocator',['../class_d3_d12_m_a_1_1_allocator.html',1,'D3D12MA']]],
|
||||
['allocator_5fdesc_118',['ALLOCATOR_DESC',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['budget_120',['Budget',['../struct_d3_d12_m_a_1_1_budget.html',1,'D3D12MA']]]
|
||||
['budget_119',['Budget',['../struct_d3_d12_m_a_1_1_budget.html',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,5 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['pool_121',['Pool',['../class_d3_d12_m_a_1_1_pool.html',1,'D3D12MA']]],
|
||||
['pool_5fdesc_122',['POOL_DESC',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html',1,'D3D12MA']]]
|
||||
['pool_120',['Pool',['../class_d3_d12_m_a_1_1_pool.html',1,'D3D12MA']]],
|
||||
['pool_5fdesc_121',['POOL_DESC',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,5 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['statinfo_123',['StatInfo',['../struct_d3_d12_m_a_1_1_stat_info.html',1,'D3D12MA']]],
|
||||
['stats_124',['Stats',['../struct_d3_d12_m_a_1_1_stats.html',1,'D3D12MA']]]
|
||||
['statinfo_122',['StatInfo',['../struct_d3_d12_m_a_1_1_stat_info.html',1,'D3D12MA']]],
|
||||
['stats_123',['Stats',['../struct_d3_d12_m_a_1_1_stats.html',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,7 +1,7 @@
|
||||
var searchData=
|
||||
[
|
||||
['virtual_5fallocation_5fdesc_125',['VIRTUAL_ALLOCATION_DESC',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html',1,'D3D12MA']]],
|
||||
['virtual_5fallocation_5finfo_126',['VIRTUAL_ALLOCATION_INFO',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___i_n_f_o.html',1,'D3D12MA']]],
|
||||
['virtual_5fblock_5fdesc_127',['VIRTUAL_BLOCK_DESC',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html',1,'D3D12MA']]],
|
||||
['virtualblock_128',['VirtualBlock',['../class_d3_d12_m_a_1_1_virtual_block.html',1,'D3D12MA']]]
|
||||
['virtual_5fallocation_5fdesc_124',['VIRTUAL_ALLOCATION_DESC',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html',1,'D3D12MA']]],
|
||||
['virtual_5fallocation_5finfo_125',['VIRTUAL_ALLOCATION_INFO',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___i_n_f_o.html',1,'D3D12MA']]],
|
||||
['virtual_5fblock_5fdesc_126',['VIRTUAL_BLOCK_DESC',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html',1,'D3D12MA']]],
|
||||
['virtualblock_127',['VirtualBlock',['../class_d3_d12_m_a_1_1_virtual_block.html',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,5 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['d3d12ma_5fdxgi_5f1_5f4_225',['D3D12MA_DXGI_1_4',['../_d3_d12_mem_alloc_8h.html#aa623643886b8481adb32017e5c748b50',1,'D3D12MemAlloc.h']]],
|
||||
['d3d12ma_5fuse_5fsmall_5fresource_5fplacement_5falignment_226',['D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT',['../_d3_d12_mem_alloc_8h.html#ad04069a2e2bbc53b7d65f85a04a2dcbc',1,'D3D12MemAlloc.h']]]
|
||||
['d3d12ma_5fdxgi_5f1_5f4_223',['D3D12MA_DXGI_1_4',['../_d3_d12_mem_alloc_8h.html#aa623643886b8481adb32017e5c748b50',1,'D3D12MemAlloc.h']]],
|
||||
['d3d12ma_5fuse_5fsmall_5fresource_5fplacement_5falignment_224',['D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT',['../_d3_d12_mem_alloc_8h.html#ad04069a2e2bbc53b7d65f85a04a2dcbc',1,'D3D12MemAlloc.h']]]
|
||||
];
|
||||
|
@ -1,5 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['allocation_5fflags_213',['ALLOCATION_FLAGS',['../namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e',1,'D3D12MA']]],
|
||||
['allocator_5fflags_214',['ALLOCATOR_FLAGS',['../namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916',1,'D3D12MA']]]
|
||||
['allocation_5fflags_211',['ALLOCATION_FLAGS',['../namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e',1,'D3D12MA']]],
|
||||
['allocator_5fflags_212',['ALLOCATOR_FLAGS',['../namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,10 +1,10 @@
|
||||
var searchData=
|
||||
[
|
||||
['allocation_5fflag_5fcommitted_215',['ALLOCATION_FLAG_COMMITTED',['../namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675',1,'D3D12MA']]],
|
||||
['allocation_5fflag_5fnever_5fallocate_216',['ALLOCATION_FLAG_NEVER_ALLOCATE',['../namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628',1,'D3D12MA']]],
|
||||
['allocation_5fflag_5fnone_217',['ALLOCATION_FLAG_NONE',['../namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea0bf578b096d6ea73cea86b031541733e',1,'D3D12MA']]],
|
||||
['allocation_5fflag_5fwithin_5fbudget_218',['ALLOCATION_FLAG_WITHIN_BUDGET',['../namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6',1,'D3D12MA']]],
|
||||
['allocator_5fflag_5falways_5fcommitted_219',['ALLOCATOR_FLAG_ALWAYS_COMMITTED',['../namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb',1,'D3D12MA']]],
|
||||
['allocator_5fflag_5fnone_220',['ALLOCATOR_FLAG_NONE',['../namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a2fb30967b492c27823a80b5de3aea26f',1,'D3D12MA']]],
|
||||
['allocator_5fflag_5fsinglethreaded_221',['ALLOCATOR_FLAG_SINGLETHREADED',['../namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a1b06bb21df006f76a9ed1bc41838bc52',1,'D3D12MA']]]
|
||||
['allocation_5fflag_5fcommitted_213',['ALLOCATION_FLAG_COMMITTED',['../namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675',1,'D3D12MA']]],
|
||||
['allocation_5fflag_5fnever_5fallocate_214',['ALLOCATION_FLAG_NEVER_ALLOCATE',['../namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628',1,'D3D12MA']]],
|
||||
['allocation_5fflag_5fnone_215',['ALLOCATION_FLAG_NONE',['../namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea0bf578b096d6ea73cea86b031541733e',1,'D3D12MA']]],
|
||||
['allocation_5fflag_5fwithin_5fbudget_216',['ALLOCATION_FLAG_WITHIN_BUDGET',['../namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6',1,'D3D12MA']]],
|
||||
['allocator_5fflag_5falways_5fcommitted_217',['ALLOCATOR_FLAG_ALWAYS_COMMITTED',['../namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb',1,'D3D12MA']]],
|
||||
['allocator_5fflag_5fnone_218',['ALLOCATOR_FLAG_NONE',['../namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a2fb30967b492c27823a80b5de3aea26f',1,'D3D12MA']]],
|
||||
['allocator_5fflag_5fsinglethreaded_219',['ALLOCATOR_FLAG_SINGLETHREADED',['../namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a1b06bb21df006f76a9ed1bc41838bc52',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['d3d12memalloc_2eh_130',['D3D12MemAlloc.h',['../_d3_d12_mem_alloc_8h.html',1,'']]]
|
||||
['d3d12memalloc_2eh_129',['D3D12MemAlloc.h',['../_d3_d12_mem_alloc_8h.html',1,'']]]
|
||||
];
|
||||
|
@ -1,6 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['allocate_131',['Allocate',['../class_d3_d12_m_a_1_1_virtual_block.html#aa57575f1af18461012bde8c4b6f3c56c',1,'D3D12MA::VirtualBlock']]],
|
||||
['allocatememory_132',['AllocateMemory',['../class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2',1,'D3D12MA::Allocator']]],
|
||||
['allocatememory1_133',['AllocateMemory1',['../class_d3_d12_m_a_1_1_allocator.html#a6c1fbc673e2559ead34dbf039dd47d60',1,'D3D12MA::Allocator']]]
|
||||
['allocate_130',['Allocate',['../class_d3_d12_m_a_1_1_virtual_block.html#aa57575f1af18461012bde8c4b6f3c56c',1,'D3D12MA::VirtualBlock']]],
|
||||
['allocatememory_131',['AllocateMemory',['../class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2',1,'D3D12MA::Allocator']]],
|
||||
['allocatememory1_132',['AllocateMemory1',['../class_d3_d12_m_a_1_1_allocator.html#a6c1fbc673e2559ead34dbf039dd47d60',1,'D3D12MA::Allocator']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['buildstatsstring_134',['BuildStatsString',['../class_d3_d12_m_a_1_1_allocator.html#a29716b3084916abed7793bf2ec4b65db',1,'D3D12MA::Allocator::BuildStatsString()'],['../class_d3_d12_m_a_1_1_virtual_block.html#a828a27070bfa762cae796d4c8f2ef703',1,'D3D12MA::VirtualBlock::BuildStatsString()']]]
|
||||
['buildstatsstring_133',['BuildStatsString',['../class_d3_d12_m_a_1_1_allocator.html#a29716b3084916abed7793bf2ec4b65db',1,'D3D12MA::Allocator::BuildStatsString()'],['../class_d3_d12_m_a_1_1_virtual_block.html#a828a27070bfa762cae796d4c8f2ef703',1,'D3D12MA::VirtualBlock::BuildStatsString()']]]
|
||||
];
|
||||
|
@ -1,12 +1,12 @@
|
||||
var searchData=
|
||||
[
|
||||
['calculatestats_135',['CalculateStats',['../class_d3_d12_m_a_1_1_pool.html#a8e4cc5fb13aa33398d391296336c457e',1,'D3D12MA::Pool::CalculateStats()'],['../class_d3_d12_m_a_1_1_allocator.html#addedcd0067319ec566042f5cb520843b',1,'D3D12MA::Allocator::CalculateStats()'],['../class_d3_d12_m_a_1_1_virtual_block.html#a039ee8426818d0126cf7f44c1c658526',1,'D3D12MA::VirtualBlock::CalculateStats(StatInfo *pInfo) const']]],
|
||||
['clear_136',['Clear',['../class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189',1,'D3D12MA::VirtualBlock']]],
|
||||
['createaliasingresource_137',['CreateAliasingResource',['../class_d3_d12_m_a_1_1_allocator.html#ab45536f92410aedb7be44ea36b1b4717',1,'D3D12MA::Allocator']]],
|
||||
['createallocator_138',['CreateAllocator',['../namespace_d3_d12_m_a.html#aa341b796fdffb16c976e659ccce80332',1,'D3D12MA']]],
|
||||
['createpool_139',['CreatePool',['../class_d3_d12_m_a_1_1_allocator.html#aac7b1f6bf53cbf4c4ce2264cb72ca515',1,'D3D12MA::Allocator']]],
|
||||
['createresource_140',['CreateResource',['../class_d3_d12_m_a_1_1_allocator.html#aa37d6b9fe8ea0864f7a35b9d68e8345a',1,'D3D12MA::Allocator']]],
|
||||
['createresource1_141',['CreateResource1',['../class_d3_d12_m_a_1_1_allocator.html#afa0de85c76ce1f86fe9b0bd94dad5e8b',1,'D3D12MA::Allocator']]],
|
||||
['createresource2_142',['CreateResource2',['../class_d3_d12_m_a_1_1_allocator.html#ad9616c8e8e59ede99214b9c7cea97e5a',1,'D3D12MA::Allocator']]],
|
||||
['createvirtualblock_143',['CreateVirtualBlock',['../namespace_d3_d12_m_a.html#aefde6264e7a88bebe8e193df343af317',1,'D3D12MA']]]
|
||||
['calculatestats_134',['CalculateStats',['../class_d3_d12_m_a_1_1_pool.html#a8e4cc5fb13aa33398d391296336c457e',1,'D3D12MA::Pool::CalculateStats()'],['../class_d3_d12_m_a_1_1_allocator.html#addedcd0067319ec566042f5cb520843b',1,'D3D12MA::Allocator::CalculateStats()'],['../class_d3_d12_m_a_1_1_virtual_block.html#a039ee8426818d0126cf7f44c1c658526',1,'D3D12MA::VirtualBlock::CalculateStats(StatInfo *pInfo) const']]],
|
||||
['clear_135',['Clear',['../class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189',1,'D3D12MA::VirtualBlock']]],
|
||||
['createaliasingresource_136',['CreateAliasingResource',['../class_d3_d12_m_a_1_1_allocator.html#ab45536f92410aedb7be44ea36b1b4717',1,'D3D12MA::Allocator']]],
|
||||
['createallocator_137',['CreateAllocator',['../namespace_d3_d12_m_a.html#aa341b796fdffb16c976e659ccce80332',1,'D3D12MA']]],
|
||||
['createpool_138',['CreatePool',['../class_d3_d12_m_a_1_1_allocator.html#aac7b1f6bf53cbf4c4ce2264cb72ca515',1,'D3D12MA::Allocator']]],
|
||||
['createresource_139',['CreateResource',['../class_d3_d12_m_a_1_1_allocator.html#aa37d6b9fe8ea0864f7a35b9d68e8345a',1,'D3D12MA::Allocator']]],
|
||||
['createresource1_140',['CreateResource1',['../class_d3_d12_m_a_1_1_allocator.html#afa0de85c76ce1f86fe9b0bd94dad5e8b',1,'D3D12MA::Allocator']]],
|
||||
['createresource2_141',['CreateResource2',['../class_d3_d12_m_a_1_1_allocator.html#ad9616c8e8e59ede99214b9c7cea97e5a',1,'D3D12MA::Allocator']]],
|
||||
['createvirtualblock_142',['CreateVirtualBlock',['../namespace_d3_d12_m_a.html#aefde6264e7a88bebe8e193df343af317',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,5 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['freeallocation_144',['FreeAllocation',['../class_d3_d12_m_a_1_1_virtual_block.html#a02dfae4c0856f22da885a332de7821fa',1,'D3D12MA::VirtualBlock']]],
|
||||
['freestatsstring_145',['FreeStatsString',['../class_d3_d12_m_a_1_1_allocator.html#a8392663494384c16d8bfa12b827b4f9c',1,'D3D12MA::Allocator::FreeStatsString()'],['../class_d3_d12_m_a_1_1_virtual_block.html#a6f78ddaa7da194e239089e52093e68a9',1,'D3D12MA::VirtualBlock::FreeStatsString()']]]
|
||||
['freeallocation_143',['FreeAllocation',['../class_d3_d12_m_a_1_1_virtual_block.html#a02dfae4c0856f22da885a332de7821fa',1,'D3D12MA::VirtualBlock']]],
|
||||
['freestatsstring_144',['FreeStatsString',['../class_d3_d12_m_a_1_1_allocator.html#a8392663494384c16d8bfa12b827b4f9c',1,'D3D12MA::Allocator::FreeStatsString()'],['../class_d3_d12_m_a_1_1_virtual_block.html#a6f78ddaa7da194e239089e52093e68a9',1,'D3D12MA::VirtualBlock::FreeStatsString()']]]
|
||||
];
|
||||
|
@ -1,12 +1,12 @@
|
||||
var searchData=
|
||||
[
|
||||
['getallocationinfo_146',['GetAllocationInfo',['../class_d3_d12_m_a_1_1_virtual_block.html#a287b8f0e455ffc7f302094671f922afb',1,'D3D12MA::VirtualBlock']]],
|
||||
['getbudget_147',['GetBudget',['../class_d3_d12_m_a_1_1_allocator.html#abe927bd3ad6930111d4d9408515b9601',1,'D3D12MA::Allocator']]],
|
||||
['getd3d12options_148',['GetD3D12Options',['../class_d3_d12_m_a_1_1_allocator.html#a8ce95f85e5f2a1d41b81d676b21c04ae',1,'D3D12MA::Allocator']]],
|
||||
['getdesc_149',['GetDesc',['../class_d3_d12_m_a_1_1_pool.html#aaab59af46d922d6b81fce8d8be987028',1,'D3D12MA::Pool']]],
|
||||
['getheap_150',['GetHeap',['../class_d3_d12_m_a_1_1_allocation.html#ac15798741797425b4e9e67bfc991e06b',1,'D3D12MA::Allocation']]],
|
||||
['getname_151',['GetName',['../class_d3_d12_m_a_1_1_allocation.html#a65fab0c479df1b6b72c9300e68dc6770',1,'D3D12MA::Allocation::GetName()'],['../class_d3_d12_m_a_1_1_pool.html#a63c91d92a9ca48b98866a5cc1aea333b',1,'D3D12MA::Pool::GetName()']]],
|
||||
['getoffset_152',['GetOffset',['../class_d3_d12_m_a_1_1_allocation.html#a47be9557d441797b65de177a3d5cdf60',1,'D3D12MA::Allocation']]],
|
||||
['getresource_153',['GetResource',['../class_d3_d12_m_a_1_1_allocation.html#a649a3bb1be1a981cbf3f61f3819addca',1,'D3D12MA::Allocation']]],
|
||||
['getsize_154',['GetSize',['../class_d3_d12_m_a_1_1_allocation.html#a92c2fb6f22b28817eb83a59407d7dd30',1,'D3D12MA::Allocation']]]
|
||||
['getallocationinfo_145',['GetAllocationInfo',['../class_d3_d12_m_a_1_1_virtual_block.html#a287b8f0e455ffc7f302094671f922afb',1,'D3D12MA::VirtualBlock']]],
|
||||
['getbudget_146',['GetBudget',['../class_d3_d12_m_a_1_1_allocator.html#abe927bd3ad6930111d4d9408515b9601',1,'D3D12MA::Allocator']]],
|
||||
['getd3d12options_147',['GetD3D12Options',['../class_d3_d12_m_a_1_1_allocator.html#a8ce95f85e5f2a1d41b81d676b21c04ae',1,'D3D12MA::Allocator']]],
|
||||
['getdesc_148',['GetDesc',['../class_d3_d12_m_a_1_1_pool.html#aaab59af46d922d6b81fce8d8be987028',1,'D3D12MA::Pool']]],
|
||||
['getheap_149',['GetHeap',['../class_d3_d12_m_a_1_1_allocation.html#ac15798741797425b4e9e67bfc991e06b',1,'D3D12MA::Allocation']]],
|
||||
['getname_150',['GetName',['../class_d3_d12_m_a_1_1_allocation.html#a65fab0c479df1b6b72c9300e68dc6770',1,'D3D12MA::Allocation::GetName()'],['../class_d3_d12_m_a_1_1_pool.html#a63c91d92a9ca48b98866a5cc1aea333b',1,'D3D12MA::Pool::GetName()']]],
|
||||
['getoffset_151',['GetOffset',['../class_d3_d12_m_a_1_1_allocation.html#a47be9557d441797b65de177a3d5cdf60',1,'D3D12MA::Allocation']]],
|
||||
['getresource_152',['GetResource',['../class_d3_d12_m_a_1_1_allocation.html#a649a3bb1be1a981cbf3f61f3819addca',1,'D3D12MA::Allocation']]],
|
||||
['getsize_153',['GetSize',['../class_d3_d12_m_a_1_1_allocation.html#a92c2fb6f22b28817eb83a59407d7dd30',1,'D3D12MA::Allocation']]]
|
||||
];
|
||||
|
@ -1,6 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['iscachecoherentuma_155',['IsCacheCoherentUMA',['../class_d3_d12_m_a_1_1_allocator.html#a08210561b92c4bd7ede9dd7beba4bb80',1,'D3D12MA::Allocator']]],
|
||||
['isempty_156',['IsEmpty',['../class_d3_d12_m_a_1_1_virtual_block.html#a7b23fd2da6f0343095fb14b31395678b',1,'D3D12MA::VirtualBlock']]],
|
||||
['isuma_157',['IsUMA',['../class_d3_d12_m_a_1_1_allocator.html#a9e742884bd45dd7f01193d13fcd05af0',1,'D3D12MA::Allocator']]]
|
||||
['iscachecoherentuma_154',['IsCacheCoherentUMA',['../class_d3_d12_m_a_1_1_allocator.html#a08210561b92c4bd7ede9dd7beba4bb80',1,'D3D12MA::Allocator']]],
|
||||
['isempty_155',['IsEmpty',['../class_d3_d12_m_a_1_1_virtual_block.html#a7b23fd2da6f0343095fb14b31395678b',1,'D3D12MA::VirtualBlock']]],
|
||||
['isuma_156',['IsUMA',['../class_d3_d12_m_a_1_1_allocator.html#a9e742884bd45dd7f01193d13fcd05af0',1,'D3D12MA::Allocator']]]
|
||||
];
|
||||
|
@ -1,4 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['release_158',['Release',['../class_d3_d12_m_a_1_1_allocation.html#ad7e3a855b92e77be6c808eacdbb746dc',1,'D3D12MA::Allocation::Release()'],['../class_d3_d12_m_a_1_1_pool.html#a5e6fe1e7fbe0ebe394d63d22715535c6',1,'D3D12MA::Pool::Release()'],['../class_d3_d12_m_a_1_1_allocator.html#aefff328977ae1030a2ac6db5a148294b',1,'D3D12MA::Allocator::Release()'],['../class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0',1,'D3D12MA::VirtualBlock::Release()']]]
|
||||
['setallocationuserdata_157',['SetAllocationUserData',['../class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289',1,'D3D12MA::VirtualBlock']]],
|
||||
['setcurrentframeindex_158',['SetCurrentFrameIndex',['../class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11',1,'D3D12MA::Allocator']]],
|
||||
['setname_159',['SetName',['../class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac',1,'D3D12MA::Allocation::SetName()'],['../class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b',1,'D3D12MA::Pool::SetName()']]]
|
||||
];
|
||||
|
@ -1,6 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['setallocationuserdata_159',['SetAllocationUserData',['../class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289',1,'D3D12MA::VirtualBlock']]],
|
||||
['setcurrentframeindex_160',['SetCurrentFrameIndex',['../class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11',1,'D3D12MA::Allocator']]],
|
||||
['setname_161',['SetName',['../class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac',1,'D3D12MA::Allocation::SetName()'],['../class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b',1,'D3D12MA::Pool::SetName()']]]
|
||||
['waszeroinitialized_160',['WasZeroInitialized',['../class_d3_d12_m_a_1_1_allocation.html#a1b1ef2717beed503fcb3cb7e6a171762',1,'D3D12MA::Allocation']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['d3d12ma_129',['D3D12MA',['../namespace_d3_d12_m_a.html',1,'']]]
|
||||
['d3d12ma_128',['D3D12MA',['../namespace_d3_d12_m_a.html',1,'']]]
|
||||
];
|
||||
|
@ -1,5 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['configuration_227',['Configuration',['../configuration.html',1,'index']]],
|
||||
['custom_20memory_20pools_228',['Custom memory pools',['../custom_pools.html',1,'index']]]
|
||||
['configuration_225',['Configuration',['../configuration.html',1,'index']]],
|
||||
['custom_20memory_20pools_226',['Custom memory pools',['../custom_pools.html',1,'index']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['d3d12_20memory_20allocator_229',['D3D12 Memory Allocator',['../index.html',1,'']]]
|
||||
['d3d12_20memory_20allocator_227',['D3D12 Memory Allocator',['../index.html',1,'']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['general_20considerations_230',['General considerations',['../general_considerations.html',1,'index']]]
|
||||
['general_20considerations_228',['General considerations',['../general_considerations.html',1,'index']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['quick_20start_231',['Quick start',['../quick_start.html',1,'index']]]
|
||||
['quick_20start_229',['Quick start',['../quick_start.html',1,'index']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['resource_20aliasing_20_28overlap_29_232',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'index']]]
|
||||
['resource_20aliasing_20_28overlap_29_230',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'index']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['virtual_20allocator_233',['Virtual allocator',['../virtual_allocator.html',1,'index']]]
|
||||
['virtual_20allocator_231',['Virtual allocator',['../virtual_allocator.html',1,'index']]]
|
||||
];
|
||||
|
@ -1,5 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['createallocator_222',['CreateAllocator',['../class_d3_d12_m_a_1_1_allocator.html#a7cc10fd0b328a512165cf636cb795090',1,'D3D12MA::Allocator']]],
|
||||
['createvirtualblock_223',['CreateVirtualBlock',['../class_d3_d12_m_a_1_1_virtual_block.html#ab8bb16e20c691720aad26ecbf105aa6f',1,'D3D12MA::VirtualBlock']]]
|
||||
['createallocator_220',['CreateAllocator',['../class_d3_d12_m_a_1_1_allocator.html#a7cc10fd0b328a512165cf636cb795090',1,'D3D12MA::Allocator']]],
|
||||
['createvirtualblock_221',['CreateVirtualBlock',['../class_d3_d12_m_a_1_1_virtual_block.html#ab8bb16e20c691720aad26ecbf105aa6f',1,'D3D12MA::VirtualBlock']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['d3d12ma_5fdelete_224',['D3D12MA_DELETE',['../class_d3_d12_m_a_1_1_allocation.html#a968f13f23d03e50cc50b87835b6d5a85',1,'D3D12MA::Allocation::D3D12MA_DELETE()'],['../class_d3_d12_m_a_1_1_pool.html#a968f13f23d03e50cc50b87835b6d5a85',1,'D3D12MA::Pool::D3D12MA_DELETE()'],['../class_d3_d12_m_a_1_1_allocator.html#a968f13f23d03e50cc50b87835b6d5a85',1,'D3D12MA::Allocator::D3D12MA_DELETE()'],['../class_d3_d12_m_a_1_1_virtual_block.html#a968f13f23d03e50cc50b87835b6d5a85',1,'D3D12MA::VirtualBlock::D3D12MA_DELETE()']]]
|
||||
['d3d12ma_5fdelete_222',['D3D12MA_DELETE',['../class_d3_d12_m_a_1_1_allocation.html#a968f13f23d03e50cc50b87835b6d5a85',1,'D3D12MA::Allocation::D3D12MA_DELETE()'],['../class_d3_d12_m_a_1_1_pool.html#a968f13f23d03e50cc50b87835b6d5a85',1,'D3D12MA::Pool::D3D12MA_DELETE()'],['../class_d3_d12_m_a_1_1_allocator.html#a968f13f23d03e50cc50b87835b6d5a85',1,'D3D12MA::Allocator::D3D12MA_DELETE()'],['../class_d3_d12_m_a_1_1_virtual_block.html#a968f13f23d03e50cc50b87835b6d5a85',1,'D3D12MA::VirtualBlock::D3D12MA_DELETE()']]]
|
||||
];
|
||||
|
@ -4,7 +4,7 @@ var indexSectionsWithContent =
|
||||
1: "abpsv",
|
||||
2: "d",
|
||||
3: "d",
|
||||
4: "abcfgirsw",
|
||||
4: "abcfgisw",
|
||||
5: "abcefhlmnopstu",
|
||||
6: "af",
|
||||
7: "a",
|
||||
|
@ -1,6 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['allocate_5ffunc_5fptr_209',['ALLOCATE_FUNC_PTR',['../namespace_d3_d12_m_a.html#a27ddd7db5650bc1d2afa009bebb6a53b',1,'D3D12MA']]],
|
||||
['allocation_5fflags_210',['ALLOCATION_FLAGS',['../namespace_d3_d12_m_a.html#a4dede482eac9111d56d4b1b35eb13ae4',1,'D3D12MA']]],
|
||||
['allocator_5fflags_211',['ALLOCATOR_FLAGS',['../namespace_d3_d12_m_a.html#a5d0bdfc28b81b4a1ee40c9c3ae1b1449',1,'D3D12MA']]]
|
||||
['allocate_5ffunc_5fptr_207',['ALLOCATE_FUNC_PTR',['../namespace_d3_d12_m_a.html#a27ddd7db5650bc1d2afa009bebb6a53b',1,'D3D12MA']]],
|
||||
['allocation_5fflags_208',['ALLOCATION_FLAGS',['../namespace_d3_d12_m_a.html#a4dede482eac9111d56d4b1b35eb13ae4',1,'D3D12MA']]],
|
||||
['allocator_5fflags_209',['ALLOCATOR_FLAGS',['../namespace_d3_d12_m_a.html#a5d0bdfc28b81b4a1ee40c9c3ae1b1449',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['free_5ffunc_5fptr_212',['FREE_FUNC_PTR',['../namespace_d3_d12_m_a.html#a3a473f88974f9312dbb6ff9f18228d76',1,'D3D12MA']]]
|
||||
['free_5ffunc_5fptr_210',['FREE_FUNC_PTR',['../namespace_d3_d12_m_a.html#a3a473f88974f9312dbb6ff9f18228d76',1,'D3D12MA']]]
|
||||
];
|
||||
|
@ -1,9 +1,9 @@
|
||||
var searchData=
|
||||
[
|
||||
['alignment_163',['Alignment',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aaa95e62f2f399339a09dcbb312a42de0',1,'D3D12MA::VIRTUAL_ALLOCATION_DESC']]],
|
||||
['allocationbytes_164',['AllocationBytes',['../struct_d3_d12_m_a_1_1_budget.html#abcb043908bd528852f8ef3867ad76099',1,'D3D12MA::Budget']]],
|
||||
['allocationcount_165',['AllocationCount',['../struct_d3_d12_m_a_1_1_stat_info.html#a2f50de812e296b71594174ff67bbac6e',1,'D3D12MA::StatInfo']]],
|
||||
['allocationsizeavg_166',['AllocationSizeAvg',['../struct_d3_d12_m_a_1_1_stat_info.html#acf3339540ff01d93b6a6f5dc68d83f60',1,'D3D12MA::StatInfo']]],
|
||||
['allocationsizemax_167',['AllocationSizeMax',['../struct_d3_d12_m_a_1_1_stat_info.html#acd3c6f72ffb61a8d39b65a3dab317eb6',1,'D3D12MA::StatInfo']]],
|
||||
['allocationsizemin_168',['AllocationSizeMin',['../struct_d3_d12_m_a_1_1_stat_info.html#a9d9e69e9cad231fea3a41b06e7eeee35',1,'D3D12MA::StatInfo']]]
|
||||
['alignment_161',['Alignment',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aaa95e62f2f399339a09dcbb312a42de0',1,'D3D12MA::VIRTUAL_ALLOCATION_DESC']]],
|
||||
['allocationbytes_162',['AllocationBytes',['../struct_d3_d12_m_a_1_1_budget.html#abcb043908bd528852f8ef3867ad76099',1,'D3D12MA::Budget']]],
|
||||
['allocationcount_163',['AllocationCount',['../struct_d3_d12_m_a_1_1_stat_info.html#a2f50de812e296b71594174ff67bbac6e',1,'D3D12MA::StatInfo']]],
|
||||
['allocationsizeavg_164',['AllocationSizeAvg',['../struct_d3_d12_m_a_1_1_stat_info.html#acf3339540ff01d93b6a6f5dc68d83f60',1,'D3D12MA::StatInfo']]],
|
||||
['allocationsizemax_165',['AllocationSizeMax',['../struct_d3_d12_m_a_1_1_stat_info.html#acd3c6f72ffb61a8d39b65a3dab317eb6',1,'D3D12MA::StatInfo']]],
|
||||
['allocationsizemin_166',['AllocationSizeMin',['../struct_d3_d12_m_a_1_1_stat_info.html#a9d9e69e9cad231fea3a41b06e7eeee35',1,'D3D12MA::StatInfo']]]
|
||||
];
|
||||
|
@ -1,8 +1,8 @@
|
||||
var searchData=
|
||||
[
|
||||
['block_169',['block',['../class_d3_d12_m_a_1_1_allocation.html#a413aec64eba9f4ec57e912511591b3b8',1,'D3D12MA::Allocation']]],
|
||||
['blockbytes_170',['BlockBytes',['../struct_d3_d12_m_a_1_1_budget.html#ad1ad5d8521993cb623255ee1709a1c4c',1,'D3D12MA::Budget']]],
|
||||
['blockcount_171',['BlockCount',['../struct_d3_d12_m_a_1_1_stat_info.html#a8284ef3310c9de1600071285448b62c9',1,'D3D12MA::StatInfo']]],
|
||||
['blocksize_172',['BlockSize',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#af7284cc51a8ed5b551075584256de23c',1,'D3D12MA::POOL_DESC']]],
|
||||
['budgetbytes_173',['BudgetBytes',['../struct_d3_d12_m_a_1_1_budget.html#a326515f08d89ee2e31dcfdd5c1e8ac71',1,'D3D12MA::Budget']]]
|
||||
['block_167',['block',['../class_d3_d12_m_a_1_1_allocation.html#a413aec64eba9f4ec57e912511591b3b8',1,'D3D12MA::Allocation']]],
|
||||
['blockbytes_168',['BlockBytes',['../struct_d3_d12_m_a_1_1_budget.html#ad1ad5d8521993cb623255ee1709a1c4c',1,'D3D12MA::Budget']]],
|
||||
['blockcount_169',['BlockCount',['../struct_d3_d12_m_a_1_1_stat_info.html#a8284ef3310c9de1600071285448b62c9',1,'D3D12MA::StatInfo']]],
|
||||
['blocksize_170',['BlockSize',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#af7284cc51a8ed5b551075584256de23c',1,'D3D12MA::POOL_DESC']]],
|
||||
['budgetbytes_171',['BudgetBytes',['../struct_d3_d12_m_a_1_1_budget.html#a326515f08d89ee2e31dcfdd5c1e8ac71',1,'D3D12MA::Budget']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['custompool_174',['CustomPool',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#ab06b85f3cf3254f855b29264477e3934',1,'D3D12MA::ALLOCATION_DESC']]]
|
||||
['custompool_172',['CustomPool',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#ab06b85f3cf3254f855b29264477e3934',1,'D3D12MA::ALLOCATION_DESC']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['extraheapflags_175',['ExtraHeapFlags',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a97878838f976b2d1e6b1a76881035690',1,'D3D12MA::ALLOCATION_DESC']]]
|
||||
['extraheapflags_173',['ExtraHeapFlags',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a97878838f976b2d1e6b1a76881035690',1,'D3D12MA::ALLOCATION_DESC']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['flags_176',['Flags',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a92dec49b788a334fc91c55340dfbace6',1,'D3D12MA::ALLOCATION_DESC::Flags()'],['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ad8abad7c80ea0d8df27c85243ce720f3',1,'D3D12MA::ALLOCATOR_DESC::Flags()']]]
|
||||
['flags_174',['Flags',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a92dec49b788a334fc91c55340dfbace6',1,'D3D12MA::ALLOCATION_DESC::Flags()'],['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ad8abad7c80ea0d8df27c85243ce720f3',1,'D3D12MA::ALLOCATOR_DESC::Flags()']]]
|
||||
];
|
||||
|
@ -1,8 +1,8 @@
|
||||
var searchData=
|
||||
[
|
||||
['heap_177',['heap',['../class_d3_d12_m_a_1_1_allocation.html#a4e7380aabcac5b0a1cd833c5c84459c6',1,'D3D12MA::Allocation']]],
|
||||
['heap_5ftype_5fcount_178',['HEAP_TYPE_COUNT',['../namespace_d3_d12_m_a.html#abad7f40135648f8d0871be36f2919982',1,'D3D12MA']]],
|
||||
['heapflags_179',['HeapFlags',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc',1,'D3D12MA::POOL_DESC']]],
|
||||
['heapproperties_180',['HeapProperties',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a06e06813bcb5206e9f7a8b0564bf1d6a',1,'D3D12MA::POOL_DESC']]],
|
||||
['heaptype_181',['HeapType',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aa46b3c0456e5a23edef3328607ebf4d7',1,'D3D12MA::ALLOCATION_DESC::HeapType()'],['../struct_d3_d12_m_a_1_1_stats.html#a6e433945a118a34f7f6565811e62d718',1,'D3D12MA::Stats::HeapType()']]]
|
||||
['heap_175',['heap',['../class_d3_d12_m_a_1_1_allocation.html#a4e7380aabcac5b0a1cd833c5c84459c6',1,'D3D12MA::Allocation']]],
|
||||
['heap_5ftype_5fcount_176',['HEAP_TYPE_COUNT',['../namespace_d3_d12_m_a.html#abad7f40135648f8d0871be36f2919982',1,'D3D12MA']]],
|
||||
['heapflags_177',['HeapFlags',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc',1,'D3D12MA::POOL_DESC']]],
|
||||
['heapproperties_178',['HeapProperties',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a06e06813bcb5206e9f7a8b0564bf1d6a',1,'D3D12MA::POOL_DESC']]],
|
||||
['heaptype_179',['HeapType',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aa46b3c0456e5a23edef3328607ebf4d7',1,'D3D12MA::ALLOCATION_DESC::HeapType()'],['../struct_d3_d12_m_a_1_1_stats.html#a6e433945a118a34f7f6565811e62d718',1,'D3D12MA::Stats::HeapType()']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['list_182',['list',['../class_d3_d12_m_a_1_1_allocation.html#ab1f59d849add2cdbfbebf4eb98db5c97',1,'D3D12MA::Allocation']]]
|
||||
['list_180',['list',['../class_d3_d12_m_a_1_1_allocation.html#ab1f59d849add2cdbfbebf4eb98db5c97',1,'D3D12MA::Allocation']]]
|
||||
];
|
||||
|
@ -1,9 +1,9 @@
|
||||
var searchData=
|
||||
[
|
||||
['m_5fcommitted_183',['m_Committed',['../class_d3_d12_m_a_1_1_allocation.html#a5b3d5b189021973d9934cbe9f5f266f0',1,'D3D12MA::Allocation']]],
|
||||
['m_5fheap_184',['m_Heap',['../class_d3_d12_m_a_1_1_allocation.html#adc7cf6224b7ca6205d1099a013f40424',1,'D3D12MA::Allocation']]],
|
||||
['m_5fplaced_185',['m_Placed',['../class_d3_d12_m_a_1_1_allocation.html#a35fca5f0b1c5eb46d0bb33cdb7ccc198',1,'D3D12MA::Allocation']]],
|
||||
['maxblockcount_186',['MaxBlockCount',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e',1,'D3D12MA::POOL_DESC']]],
|
||||
['minallocationalignment_187',['MinAllocationAlignment',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a0a6283eeb1f3f99d8c4ae264aec7f749',1,'D3D12MA::POOL_DESC']]],
|
||||
['minblockcount_188',['MinBlockCount',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a6f10db3911a3bea1becfc9a0dfa5bac8',1,'D3D12MA::POOL_DESC']]]
|
||||
['m_5fcommitted_181',['m_Committed',['../class_d3_d12_m_a_1_1_allocation.html#a5b3d5b189021973d9934cbe9f5f266f0',1,'D3D12MA::Allocation']]],
|
||||
['m_5fheap_182',['m_Heap',['../class_d3_d12_m_a_1_1_allocation.html#adc7cf6224b7ca6205d1099a013f40424',1,'D3D12MA::Allocation']]],
|
||||
['m_5fplaced_183',['m_Placed',['../class_d3_d12_m_a_1_1_allocation.html#a35fca5f0b1c5eb46d0bb33cdb7ccc198',1,'D3D12MA::Allocation']]],
|
||||
['maxblockcount_184',['MaxBlockCount',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e',1,'D3D12MA::POOL_DESC']]],
|
||||
['minallocationalignment_185',['MinAllocationAlignment',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a0a6283eeb1f3f99d8c4ae264aec7f749',1,'D3D12MA::POOL_DESC']]],
|
||||
['minblockcount_186',['MinBlockCount',['../struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a6f10db3911a3bea1becfc9a0dfa5bac8',1,'D3D12MA::POOL_DESC']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['next_189',['next',['../class_d3_d12_m_a_1_1_allocation.html#a6f31560bc71451410a2a907b6d81b48f',1,'D3D12MA::Allocation']]]
|
||||
['next_187',['next',['../class_d3_d12_m_a_1_1_allocation.html#a6f31560bc71451410a2a907b6d81b48f',1,'D3D12MA::Allocation']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['offset_190',['offset',['../class_d3_d12_m_a_1_1_allocation.html#a73c55decc2485b907f678d95aac24b6b',1,'D3D12MA::Allocation']]]
|
||||
['offset_188',['offset',['../class_d3_d12_m_a_1_1_allocation.html#a73c55decc2485b907f678d95aac24b6b',1,'D3D12MA::Allocation']]]
|
||||
];
|
||||
|
@ -1,11 +1,11 @@
|
||||
var searchData=
|
||||
[
|
||||
['padapter_191',['pAdapter',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#abf9a9f87f0ffea52816efd363c5fcd7b',1,'D3D12MA::ALLOCATOR_DESC']]],
|
||||
['pallocate_192',['pAllocate',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html#af4d6436455728696fefd503869226436',1,'D3D12MA::ALLOCATION_CALLBACKS']]],
|
||||
['pallocationcallbacks_193',['pAllocationCallbacks',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#a773ecc1945eb47c20e06455c3759e4ef',1,'D3D12MA::ALLOCATOR_DESC::pAllocationCallbacks()'],['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#aa8ea08ad0ee64cb2d29c03b85008317f',1,'D3D12MA::VIRTUAL_BLOCK_DESC::pAllocationCallbacks()']]],
|
||||
['pdevice_194',['pDevice',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ada1bf21205065b3aa0284b5a9ee1cb3c',1,'D3D12MA::ALLOCATOR_DESC']]],
|
||||
['pfree_195',['pFree',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html#a114e6c4d63d6b020e01f526a975d6849',1,'D3D12MA::ALLOCATION_CALLBACKS']]],
|
||||
['preferredblocksize_196',['PreferredBlockSize',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#a97149c9559deae943c2cfa49aeeff8a6',1,'D3D12MA::ALLOCATOR_DESC']]],
|
||||
['prev_197',['prev',['../class_d3_d12_m_a_1_1_allocation.html#adc3ac89758a915a409e047f9b89aa160',1,'D3D12MA::Allocation']]],
|
||||
['puserdata_198',['pUserData',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html#af75391788c1241a06bb0de792c02c335',1,'D3D12MA::ALLOCATION_CALLBACKS::pUserData()'],['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#ab8ec8dd20b4b9dc2aaa79d7da024170b',1,'D3D12MA::VIRTUAL_ALLOCATION_DESC::pUserData()'],['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___i_n_f_o.html#a4b23ad296ab6cd425fb3b6c83c13b4ff',1,'D3D12MA::VIRTUAL_ALLOCATION_INFO::pUserData()']]]
|
||||
['padapter_189',['pAdapter',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#abf9a9f87f0ffea52816efd363c5fcd7b',1,'D3D12MA::ALLOCATOR_DESC']]],
|
||||
['pallocate_190',['pAllocate',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html#af4d6436455728696fefd503869226436',1,'D3D12MA::ALLOCATION_CALLBACKS']]],
|
||||
['pallocationcallbacks_191',['pAllocationCallbacks',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#a773ecc1945eb47c20e06455c3759e4ef',1,'D3D12MA::ALLOCATOR_DESC::pAllocationCallbacks()'],['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#aa8ea08ad0ee64cb2d29c03b85008317f',1,'D3D12MA::VIRTUAL_BLOCK_DESC::pAllocationCallbacks()']]],
|
||||
['pdevice_192',['pDevice',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ada1bf21205065b3aa0284b5a9ee1cb3c',1,'D3D12MA::ALLOCATOR_DESC']]],
|
||||
['pfree_193',['pFree',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html#a114e6c4d63d6b020e01f526a975d6849',1,'D3D12MA::ALLOCATION_CALLBACKS']]],
|
||||
['preferredblocksize_194',['PreferredBlockSize',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#a97149c9559deae943c2cfa49aeeff8a6',1,'D3D12MA::ALLOCATOR_DESC']]],
|
||||
['prev_195',['prev',['../class_d3_d12_m_a_1_1_allocation.html#adc3ac89758a915a409e047f9b89aa160',1,'D3D12MA::Allocation']]],
|
||||
['puserdata_196',['pUserData',['../struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___c_a_l_l_b_a_c_k_s.html#af75391788c1241a06bb0de792c02c335',1,'D3D12MA::ALLOCATION_CALLBACKS::pUserData()'],['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#ab8ec8dd20b4b9dc2aaa79d7da024170b',1,'D3D12MA::VIRTUAL_ALLOCATION_DESC::pUserData()'],['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___i_n_f_o.html#a4b23ad296ab6cd425fb3b6c83c13b4ff',1,'D3D12MA::VIRTUAL_ALLOCATION_INFO::pUserData()']]]
|
||||
];
|
||||
|
@ -1,5 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['size_199',['size',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___i_n_f_o.html#ab8ede12141594a69230afeb34664fc34',1,'D3D12MA::VIRTUAL_ALLOCATION_INFO']]],
|
||||
['size_200',['Size',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#ac56491679f276a5a9956ed99bc4654e4',1,'D3D12MA::VIRTUAL_BLOCK_DESC::Size()'],['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a976b649e45abdd0769da0d79acde4bac',1,'D3D12MA::VIRTUAL_ALLOCATION_DESC::Size()']]]
|
||||
['size_197',['Size',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#ac56491679f276a5a9956ed99bc4654e4',1,'D3D12MA::VIRTUAL_BLOCK_DESC::Size()'],['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a976b649e45abdd0769da0d79acde4bac',1,'D3D12MA::VIRTUAL_ALLOCATION_DESC::Size()']]],
|
||||
['size_198',['size',['../struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___i_n_f_o.html#ab8ede12141594a69230afeb34664fc34',1,'D3D12MA::VIRTUAL_ALLOCATION_INFO']]]
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['total_201',['Total',['../struct_d3_d12_m_a_1_1_stats.html#ada54d9f0385fcdba491adcfd91f29c28',1,'D3D12MA::Stats']]]
|
||||
['total_199',['Total',['../struct_d3_d12_m_a_1_1_stats.html#ada54d9f0385fcdba491adcfd91f29c28',1,'D3D12MA::Stats']]]
|
||||
];
|
||||
|
@ -1,10 +1,10 @@
|
||||
var searchData=
|
||||
[
|
||||
['unusedbytes_202',['UnusedBytes',['../struct_d3_d12_m_a_1_1_stat_info.html#a1df359c2e9ad4c7763122d1ccd86b168',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangecount_203',['UnusedRangeCount',['../struct_d3_d12_m_a_1_1_stat_info.html#adfc245a84fb8fba7936b67bd879ffefb',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizeavg_204',['UnusedRangeSizeAvg',['../struct_d3_d12_m_a_1_1_stat_info.html#a249d7969bf3f836c13a0f111d6ed886d',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizemax_205',['UnusedRangeSizeMax',['../struct_d3_d12_m_a_1_1_stat_info.html#a1337269f8777b6b5176c72ca410fbe36',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizemin_206',['UnusedRangeSizeMin',['../struct_d3_d12_m_a_1_1_stat_info.html#a180be027720ca98ff3a7470e18a79622',1,'D3D12MA::StatInfo']]],
|
||||
['usagebytes_207',['UsageBytes',['../struct_d3_d12_m_a_1_1_budget.html#a77a8c9e32d6602f95b7d1c285cddd253',1,'D3D12MA::Budget']]],
|
||||
['usedbytes_208',['UsedBytes',['../struct_d3_d12_m_a_1_1_stat_info.html#ac4f3379ea88025e4ccf5880fab2699f7',1,'D3D12MA::StatInfo']]]
|
||||
['unusedbytes_200',['UnusedBytes',['../struct_d3_d12_m_a_1_1_stat_info.html#a1df359c2e9ad4c7763122d1ccd86b168',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangecount_201',['UnusedRangeCount',['../struct_d3_d12_m_a_1_1_stat_info.html#adfc245a84fb8fba7936b67bd879ffefb',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizeavg_202',['UnusedRangeSizeAvg',['../struct_d3_d12_m_a_1_1_stat_info.html#a249d7969bf3f836c13a0f111d6ed886d',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizemax_203',['UnusedRangeSizeMax',['../struct_d3_d12_m_a_1_1_stat_info.html#a1337269f8777b6b5176c72ca410fbe36',1,'D3D12MA::StatInfo']]],
|
||||
['unusedrangesizemin_204',['UnusedRangeSizeMin',['../struct_d3_d12_m_a_1_1_stat_info.html#a180be027720ca98ff3a7470e18a79622',1,'D3D12MA::StatInfo']]],
|
||||
['usagebytes_205',['UsageBytes',['../struct_d3_d12_m_a_1_1_budget.html#a77a8c9e32d6602f95b7d1c285cddd253',1,'D3D12MA::Budget']]],
|
||||
['usedbytes_206',['UsedBytes',['../struct_d3_d12_m_a_1_1_stat_info.html#ac4f3379ea88025e4ccf5880fab2699f7',1,'D3D12MA::StatInfo']]]
|
||||
];
|
||||
|
@ -83,10 +83,10 @@ Creating virtual block</h1>
|
||||
<div class="line"> </div>
|
||||
<div class="line"><a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a> *block;</div>
|
||||
<div class="line">HRESULT hr = <a class="code" href="namespace_d3_d12_m_a.html#aefde6264e7a88bebe8e193df343af317">CreateVirtualBlock</a>(&blockDesc, &block);</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a></div><div class="ttdoc">Represents pure allocation algorithm and a data structure with allocations in some memory block,...</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1547</div></div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a></div><div class="ttdoc">Represents pure allocation algorithm and a data structure with allocations in some memory block,...</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1568</div></div>
|
||||
<div class="ttc" id="anamespace_d3_d12_m_a_html_aefde6264e7a88bebe8e193df343af317"><div class="ttname"><a href="namespace_d3_d12_m_a.html#aefde6264e7a88bebe8e193df343af317">D3D12MA::CreateVirtualBlock</a></div><div class="ttdeci">HRESULT CreateVirtualBlock(const VIRTUAL_BLOCK_DESC *pDesc, VirtualBlock **ppVirtualBlock)</div><div class="ttdoc">Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html">D3D12MA::VIRTUAL_BLOCK_DESC</a></div><div class="ttdoc">Parameters of created D3D12MA::VirtualBlock object to be passed to CreateVirtualBlock().</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1489</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c_html_ac56491679f276a5a9956ed99bc4654e4"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#ac56491679f276a5a9956ed99bc4654e4">D3D12MA::VIRTUAL_BLOCK_DESC::Size</a></div><div class="ttdeci">UINT64 Size</div><div class="ttdoc">Total size of the block.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1495</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html">D3D12MA::VIRTUAL_BLOCK_DESC</a></div><div class="ttdoc">Parameters of created D3D12MA::VirtualBlock object to be passed to CreateVirtualBlock().</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1509</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c_html_ac56491679f276a5a9956ed99bc4654e4"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#ac56491679f276a5a9956ed99bc4654e4">D3D12MA::VIRTUAL_BLOCK_DESC::Size</a></div><div class="ttdeci">UINT64 Size</div><div class="ttdoc">Total size of the block.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1515</div></div>
|
||||
</div><!-- fragment --><h1><a class="anchor" id="virtual_allocator_making_virtual_allocations"></a>
|
||||
Making virtual allocations</h1>
|
||||
<p><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html" title="Represents pure allocation algorithm and a data structure with allocations in some memory block,...">D3D12MA::VirtualBlock</a> object contains internal data structure that keeps track of free and occupied regions using the same code as the main D3D12 memory allocator. However, there is no "virtual allocation" object. When you request a new allocation, a <code>UINT64</code> number is returned. It is an offset inside the block where the allocation has been placed, but it also uniquely identifies the allocation within this block.</p>
|
||||
@ -110,16 +110,15 @@ Making virtual allocations</h1>
|
||||
<div class="line"> <span class="comment">// Allocation failed - no space for it could be found. Handle this error!</span></div>
|
||||
<div class="line">}</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_aa57575f1af18461012bde8c4b6f3c56c"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#aa57575f1af18461012bde8c4b6f3c56c">D3D12MA::VirtualBlock::Allocate</a></div><div class="ttdeci">HRESULT Allocate(const VIRTUAL_ALLOCATION_DESC *pDesc, UINT64 *pOffset)</div><div class="ttdoc">Creates new allocation.</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::VIRTUAL_ALLOCATION_DESC</a></div><div class="ttdoc">Parameters of created virtual allocation to be passed to VirtualBlock::Allocate().</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1505</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c_html_a976b649e45abdd0769da0d79acde4bac"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a976b649e45abdd0769da0d79acde4bac">D3D12MA::VIRTUAL_ALLOCATION_DESC::Size</a></div><div class="ttdeci">UINT64 Size</div><div class="ttdoc">Size of the allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1510</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::VIRTUAL_ALLOCATION_DESC</a></div><div class="ttdoc">Parameters of created virtual allocation to be passed to VirtualBlock::Allocate().</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1525</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c_html_a976b649e45abdd0769da0d79acde4bac"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a976b649e45abdd0769da0d79acde4bac">D3D12MA::VIRTUAL_ALLOCATION_DESC::Size</a></div><div class="ttdeci">UINT64 Size</div><div class="ttdoc">Size of the allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1530</div></div>
|
||||
</div><!-- fragment --><h1><a class="anchor" id="virtual_allocator_deallocation"></a>
|
||||
Deallocation</h1>
|
||||
<p>When no longer needed, an allocation can be freed by calling <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a02dfae4c0856f22da885a332de7821fa" title="Frees the allocation at given offset.">D3D12MA::VirtualBlock::FreeAllocation</a>. You can only pass to this function the exact offset that was previously returned by <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#aa57575f1af18461012bde8c4b6f3c56c" title="Creates new allocation.">D3D12MA::VirtualBlock::Allocate</a> and not any other location within the memory.</p>
|
||||
<p>When whole block is no longer needed, the block object can be released by calling <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0" title="Destroys this object and frees it from memory.">D3D12MA::VirtualBlock::Release</a>. All allocations must be freed before the block is destroyed, which is checked internally by an assert. However, if you don't want to call <code>block->FreeAllocation</code> for each allocation, you can use <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189" title="Frees all the allocations.">D3D12MA::VirtualBlock::Clear</a> to free them all at once - a feature not available in normal D3D12 memory allocator. Example:</p>
|
||||
<p>When whole block is no longer needed, the block object can be released by calling D3D12MA::VirtualBlock::Release. All allocations must be freed before the block is destroyed, which is checked internally by an assert. However, if you don't want to call <code>block->FreeAllocation</code> for each allocation, you can use <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189" title="Frees all the allocations.">D3D12MA::VirtualBlock::Clear</a> to free them all at once - a feature not available in normal D3D12 memory allocator. Example:</p>
|
||||
<div class="fragment"><div class="line">block-><a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#a02dfae4c0856f22da885a332de7821fa">FreeAllocation</a>(allocOffset);</div>
|
||||
<div class="line">block-><a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0">Release</a>();</div>
|
||||
<div class="line">block->Release();</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a02dfae4c0856f22da885a332de7821fa"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a02dfae4c0856f22da885a332de7821fa">D3D12MA::VirtualBlock::FreeAllocation</a></div><div class="ttdeci">void FreeAllocation(UINT64 offset)</div><div class="ttdoc">Frees the allocation at given offset.</div></div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a24111ca907ad9efae25cf4858ff6b0b0"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a24111ca907ad9efae25cf4858ff6b0b0">D3D12MA::VirtualBlock::Release</a></div><div class="ttdeci">void Release()</div><div class="ttdoc">Destroys this object and frees it from memory.</div></div>
|
||||
</div><!-- fragment --><h1><a class="anchor" id="virtual_allocator_allocation_parameters"></a>
|
||||
Allocation parameters</h1>
|
||||
<p>You can attach a custom pointer to each allocation by using <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289" title="Changes custom pointer for an allocation at given offset to a new value.">D3D12MA::VirtualBlock::SetAllocationUserData</a>. Its default value is <code>NULL</code>. It can be used to store any data that needs to be associated with that allocation - e.g. an index, a handle, or a pointer to some larger data structure containing more information. Example:</p>
|
||||
@ -147,7 +146,7 @@ Alignment and units</h1>
|
||||
<div class="line"> </div>
|
||||
<div class="line">UINT64 allocOffset;</div>
|
||||
<div class="line">hr = block-><a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#aa57575f1af18461012bde8c4b6f3c56c">Allocate</a>(&allocDesc, &allocOffset);</div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c_html_aaa95e62f2f399339a09dcbb312a42de0"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aaa95e62f2f399339a09dcbb312a42de0">D3D12MA::VIRTUAL_ALLOCATION_DESC::Alignment</a></div><div class="ttdeci">UINT64 Alignment</div><div class="ttdoc">Required alignment of the allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1515</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c_html_aaa95e62f2f399339a09dcbb312a42de0"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aaa95e62f2f399339a09dcbb312a42de0">D3D12MA::VIRTUAL_ALLOCATION_DESC::Alignment</a></div><div class="ttdeci">UINT64 Alignment</div><div class="ttdoc">Required alignment of the allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1535</div></div>
|
||||
</div><!-- fragment --><p>Alignments of different allocations made from one block may vary. However, if all alignments and sizes are always multiply of some size e.g. 4 B or <code>sizeof(MyDataStruct)</code>, you can express all sizes, alignments, and offsets in multiples of that size instead of individual bytes. It might be more convenient, but you need to make sure to use this new unit consistently in all the places:</p>
|
||||
<ul>
|
||||
<li><a class="el" href="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#ac56491679f276a5a9956ed99bc4654e4" title="Total size of the block.">D3D12MA::VIRTUAL_BLOCK_DESC::Size</a></li>
|
||||
@ -162,9 +161,9 @@ Statistics</h1>
|
||||
<div class="line">printf(<span class="stringliteral">"My virtual block has %llu bytes used by %u virtual allocations\n"</span>,</div>
|
||||
<div class="line"> statInfo.<a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#ac4f3379ea88025e4ccf5880fab2699f7">UsedBytes</a>, statInfo.<a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#a2f50de812e296b71594174ff67bbac6e">AllocationCount</a>);</div>
|
||||
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a039ee8426818d0126cf7f44c1c658526"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a039ee8426818d0126cf7f44c1c658526">D3D12MA::VirtualBlock::CalculateStats</a></div><div class="ttdeci">void CalculateStats(StatInfo *pInfo) const</div><div class="ttdoc">Retrieves statistics from the current state of the block.</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html">D3D12MA::StatInfo</a></div><div class="ttdoc">Calculated statistics of memory usage in entire allocator.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1183</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_a2f50de812e296b71594174ff67bbac6e"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#a2f50de812e296b71594174ff67bbac6e">D3D12MA::StatInfo::AllocationCount</a></div><div class="ttdeci">UINT AllocationCount</div><div class="ttdoc">Number of D3D12MA::Allocation objects allocated.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1187</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_ac4f3379ea88025e4ccf5880fab2699f7"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#ac4f3379ea88025e4ccf5880fab2699f7">D3D12MA::StatInfo::UsedBytes</a></div><div class="ttdeci">UINT64 UsedBytes</div><div class="ttdoc">Total number of bytes occupied by all allocations.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1191</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html">D3D12MA::StatInfo</a></div><div class="ttdoc">Calculated statistics of memory usage in entire allocator.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1207</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_a2f50de812e296b71594174ff67bbac6e"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#a2f50de812e296b71594174ff67bbac6e">D3D12MA::StatInfo::AllocationCount</a></div><div class="ttdeci">UINT AllocationCount</div><div class="ttdoc">Number of D3D12MA::Allocation objects allocated.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1211</div></div>
|
||||
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_ac4f3379ea88025e4ccf5880fab2699f7"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#ac4f3379ea88025e4ccf5880fab2699f7">D3D12MA::StatInfo::UsedBytes</a></div><div class="ttdeci">UINT64 UsedBytes</div><div class="ttdoc">Total number of bytes occupied by all allocations.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1215</div></div>
|
||||
</div><!-- fragment --><p>You can also request a full list of allocations and free regions as a string in JSON format by calling <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a828a27070bfa762cae796d4c8f2ef703" title="Builds and returns statistics as a string in JSON format, including the list of allocations with thei...">D3D12MA::VirtualBlock::BuildStatsString</a>. Returned string must be later freed using <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a6f78ddaa7da194e239089e52093e68a9" title="Frees memory of a string returned from VirtualBlock::BuildStatsString.">D3D12MA::VirtualBlock::FreeStatsString</a>. The format of this string may differ from the one returned by the main D3D12 allocator, but it is similar.</p>
|
||||
<h1><a class="anchor" id="virtual_allocator_additional_considerations"></a>
|
||||
Additional considerations</h1>
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
/** \mainpage D3D12 Memory Allocator
|
||||
|
||||
<b>Version 2.0.0-development</b> (2021-06-18)
|
||||
<b>Version 2.0.0-development</b> (2021-07-26)
|
||||
|
||||
Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved. \n
|
||||
License: MIT
|
||||
@ -59,7 +59,7 @@ Documentation of all members: D3D12MemAlloc.h
|
||||
\section quick_start_project_setup Project setup and initialization
|
||||
|
||||
This is a small, standalone C++ library. It consists of a pair of 2 files:
|
||||
"%D3D12MemAlloc.h" header file with public interface and "D3D12MemAlloc.cpp" with
|
||||
"D3D12MemAlloc.h" header file with public interface and "D3D12MemAlloc.cpp" with
|
||||
internal implementation. The only external dependencies are WinAPI, Direct3D 12,
|
||||
and parts of C/C++ standard library (but STL containers, exceptions, or RTTI are
|
||||
not used).
|
||||
@ -99,8 +99,12 @@ HRESULT hr = D3D12MA::CreateAllocator(&allocatorDesc, &allocator);
|
||||
|
||||
(5.) Right before destroying the D3D12 device, destroy the allocator object.
|
||||
|
||||
Please note that objects of this library must be destroyed by calling `Release`
|
||||
method (despite they are not COM interfaces and no reference counting is involved).
|
||||
Objects of this library must be destroyed by calling `Release` method.
|
||||
They are somewhat compatible with COM: they implement `IUnknown` interface with its virtual methods: `AddRef`, `Release`, `QueryInterface`,
|
||||
and they are reference-counted internally.
|
||||
You can use smart pointers designed for COM with objects of this library - e.g. `CComPtr` or `Microsoft::WRL::ComPtr`.
|
||||
The reference counter is thread-safe.
|
||||
`QueryInterface` method supports only `IUnknown`, as classes of this library don't define their own GUIDs.
|
||||
|
||||
\code
|
||||
allocator->Release();
|
||||
@ -1275,7 +1279,7 @@ struct Budget
|
||||
\brief Represents main object of this library initialized for particular `ID3D12Device`.
|
||||
|
||||
Fill structure D3D12MA::ALLOCATOR_DESC and call function CreateAllocator() to create it.
|
||||
Call method Allocator::Release to destroy it.
|
||||
Call method `Release()` to destroy it.
|
||||
|
||||
It is recommended to create just one object of this type per `ID3D12Device` object,
|
||||
right after Direct3D 12 is initialized and keep it alive until before Direct3D device is destroyed.
|
||||
@ -1557,7 +1561,7 @@ This class allows to use the core algorithm of the library custom allocations e.
|
||||
sub-allocation regions inside a single GPU buffer.
|
||||
|
||||
To create this object, fill in D3D12MA::VIRTUAL_BLOCK_DESC and call CreateVirtualBlock().
|
||||
To destroy it, call its method VirtualBlock::Release().
|
||||
To destroy it, call its method `VirtualBlock::Release()`.
|
||||
You need to free all the allocations within this block or call Clear() before destroying it.
|
||||
*/
|
||||
class VirtualBlock : public IUnknownImpl
|
||||
|
@ -2201,7 +2201,7 @@ INCLUDE_FILE_PATTERNS =
|
||||
# recursively expanded use the := operator instead of the = operator.
|
||||
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
|
||||
|
||||
PREDEFINED = __ID3D12Device4_INTERFACE_DEFINED__ __ID3D12Device8_INTERFACE_DEFINED__
|
||||
PREDEFINED = __ID3D12Device4_INTERFACE_DEFINED__ __ID3D12Device8_INTERFACE_DEFINED__ protected=private
|
||||
|
||||
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
|
||||
# tag can be used to specify a list of macro names that should be expanded. The
|
||||
|
Loading…
Reference in New Issue
Block a user