Merge pull request #80 from sawickiap/master
Miscellaneous minor fixes
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 40a45d8..831d43f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.25)
-project(D3D12MemoryAllocator VERSION 3.0.1)
+project(D3D12MemoryAllocator VERSION 3.0.2)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
diff --git a/README.md b/README.md
index 053d0a7..87964cc 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
**Changelog:** See [CHANGELOG.md](CHANGELOG.md)
-**Product page:** [D3D12 Memory Allocator on GPUOpen](https://gpuopen.com/gaming-product/d3d12-memory-allocator/)
+**Product page:** [D3D12 Memory Allocator on GPUOpen](https://gpuopen.com/d3d12-memory-allocator/)
[](http://isitmaintained.com/project/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator "Average time to resolve an issue")
diff --git a/docs/html/_d3_d12_mem_alloc_8h.html b/docs/html/_d3_d12_mem_alloc_8h.html
index dea8ef7..99d4b5a 100644
--- a/docs/html/_d3_d12_mem_alloc_8h.html
+++ b/docs/html/_d3_d12_mem_alloc_8h.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: C:/Code/D3D12MemoryAllocator/REPO/include/D3D12MemAlloc.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
+<li class="navelem"><a href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -101,123 +88,88 @@
<div class="textblock"><code>#include <d3d12.h></code><br />
<code>#include <dxgi1_4.h></code><br />
</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::ALLOCATION_CALLBACKS</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3AALLOCATION_5FCALLBACKS" id="r_D3D12MA_3A_3AALLOCATION_5FCALLBACKS"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::ALLOCATION_CALLBACKS</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Custom callbacks to CPU memory allocation functions. <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#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::ALLOCATION_DESC</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3AALLOCATION_5FDESC" id="r_D3D12MA_3A_3AALLOCATION_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::ALLOCATION_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">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>. <a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">D3D12MA::Statistics</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3AStatistics" id="r_D3D12MA_3A_3AStatistics"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">D3D12MA::Statistics</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Calculated statistics of memory usage e.g. in a specific memory heap type, memory segment group, custom pool, or total. <a href="struct_d3_d12_m_a_1_1_statistics.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">D3D12MA::DetailedStatistics</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ADetailedStatistics" id="r_D3D12MA_3A_3ADetailedStatistics"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">D3D12MA::DetailedStatistics</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">More detailed statistics than <a class="el" href="struct_d3_d12_m_a_1_1_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory heap type, memory segment group,...">D3D12MA::Statistics</a>. <a href="struct_d3_d12_m_a_1_1_detailed_statistics.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_total_statistics.html">D3D12MA::TotalStatistics</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ATotalStatistics" id="r_D3D12MA_3A_3ATotalStatistics"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_total_statistics.html">D3D12MA::TotalStatistics</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">General statistics from current state of the allocator - total memory usage across all memory heaps and segments. <a href="struct_d3_d12_m_a_1_1_total_statistics.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_budget.html">D3D12MA::Budget</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ABudget" id="r_D3D12MA_3A_3ABudget"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_budget.html">D3D12MA::Budget</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Statistics of current memory usage and available budget for a specific memory segment group. <a href="struct_d3_d12_m_a_1_1_budget.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html">D3D12MA::VirtualAllocation</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3AVirtualAllocation" id="r_D3D12MA_3A_3AVirtualAllocation"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html">D3D12MA::VirtualAllocation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents single memory allocation done inside <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,...">VirtualBlock</a>. <a href="struct_d3_d12_m_a_1_1_virtual_allocation.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3AAllocation" id="r_D3D12MA_3A_3AAllocation"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents single memory allocation. <a href="class_d3_d12_m_a_1_1_allocation.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">D3D12MA::DEFRAGMENTATION_DESC</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ADEFRAGMENTATION_5FDESC" id="r_D3D12MA_3A_3ADEFRAGMENTATION_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">D3D12MA::DEFRAGMENTATION_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parameters for defragmentation. <a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html">D3D12MA::DEFRAGMENTATION_MOVE</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ADEFRAGMENTATION_5FMOVE" id="r_D3D12MA_3A_3ADEFRAGMENTATION_5FMOVE"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html">D3D12MA::DEFRAGMENTATION_MOVE</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Single move of an allocation to be done for defragmentation. <a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">D3D12MA::DEFRAGMENTATION_PASS_MOVE_INFO</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ADEFRAGMENTATION_5FPASS_5FMOVE_5FINFO" id="r_D3D12MA_3A_3ADEFRAGMENTATION_5FPASS_5FMOVE_5FINFO"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">D3D12MA::DEFRAGMENTATION_PASS_MOVE_INFO</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parameters for incremental defragmentation steps. <a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html">D3D12MA::DEFRAGMENTATION_STATS</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ADEFRAGMENTATION_5FSTATS" id="r_D3D12MA_3A_3ADEFRAGMENTATION_5FSTATS"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html">D3D12MA::DEFRAGMENTATION_STATS</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Statistics returned for defragmentation process by function <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1c21c26f47dcbf8f4e562063a3e25f38" title="Returns statistics of the defragmentation performed so far.">DefragmentationContext::GetStats()</a>. <a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html">D3D12MA::DefragmentationContext</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ADefragmentationContext" id="r_D3D12MA_3A_3ADefragmentationContext"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html">D3D12MA::DefragmentationContext</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents defragmentation process in progress. <a href="class_d3_d12_m_a_1_1_defragmentation_context.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">D3D12MA::POOL_DESC</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3APOOL_5FDESC" id="r_D3D12MA_3A_3APOOL_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">D3D12MA::POOL_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">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>. <a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">D3D12MA::Pool</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3APool" id="r_D3D12MA_3A_3APool"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">D3D12MA::Pool</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Custom memory pool. <a href="class_d3_d12_m_a_1_1_pool.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::ALLOCATOR_DESC</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3AALLOCATOR_5FDESC" id="r_D3D12MA_3A_3AALLOCATOR_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::ALLOCATOR_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">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#ab7a1cd1683986d75ce1488b0920f4cb0" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">CreateAllocator()</a>. <a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents main object of this library initialized for particular <code>ID3D12Device</code>. <a href="class_d3_d12_m_a_1_1_allocator.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::VIRTUAL_BLOCK_DESC</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3AAllocator" id="r_D3D12MA_3A_3AAllocator"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents main object of this library initialized for particular <span class="tt">ID3D12Device</span>. <a href="class_d3_d12_m_a_1_1_allocator.html#details">More...</a><br /></td></tr>
+<tr class="memitem:D3D12MA_3A_3AVIRTUAL_5FBLOCK_5FDESC" id="r_D3D12MA_3A_3AVIRTUAL_5FBLOCK_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::VIRTUAL_BLOCK_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">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#ab024647ae85ee63e2fa2c1c4beac6d98" title="Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.">CreateVirtualBlock()</a>. <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#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::VIRTUAL_ALLOCATION_DESC</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3AVIRTUAL_5FALLOCATION_5FDESC" id="r_D3D12MA_3A_3AVIRTUAL_5FALLOCATION_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::VIRTUAL_ALLOCATION_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parameters of created virtual allocation to be passed to <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a9281daf76e888ea1bd5247d5732e8179" title="Creates new allocation.">VirtualBlock::Allocate()</a>. <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#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::VIRTUAL_ALLOCATION_INFO</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3AVIRTUAL_5FALLOCATION_5FINFO" id="r_D3D12MA_3A_3AVIRTUAL_5FALLOCATION_5FINFO"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">D3D12MA::VIRTUAL_ALLOCATION_INFO</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parameters of an existing virtual allocation, returned by <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ac605dce05ca0d411e46079f0bad765d1" title="Returns information about an allocation - its offset, size and custom pointer.">VirtualBlock::GetAllocationInfo()</a>. <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___i_n_f_o.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3AVirtualBlock" id="r_D3D12MA_3A_3AVirtualBlock"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">D3D12MA::VirtualBlock</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents pure allocation algorithm and a data structure with allocations in some memory block, without actually allocating any GPU memory. <a href="class_d3_d12_m_a_1_1_virtual_block.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::CALLOCATION_DESC</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ACALLOCATION_5FDESC" id="r_D3D12MA_3A_3ACALLOCATION_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::CALLOCATION_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper structure that helps with complete and conscise initialization of the <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" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.">D3D12MA::ALLOCATION_DESC</a> structure. <a href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html">D3D12MA::CPOOL_DESC</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ACPOOL_5FDESC" id="r_D3D12MA_3A_3ACPOOL_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html">D3D12MA::CPOOL_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper structure that helps with complete and conscise initialization of the <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html" title="Parameters of created D3D12MA::Pool object. To be used with D3D12MA::Allocator::CreatePool.">D3D12MA::POOL_DESC</a> structure. <a href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html">D3D12MA::CVIRTUAL_BLOCK_DESC</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ACVIRTUAL_5FBLOCK_5FDESC" id="r_D3D12MA_3A_3ACVIRTUAL_5FBLOCK_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html">D3D12MA::CVIRTUAL_BLOCK_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper structure that helps with complete and conscise initialization of the <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> structure. <a href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::CVIRTUAL_ALLOCATION_DESC</a></td></tr>
+<tr class="memitem:D3D12MA_3A_3ACVIRTUAL_5FALLOCATION_5FDESC" id="r_D3D12MA_3A_3ACVIRTUAL_5FALLOCATION_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::CVIRTUAL_ALLOCATION_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper structure that helps with complete and conscise initialization of the <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" title="Parameters of created virtual allocation to be passed to VirtualBlock::Allocate().">D3D12MA::VIRTUAL_ALLOCATION_DESC</a> structure. <a href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-namespaces" class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:D3D12MA" id="r_D3D12MA"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aa623643886b8481adb32017e5c748b50" id="r_aa623643886b8481adb32017e5c748b50"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa623643886b8481adb32017e5c748b50">D3D12MA_DXGI_1_4</a>   1</td></tr>
-<tr class="memdesc:aa623643886b8481adb32017e5c748b50"><td class="mdescLeft"> </td><td class="mdescRight">Define this macro to 0 to disable usage of DXGI 1.4 (which is used for <code>IDXGIAdapter3</code> and query for memory budget). <br /></td></tr>
-<tr class="separator:aa623643886b8481adb32017e5c748b50"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:aa623643886b8481adb32017e5c748b50"><td class="mdescLeft"> </td><td class="mdescRight">Define this macro to 0 to disable usage of DXGI 1.4 (which is used for <span class="tt">IDXGIAdapter3</span> and query for memory budget). <br /></td></tr>
<tr class="memitem:a6df70df4d9e792713418dd4062b07c3a" id="r_a6df70df4d9e792713418dd4062b07c3a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6df70df4d9e792713418dd4062b07c3a">D3D12MA_CREATE_NOT_ZEROED_AVAILABLE</a>   1</td></tr>
-<tr class="memdesc:a6df70df4d9e792713418dd4062b07c3a"><td class="mdescLeft"> </td><td class="mdescRight">This macro is defined to 0 or 1 automatically. Define it to 0 to disable support for <code>D3D12_HEAP_FLAG_CREATE_NOT_ZEROED</code>. <br /></td></tr>
-<tr class="separator:a6df70df4d9e792713418dd4062b07c3a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a6df70df4d9e792713418dd4062b07c3a"><td class="mdescLeft"> </td><td class="mdescRight">This macro is defined to 0 or 1 automatically. Define it to 0 to disable support for <span class="tt">D3D12_HEAP_FLAG_CREATE_NOT_ZEROED</span>. <br /></td></tr>
<tr class="memitem:ad04069a2e2bbc53b7d65f85a04a2dcbc" id="r_ad04069a2e2bbc53b7d65f85a04a2dcbc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad04069a2e2bbc53b7d65f85a04a2dcbc">D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT</a>   1</td></tr>
-<tr class="memdesc:ad04069a2e2bbc53b7d65f85a04a2dcbc"><td class="mdescLeft"> </td><td class="mdescRight">When defined to value other than 0, the library will try to use <code>D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT</code> or <code>D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT</code> for created textures when possible, which can save memory because some small textures may get their alignment 4 KB and their size a multiply of 4 KB instead of 64 KB. <br /></td></tr>
-<tr class="separator:ad04069a2e2bbc53b7d65f85a04a2dcbc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:ad04069a2e2bbc53b7d65f85a04a2dcbc"><td class="mdescLeft"> </td><td class="mdescRight">When defined to value other than 0, the library will try to use <span class="tt">D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT</span> or <span class="tt">D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT</span> for created textures when possible, which can save memory because some small textures may get their alignment 4 KB and their size a multiply of 4 KB instead of 64 KB. <br /></td></tr>
<tr class="memitem:accfbeae642feeacf353ce695e91a5e73" id="r_accfbeae642feeacf353ce695e91a5e73"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#accfbeae642feeacf353ce695e91a5e73">D3D12MA_RECOMMENDED_ALLOCATOR_FLAGS</a>   (<a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916ae7dc7ab9168148281ebfe1586f554335">D3D12MA::ALLOCATOR_FLAG_DEFAULT_POOLS_NOT_ZEROED</a> | <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916adfbfd20d716f2a46f74d6226056fef1e">D3D12MA::ALLOCATOR_FLAG_MSAA_TEXTURES_ALWAYS_COMMITTED</a>)</td></tr>
<tr class="memdesc:accfbeae642feeacf353ce695e91a5e73"><td class="mdescLeft"> </td><td class="mdescRight">Set of flags recommended for use in <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#ad8abad7c80ea0d8df27c85243ce720f3" title="Flags for the entire allocator.">D3D12MA::ALLOCATOR_DESC::Flags</a> for optimal performance. <br /></td></tr>
-<tr class="separator:accfbeae642feeacf353ce695e91a5e73"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac3d50f134ad24c58df4a934b87847653" id="r_ac3d50f134ad24c58df4a934b87847653"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac3d50f134ad24c58df4a934b87847653">D3D12MA_RECOMMENDED_HEAP_FLAGS</a>   (D3D12_HEAP_FLAG_NONE)</td></tr>
<tr class="memdesc:ac3d50f134ad24c58df4a934b87847653"><td class="mdescLeft"> </td><td class="mdescRight">Set of flags recommended for use in <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc" title="Heap flags to be used when allocating heaps of this pool.">D3D12MA::POOL_DESC::HeapFlags</a> for optimal performance. <br /></td></tr>
-<tr class="separator:ac3d50f134ad24c58df4a934b87847653"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2679d8c9f6d900168bb45450bc88998b" id="r_a2679d8c9f6d900168bb45450bc88998b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2679d8c9f6d900168bb45450bc88998b">D3D12MA_RECOMMENDED_POOL_FLAGS</a>   (<a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1acc379a89755438c0f76667783b778baa">D3D12MA::POOL_FLAG_MSAA_TEXTURES_ALWAYS_COMMITTED</a>)</td></tr>
<tr class="memdesc:a2679d8c9f6d900168bb45450bc88998b"><td class="mdescLeft"> </td><td class="mdescRight">Set of flags recommended for use in <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#ac4ed93b0191344d68c0b4ac1a4822ff4" title="Flags for the heap.">D3D12MA::POOL_DESC::Flags</a> for optimal performance. <br /></td></tr>
-<tr class="separator:a2679d8c9f6d900168bb45450bc88998b"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a15e349adce86a40e0417d405aef1af80" id="r_a15e349adce86a40e0417d405aef1af80"><td class="memItemLeft" align="right" valign="top">typedef UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#a15e349adce86a40e0417d405aef1af80">D3D12MA::AllocHandle</a></td></tr>
<tr class="memdesc:a15e349adce86a40e0417d405aef1af80"><td class="mdescLeft"> </td><td class="mdescRight">Unique identifier of single allocation done inside the memory heap. <br /></td></tr>
-<tr class="separator:a15e349adce86a40e0417d405aef1af80"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad998d40b4601b84dbc538694b1faf4d5" id="r_ad998d40b4601b84dbc538694b1faf4d5"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#ad998d40b4601b84dbc538694b1faf4d5">D3D12MA::ALLOCATE_FUNC_PTR</a> = void* (*)(size_t Size, size_t Alignment, void* pPrivateData)</td></tr>
<tr class="memdesc:ad998d40b4601b84dbc538694b1faf4d5"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to custom callback function that allocates CPU memory. <br /></td></tr>
-<tr class="separator:ad998d40b4601b84dbc538694b1faf4d5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7c61f55eeb64451cb0c08c0461bbe1a3" id="r_a7c61f55eeb64451cb0c08c0461bbe1a3"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#a7c61f55eeb64451cb0c08c0461bbe1a3">D3D12MA::FREE_FUNC_PTR</a> = void (*)(void* pMemory, void* pPrivateData)</td></tr>
<tr class="memdesc:a7c61f55eeb64451cb0c08c0461bbe1a3"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to custom callback function that deallocates CPU memory. <br /></td></tr>
-<tr class="separator:a7c61f55eeb64451cb0c08c0461bbe1a3"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:abbad31a7e0b3d09d77f3fb704b77645e" id="r_abbad31a7e0b3d09d77f3fb704b77645e"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">D3D12MA::ALLOCATION_FLAGS</a> { <br />
  <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea0bf578b096d6ea73cea86b031541733e">D3D12MA::ALLOCATION_FLAG_NONE</a> = 0
@@ -237,20 +189,17 @@
<br />
}</td></tr>
<tr class="memdesc:abbad31a7e0b3d09d77f3fb704b77645e"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with ALLOCATION_DESC::Flags. <a href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">More...</a><br /></td></tr>
-<tr class="separator:abbad31a7e0b3d09d77f3fb704b77645e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab433989212ee6736bf9d63c5bc565df4" id="r_ab433989212ee6736bf9d63c5bc565df4"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4">D3D12MA::DEFRAGMENTATION_FLAGS</a> { <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4a9d0301a81136ca79e3ba52542c6d2e13">D3D12MA::DEFRAGMENTATION_FLAG_ALGORITHM_FAST</a> = 0x1
, <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4ace3a84861ed6a1b8066fa9c12c7e89b9">D3D12MA::DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED</a> = 0x2
, <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4af205647f08a5c2cddced83ed66892467">D3D12MA::DEFRAGMENTATION_FLAG_ALGORITHM_FULL</a> = 0x4
, <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4a567e0fe890cc07d8dd6576584e8d9f2d">D3D12MA::DEFRAGMENTATION_FLAG_ALGORITHM_MASK</a>
}</td></tr>
<tr class="memdesc:ab433989212ee6736bf9d63c5bc565df4"><td class="mdescLeft"> </td><td class="mdescRight">Flags to be passed as DEFRAGMENTATION_DESC::Flags. <a href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4">More...</a><br /></td></tr>
-<tr class="separator:ab433989212ee6736bf9d63c5bc565df4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a82bb787a69699a877b4166789a30e602" id="r_a82bb787a69699a877b4166789a30e602"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION</a> { <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_COPY</a> = 0
, <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_IGNORE</a> = 1
, <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_DESTROY</a> = 2
}</td></tr>
<tr class="memdesc:a82bb787a69699a877b4166789a30e602"><td class="mdescLeft"> </td><td class="mdescRight">Operation performed on single defragmentation move. <a href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602">More...</a><br /></td></tr>
-<tr class="separator:a82bb787a69699a877b4166789a30e602"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a919d8545365d6b7209a964f2b99936d1" id="r_a919d8545365d6b7209a964f2b99936d1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1">D3D12MA::POOL_FLAGS</a> { <br />
  <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1a5d8dc91add3423140809a550c7224d02">D3D12MA::POOL_FLAG_NONE</a> = 0
, <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1aa37a0103f511954ea42a1d0bba286b6a">D3D12MA::POOL_FLAG_ALGORITHM_LINEAR</a> = 0x1
@@ -261,7 +210,6 @@
<br />
}</td></tr>
<tr class="memdesc:a919d8545365d6b7209a964f2b99936d1"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with POOL_DESC::Flags. <a href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1">More...</a><br /></td></tr>
-<tr class="separator:a919d8545365d6b7209a964f2b99936d1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad5ae5a5e42b878f2e18ab5d1fbfb9916" id="r_ad5ae5a5e42b878f2e18ab5d1fbfb9916"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916">D3D12MA::ALLOCATOR_FLAGS</a> { <br />
  <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a2fb30967b492c27823a80b5de3aea26f">D3D12MA::ALLOCATOR_FLAG_NONE</a> = 0
, <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a1b06bb21df006f76a9ed1bc41838bc52">D3D12MA::ALLOCATOR_FLAG_SINGLETHREADED</a> = 0x1
@@ -273,13 +221,11 @@
<br />
}</td></tr>
<tr class="memdesc:ad5ae5a5e42b878f2e18ab5d1fbfb9916"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with ALLOCATOR_DESC::Flags. <a href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916">More...</a><br /></td></tr>
-<tr class="separator:ad5ae5a5e42b878f2e18ab5d1fbfb9916"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a578329923a103be086ac52e3bed2085d" id="r_a578329923a103be086ac52e3bed2085d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085d">D3D12MA::VIRTUAL_BLOCK_FLAGS</a> { <a class="el" href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085dafc882884f8bacd5cab3087567df8c53d">D3D12MA::VIRTUAL_BLOCK_FLAG_NONE</a> = 0
, <a class="el" href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085dabd9968af113acc9a756254ab9f1dc13d">D3D12MA::VIRTUAL_BLOCK_FLAG_ALGORITHM_LINEAR</a> = POOL_FLAG_ALGORITHM_LINEAR
, <a class="el" href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085da0fee243cbf2902a68123ac85caa21e3e">D3D12MA::VIRTUAL_BLOCK_FLAG_ALGORITHM_MASK</a> = POOL_FLAG_ALGORITHM_MASK
}</td></tr>
<tr class="memdesc:a578329923a103be086ac52e3bed2085d"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with VIRTUAL_BLOCK_DESC::Flags. <a href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085d">More...</a><br /></td></tr>
-<tr class="separator:a578329923a103be086ac52e3bed2085d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7e4152ccaf661f5398b24a23cbe9ae72" id="r_a7e4152ccaf661f5398b24a23cbe9ae72"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72">D3D12MA::VIRTUAL_ALLOCATION_FLAGS</a> { <br />
  <a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72a03576295004dec9dc8f99a895d232027">D3D12MA::VIRTUAL_ALLOCATION_FLAG_NONE</a> = 0
, <a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72a86beebcb80a1a10cb5525e2c9ed1435e">D3D12MA::VIRTUAL_ALLOCATION_FLAG_UPPER_ADDRESS</a> = ALLOCATION_FLAG_UPPER_ADDRESS
@@ -291,18 +237,15 @@
<br />
}</td></tr>
<tr class="memdesc:a7e4152ccaf661f5398b24a23cbe9ae72"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with VIRTUAL_ALLOCATION_DESC::Flags. <a href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72">More...</a><br /></td></tr>
-<tr class="separator:a7e4152ccaf661f5398b24a23cbe9ae72"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab7a1cd1683986d75ce1488b0920f4cb0" id="r_ab7a1cd1683986d75ce1488b0920f4cb0"><td class="memItemLeft" align="right" valign="top">D3D12MA_API HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#ab7a1cd1683986d75ce1488b0920f4cb0">D3D12MA::CreateAllocator</a> (const <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">ALLOCATOR_DESC</a> *pDesc, <a class="el" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a> **ppAllocator)</td></tr>
-<tr class="memdesc:ab7a1cd1683986d75ce1488b0920f4cb0"><td class="mdescLeft"> </td><td class="mdescRight">Creates new main <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> object and returns it through <code>ppAllocator</code>. <br /></td></tr>
-<tr class="separator:ab7a1cd1683986d75ce1488b0920f4cb0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:ab7a1cd1683986d75ce1488b0920f4cb0"><td class="mdescLeft"> </td><td class="mdescRight">Creates new main <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> object and returns it through <span class="tt">ppAllocator</span>. <br /></td></tr>
<tr class="memitem:ab024647ae85ee63e2fa2c1c4beac6d98" id="r_ab024647ae85ee63e2fa2c1c4beac6d98"><td class="memItemLeft" align="right" valign="top">D3D12MA_API HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#ab024647ae85ee63e2fa2c1c4beac6d98">D3D12MA::CreateVirtualBlock</a> (const <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">VIRTUAL_BLOCK_DESC</a> *pDesc, <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a> **ppVirtualBlock)</td></tr>
-<tr class="memdesc:ab024647ae85ee63e2fa2c1c4beac6d98"><td class="mdescLeft"> </td><td class="mdescRight">Creates new <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 and returns it through <code>ppVirtualBlock</code>. <br /></td></tr>
-<tr class="separator:ab024647ae85ee63e2fa2c1c4beac6d98"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:ab024647ae85ee63e2fa2c1c4beac6d98"><td class="mdescLeft"> </td><td class="mdescRight">Creates new <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 and returns it through <span class="tt">ppVirtualBlock</span>. <br /></td></tr>
</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
+<a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
<a id="a6df70df4d9e792713418dd4062b07c3a" name="a6df70df4d9e792713418dd4062b07c3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6df70df4d9e792713418dd4062b07c3a">◆ </a></span>D3D12MA_CREATE_NOT_ZEROED_AVAILABLE</h2>
@@ -315,7 +258,7 @@
</table>
</div><div class="memdoc">
-<p>This macro is defined to 0 or 1 automatically. Define it to 0 to disable support for <code>D3D12_HEAP_FLAG_CREATE_NOT_ZEROED</code>. </p>
+<p>This macro is defined to 0 or 1 automatically. Define it to 0 to disable support for <span class="tt">D3D12_HEAP_FLAG_CREATE_NOT_ZEROED</span>. </p>
</div>
</div>
@@ -331,7 +274,7 @@
</table>
</div><div class="memdoc">
-<p>Define this macro to 0 to disable usage of DXGI 1.4 (which is used for <code>IDXGIAdapter3</code> and query for memory budget). </p>
+<p>Define this macro to 0 to disable usage of DXGI 1.4 (which is used for <span class="tt">IDXGIAdapter3</span> and query for memory budget). </p>
</div>
</div>
@@ -395,11 +338,11 @@
</table>
</div><div class="memdoc">
-<p>When defined to value other than 0, the library will try to use <code>D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT</code> or <code>D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT</code> for created textures when possible, which can save memory because some small textures may get their alignment 4 KB and their size a multiply of 4 KB instead of 64 KB. </p>
+<p>When defined to value other than 0, the library will try to use <span class="tt">D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT</span> or <span class="tt">D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT</span> for created textures when possible, which can save memory because some small textures may get their alignment 4 KB and their size a multiply of 4 KB instead of 64 KB. </p>
<ul>
-<li><code>#define D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT 0</code> - Disables small texture alignment.</li>
-<li><code>#define D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT 1</code> (the default) - Enables conservative algorithm that will use small alignment only for some textures that are surely known to support it.</li>
-<li><code>#define D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT 2</code> - Enables query for small alignment to D3D12 (based on Microsoft sample) which will enable small alignment for more textures, but will also generate D3D Debug Layer error #721 on call to <code>ID3D12Device::GetResourceAllocationInfo</code>, which you should just ignore. </li>
+<li><span class="tt">#define D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT 0</span> - Disables small texture alignment.</li>
+<li><span class="tt">#define D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT 1</span> (the default) - Enables conservative algorithm that will use small alignment only for some textures that are surely known to support it.</li>
+<li><span class="tt">#define D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT 2</span> - Enables query for small alignment to D3D12 (based on Microsoft sample) which will enable small alignment for more textures, but will also generate D3D Debug Layer error #721 on call to <span class="tt">ID3D12Device::GetResourceAllocationInfo</span>, which you should just ignore. </li>
</ul>
</div>
@@ -407,7 +350,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/annotated.html b/docs/html/annotated.html
index 224e416..1566741 100644
--- a/docs/html/annotated.html
+++ b/docs/html/annotated.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Class List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -89,11 +76,11 @@
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.toggleLevel(2);">2</span>]</div><table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_d3_d12_m_a.html" target="_self">D3D12MA</a></td><td class="desc"></td></tr>
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')"><span class="arrowhead opened"></span></span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_d3_d12_m_a.html" target="_self">D3D12MA</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><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">Allocation</a></td><td class="desc">Represents single memory allocation </td></tr>
<tr id="row_0_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="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">ALLOCATION_CALLBACKS</a></td><td class="desc">Custom callbacks to CPU memory allocation functions </td></tr>
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;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">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_0_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_allocator.html" target="_self">Allocator</a></td><td class="desc">Represents main object of this library initialized for particular <code>ID3D12Device</code> </td></tr>
+<tr id="row_0_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_allocator.html" target="_self">Allocator</a></td><td class="desc">Represents main object of this library initialized for particular <span class="tt">ID3D12Device</span> </td></tr>
<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:32px;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">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#ab7a1cd1683986d75ce1488b0920f4cb0" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">CreateAllocator()</a> </td></tr>
<tr id="row_0_5_" 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="struct_d3_d12_m_a_1_1_budget.html" target="_self">Budget</a></td><td class="desc">Statistics of current memory usage and available budget for a specific memory segment group </td></tr>
<tr id="row_0_6_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html" target="_self">CALLOCATION_DESC</a></td><td class="desc">Helper structure that helps with complete and conscise initialization of the <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" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.">D3D12MA::ALLOCATION_DESC</a> structure </td></tr>
@@ -120,7 +107,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/class_d3_d12_m_a_1_1_allocation-members.html b/docs/html/class_d3_d12_m_a_1_1_allocation-members.html
index 8052406..288ed6d 100644
--- a/docs/html/class_d3_d12_m_a_1_1_allocation-members.html
+++ b/docs/html/class_d3_d12_m_a_1_1_allocation-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -117,7 +104,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/class_d3_d12_m_a_1_1_allocation.html b/docs/html/class_d3_d12_m_a_1_1_allocation.html
index 0abdf44..45634b9 100644
--- a/docs/html/class_d3_d12_m_a_1_1_allocation.html
+++ b/docs/html/class_d3_d12_m_a_1_1_allocation.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::Allocation Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -106,46 +93,36 @@
<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 id="pub-methods" name="pub-methods"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a47be9557d441797b65de177a3d5cdf60" id="r_a47be9557d441797b65de177a3d5cdf60"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#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. <br /></td></tr>
-<tr class="separator:a47be9557d441797b65de177a3d5cdf60"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0acdc6b31e957b6d83762bdaace6d255" id="r_a0acdc6b31e957b6d83762bdaace6d255"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0acdc6b31e957b6d83762bdaace6d255">GetAlignment</a> () const</td></tr>
<tr class="memdesc:a0acdc6b31e957b6d83762bdaace6d255"><td class="mdescLeft"> </td><td class="mdescRight">Returns alignment that resource was created with. <br /></td></tr>
-<tr class="separator:a0acdc6b31e957b6d83762bdaace6d255"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a92c2fb6f22b28817eb83a59407d7dd30" id="r_a92c2fb6f22b28817eb83a59407d7dd30"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a92c2fb6f22b28817eb83a59407d7dd30">GetSize</a> () const</td></tr>
<tr class="memdesc:a92c2fb6f22b28817eb83a59407d7dd30"><td class="mdescLeft"> </td><td class="mdescRight">Returns size in bytes of the allocation. <br /></td></tr>
-<tr class="separator:a92c2fb6f22b28817eb83a59407d7dd30"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad00308118252f82d8f803c623c67bf18" id="r_ad00308118252f82d8f803c623c67bf18"><td class="memItemLeft" align="right" valign="top">ID3D12Resource * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad00308118252f82d8f803c623c67bf18">GetResource</a> () const</td></tr>
<tr class="memdesc:ad00308118252f82d8f803c623c67bf18"><td class="mdescLeft"> </td><td class="mdescRight">Returns D3D12 resource associated with this object. <br /></td></tr>
-<tr class="separator:ad00308118252f82d8f803c623c67bf18"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a414a088c22bae0f29b1038f5f9346d14" id="r_a414a088c22bae0f29b1038f5f9346d14"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a414a088c22bae0f29b1038f5f9346d14">SetResource</a> (ID3D12Resource *pResource)</td></tr>
<tr class="memdesc:a414a088c22bae0f29b1038f5f9346d14"><td class="mdescLeft"> </td><td class="mdescRight">Releases the resource currently pointed by the allocation (if not null), sets it to new one, incrementing its reference counter (if not null). <br /></td></tr>
-<tr class="separator:a414a088c22bae0f29b1038f5f9346d14"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adca8d5a82bed492fe7265fcda6e53da2" id="r_adca8d5a82bed492fe7265fcda6e53da2"><td class="memItemLeft" align="right" valign="top">ID3D12Heap * </td><td class="memItemRight" valign="bottom"><a class="el" href="#adca8d5a82bed492fe7265fcda6e53da2">GetHeap</a> () const</td></tr>
<tr class="memdesc:adca8d5a82bed492fe7265fcda6e53da2"><td class="mdescLeft"> </td><td class="mdescRight">Returns memory heap that the resource is created in. <br /></td></tr>
-<tr class="separator:adca8d5a82bed492fe7265fcda6e53da2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6f209094455dd876b6d9f84076ee1436" id="r_a6f209094455dd876b6d9f84076ee1436"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f209094455dd876b6d9f84076ee1436">SetPrivateData</a> (void *pPrivateData)</td></tr>
<tr class="memdesc:a6f209094455dd876b6d9f84076ee1436"><td class="mdescLeft"> </td><td class="mdescRight">Changes custom pointer for an allocation to a new value. <br /></td></tr>
-<tr class="separator:a6f209094455dd876b6d9f84076ee1436"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae45eed901de5d16afe179f883028c5ee" id="r_ae45eed901de5d16afe179f883028c5ee"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae45eed901de5d16afe179f883028c5ee">GetPrivateData</a> () const</td></tr>
<tr class="memdesc:ae45eed901de5d16afe179f883028c5ee"><td class="mdescLeft"> </td><td class="mdescRight">Get custom pointer associated with the allocation. <br /></td></tr>
-<tr class="separator:ae45eed901de5d16afe179f883028c5ee"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af9e643276b577aa7f21937f75d4b82ac" id="r_af9e643276b577aa7f21937f75d4b82ac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#af9e643276b577aa7f21937f75d4b82ac">SetName</a> (LPCWSTR Name)</td></tr>
<tr class="memdesc:af9e643276b577aa7f21937f75d4b82ac"><td class="mdescLeft"> </td><td class="mdescRight">Associates a name with the allocation object. This name is for use in debug diagnostics and tools. <br /></td></tr>
-<tr class="separator:af9e643276b577aa7f21937f75d4b82ac"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a65fab0c479df1b6b72c9300e68dc6770" id="r_a65fab0c479df1b6b72c9300e68dc6770"><td class="memItemLeft" align="right" valign="top">LPCWSTR </td><td class="memItemRight" valign="bottom"><a class="el" href="#a65fab0c479df1b6b72c9300e68dc6770">GetName</a> () const</td></tr>
<tr class="memdesc:a65fab0c479df1b6b72c9300e68dc6770"><td class="mdescLeft"> </td><td class="mdescRight">Returns the name associated with the allocation object. <br /></td></tr>
-<tr class="separator:a65fab0c479df1b6b72c9300e68dc6770"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Represents single memory allocation. </p>
<p>It may be either implicit memory heap dedicated to a single resource or a specific region of a bigger heap plus unique offset.</p>
<p>To create such object, fill structure <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" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.">D3D12MA::ALLOCATION_DESC</a> and call function <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>.</p>
<p>The object remembers size and some other information. To retrieve this information, use methods of this class.</p>
-<p>The object also remembers <code>ID3D12Resource</code> and "owns" a reference to it, so it calls <code>Release()</code> on the resource when destroyed. </p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
+<p>The object also remembers <span class="tt">ID3D12Resource</span> and "owns" a reference to it, so it calls <span class="tt">Release()</span> on the resource when destroyed. </p>
+</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="a0acdc6b31e957b6d83762bdaace6d255" name="a0acdc6b31e957b6d83762bdaace6d255"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0acdc6b31e957b6d83762bdaace6d255">◆ </a></span>GetAlignment()</h2>
@@ -323,9 +300,9 @@
<p>Returns size in bytes of the allocation. </p>
<ul>
-<li>If you created a buffer or a texture together with the allocation using function <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>, this is the size of the resource returned by <code>ID3D12Device::GetResourceAllocationInfo</code>.</li>
+<li>If you created a buffer or a texture together with the allocation using function <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>, this is the size of the resource returned by <span class="tt">ID3D12Device::GetResourceAllocationInfo</span>.</li>
<li>For allocations made out of bigger memory blocks, this also is the size of the memory region assigned exclusively to this allocation.</li>
-<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="#a92c2fb6f22b28817eb83a59407d7dd30" title="Returns size in bytes of the allocation.">Allocation::GetSize()</a> to overlap in memory and still work correctly. </li>
+<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 <span class="tt">ID3D12Resource::GetGPUVirtualAddress()</span> + <a class="el" href="#a92c2fb6f22b28817eb83a59407d7dd30" title="Returns size in bytes of the allocation.">Allocation::GetSize()</a> to overlap in memory and still work correctly. </li>
</ul>
</div>
@@ -347,7 +324,7 @@
<p>Associates a name with the allocation object. This name is for use in debug diagnostics and tools. </p>
<p>Internal copy of the string is made, so the memory pointed by the argument can be changed of freed immediately after this call.</p>
-<p><code>Name</code> can be null. </p>
+<p><span class="tt">Name</span> can be null. </p>
</div>
</div>
@@ -398,7 +375,7 @@
</div>
</div>
-<h2 class="groupheader">Member Data Documentation</h2>
+<a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a5c38846905b1ca0ff228c6081f2fc20c" name="a5c38846905b1ca0ff228c6081f2fc20c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c38846905b1ca0ff228c6081f2fc20c">◆ </a></span>allocHandle</h2>
@@ -531,7 +508,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/class_d3_d12_m_a_1_1_allocator-members.html b/docs/html/class_d3_d12_m_a_1_1_allocator-members.html
index 469eb2c..ca74e46 100644
--- a/docs/html/class_d3_d12_m_a_1_1_allocator-members.html
+++ b/docs/html/class_d3_d12_m_a_1_1_allocator-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -118,7 +105,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/class_d3_d12_m_a_1_1_allocator.html b/docs/html/class_d3_d12_m_a_1_1_allocator.html
index 2817820..08b73a0 100644
--- a/docs/html/class_d3_d12_m_a_1_1_allocator.html
+++ b/docs/html/class_d3_d12_m_a_1_1_allocator.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::Allocator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -95,7 +82,7 @@
</div><!--header-->
<div class="contents">
-<p>Represents main object of this library initialized for particular <code>ID3D12Device</code>.
+<p>Represents main object of this library initialized for particular <span class="tt">ID3D12Device</span>.
<a href="#details">More...</a></p>
<p><code>#include <D3D12MemAlloc.h></code></p>
@@ -106,71 +93,52 @@
<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 id="pub-methods" name="pub-methods"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae276d2358a58a36f8c6639f837f29be5" id="r_ae276d2358a58a36f8c6639f837f29be5"><td class="memItemLeft" align="right" valign="top">const D3D12_FEATURE_DATA_D3D12_OPTIONS & </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae276d2358a58a36f8c6639f837f29be5">GetD3D12Options</a> () const</td></tr>
<tr class="memdesc:ae276d2358a58a36f8c6639f837f29be5"><td class="mdescLeft"> </td><td class="mdescRight">Returns cached options retrieved from D3D12 device. <br /></td></tr>
-<tr class="separator:ae276d2358a58a36f8c6639f837f29be5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9e742884bd45dd7f01193d13fcd05af0" id="r_a9e742884bd45dd7f01193d13fcd05af0"><td class="memItemLeft" align="right" valign="top">BOOL </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9e742884bd45dd7f01193d13fcd05af0">IsUMA</a> () const</td></tr>
-<tr class="memdesc:a9e742884bd45dd7f01193d13fcd05af0"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if <code>D3D12_FEATURE_DATA_ARCHITECTURE1::UMA</code> was found to be true. <br /></td></tr>
-<tr class="separator:a9e742884bd45dd7f01193d13fcd05af0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a9e742884bd45dd7f01193d13fcd05af0"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if <span class="tt">D3D12_FEATURE_DATA_ARCHITECTURE1::UMA</span> was found to be true. <br /></td></tr>
<tr class="memitem:a08210561b92c4bd7ede9dd7beba4bb80" id="r_a08210561b92c4bd7ede9dd7beba4bb80"><td class="memItemLeft" align="right" valign="top">BOOL </td><td class="memItemRight" valign="bottom"><a class="el" href="#a08210561b92c4bd7ede9dd7beba4bb80">IsCacheCoherentUMA</a> () const</td></tr>
-<tr class="memdesc:a08210561b92c4bd7ede9dd7beba4bb80"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if <code>D3D12_FEATURE_DATA_ARCHITECTURE1::CacheCoherentUMA</code> was found to be true. <br /></td></tr>
-<tr class="separator:a08210561b92c4bd7ede9dd7beba4bb80"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a08210561b92c4bd7ede9dd7beba4bb80"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if <span class="tt">D3D12_FEATURE_DATA_ARCHITECTURE1::CacheCoherentUMA</span> was found to be true. <br /></td></tr>
<tr class="memitem:a3f3fd1e88cf2cd02257fe272e08a273c" id="r_a3f3fd1e88cf2cd02257fe272e08a273c"><td class="memItemLeft" align="right" valign="top">BOOL </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3f3fd1e88cf2cd02257fe272e08a273c">IsGPUUploadHeapSupported</a> () const</td></tr>
<tr class="memdesc:a3f3fd1e88cf2cd02257fe272e08a273c"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if GPU Upload Heaps are supported on the current system. <br /></td></tr>
-<tr class="separator:a3f3fd1e88cf2cd02257fe272e08a273c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a434ae3147209953253da26687bfd62dc" id="r_a434ae3147209953253da26687bfd62dc"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a434ae3147209953253da26687bfd62dc">GetMemoryCapacity</a> (UINT memorySegmentGroup) const</td></tr>
<tr class="memdesc:a434ae3147209953253da26687bfd62dc"><td class="mdescLeft"> </td><td class="mdescRight">Returns total amount of memory of specific segment group, in bytes. <br /></td></tr>
-<tr class="separator:a434ae3147209953253da26687bfd62dc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa37d6b9fe8ea0864f7a35b9d68e8345a" id="r_aa37d6b9fe8ea0864f7a35b9d68e8345a"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa37d6b9fe8ea0864f7a35b9d68e8345a">CreateResource</a> (const <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">ALLOCATION_DESC</a> *pAllocDesc, const D3D12_RESOURCE_DESC *pResourceDesc, D3D12_RESOURCE_STATES InitialResourceState, const D3D12_CLEAR_VALUE *pOptimizedClearValue, <a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a> **ppAllocation, REFIID riidResource, void **ppvResource)</td></tr>
<tr class="memdesc:aa37d6b9fe8ea0864f7a35b9d68e8345a"><td class="mdescLeft"> </td><td class="mdescRight">Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation function. <br /></td></tr>
-<tr class="separator:aa37d6b9fe8ea0864f7a35b9d68e8345a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7a1c79c79a7a573c438aa45c4a531b96" id="r_a7a1c79c79a7a573c438aa45c4a531b96"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7a1c79c79a7a573c438aa45c4a531b96">CreateResource2</a> (const <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">ALLOCATION_DESC</a> *pAllocDesc, const D3D12_RESOURCE_DESC1 *pResourceDesc, D3D12_RESOURCE_STATES InitialResourceState, const D3D12_CLEAR_VALUE *pOptimizedClearValue, <a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a> **ppAllocation, REFIID riidResource, void **ppvResource)</td></tr>
-<tr class="memdesc:a7a1c79c79a7a573c438aa45c4a531b96"><td class="mdescLeft"> </td><td class="mdescRight">Similar to <a class="el" href="#aa37d6b9fe8ea0864f7a35b9d68e8345a" title="Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation functi...">Allocator::CreateResource</a>, but supports new structure <code>D3D12_RESOURCE_DESC1</code>. <br /></td></tr>
-<tr class="separator:a7a1c79c79a7a573c438aa45c4a531b96"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a7a1c79c79a7a573c438aa45c4a531b96"><td class="mdescLeft"> </td><td class="mdescRight">Similar to <a class="el" href="#aa37d6b9fe8ea0864f7a35b9d68e8345a" title="Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation functi...">Allocator::CreateResource</a>, but supports new structure <span class="tt">D3D12_RESOURCE_DESC1</span>. <br /></td></tr>
<tr class="memitem:ab34796ba12e0aa05f4db80d8be5989a5" id="r_ab34796ba12e0aa05f4db80d8be5989a5"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab34796ba12e0aa05f4db80d8be5989a5">CreateResource3</a> (const <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">ALLOCATION_DESC</a> *pAllocDesc, const D3D12_RESOURCE_DESC1 *pResourceDesc, D3D12_BARRIER_LAYOUT InitialLayout, const D3D12_CLEAR_VALUE *pOptimizedClearValue, UINT32 NumCastableFormats, const DXGI_FORMAT *pCastableFormats, <a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a> **ppAllocation, REFIID riidResource, void **ppvResource)</td></tr>
<tr class="memdesc:ab34796ba12e0aa05f4db80d8be5989a5"><td class="mdescLeft"> </td><td class="mdescRight">Similar to <a class="el" href="#a7a1c79c79a7a573c438aa45c4a531b96" title="Similar to Allocator::CreateResource, but supports new structure D3D12_RESOURCE_DESC1.">Allocator::CreateResource2</a>, but there are initial layout instead of state and castable formats list. <br /></td></tr>
-<tr class="separator:ab34796ba12e0aa05f4db80d8be5989a5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acb8a10a5ea30171ce60128286aec5ee2" id="r_acb8a10a5ea30171ce60128286aec5ee2"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#acb8a10a5ea30171ce60128286aec5ee2">AllocateMemory</a> (const <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">ALLOCATION_DESC</a> *pAllocDesc, const D3D12_RESOURCE_ALLOCATION_INFO *pAllocInfo, <a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a> **ppAllocation)</td></tr>
<tr class="memdesc:acb8a10a5ea30171ce60128286aec5ee2"><td class="mdescLeft"> </td><td class="mdescRight">Allocates memory without creating any resource placed in it. <br /></td></tr>
-<tr class="separator:acb8a10a5ea30171ce60128286aec5ee2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab45536f92410aedb7be44ea36b1b4717" id="r_ab45536f92410aedb7be44ea36b1b4717"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab45536f92410aedb7be44ea36b1b4717">CreateAliasingResource</a> (<a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a> *pAllocation, UINT64 AllocationLocalOffset, const D3D12_RESOURCE_DESC *pResourceDesc, D3D12_RESOURCE_STATES InitialResourceState, const D3D12_CLEAR_VALUE *pOptimizedClearValue, REFIID riidResource, void **ppvResource)</td></tr>
<tr class="memdesc:ab45536f92410aedb7be44ea36b1b4717"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new resource in place of an existing allocation. This is useful for memory aliasing. <br /></td></tr>
-<tr class="separator:ab45536f92410aedb7be44ea36b1b4717"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad3b83cc5707cb4ed92bc277069c4ddd6" id="r_ad3b83cc5707cb4ed92bc277069c4ddd6"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad3b83cc5707cb4ed92bc277069c4ddd6">CreateAliasingResource1</a> (<a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a> *pAllocation, UINT64 AllocationLocalOffset, const D3D12_RESOURCE_DESC1 *pResourceDesc, D3D12_RESOURCE_STATES InitialResourceState, const D3D12_CLEAR_VALUE *pOptimizedClearValue, REFIID riidResource, void **ppvResource)</td></tr>
-<tr class="memdesc:ad3b83cc5707cb4ed92bc277069c4ddd6"><td class="mdescLeft"> </td><td class="mdescRight">Similar to <a class="el" href="#ab45536f92410aedb7be44ea36b1b4717" title="Creates a new resource in place of an existing allocation. This is useful for memory aliasing.">Allocator::CreateAliasingResource</a>, but supports new structure <code>D3D12_RESOURCE_DESC1</code>. <br /></td></tr>
-<tr class="separator:ad3b83cc5707cb4ed92bc277069c4ddd6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:ad3b83cc5707cb4ed92bc277069c4ddd6"><td class="mdescLeft"> </td><td class="mdescRight">Similar to <a class="el" href="#ab45536f92410aedb7be44ea36b1b4717" title="Creates a new resource in place of an existing allocation. This is useful for memory aliasing.">Allocator::CreateAliasingResource</a>, but supports new structure <span class="tt">D3D12_RESOURCE_DESC1</span>. <br /></td></tr>
<tr class="memitem:a8af77401efadf6b81f0b50bdb7d0475a" id="r_a8af77401efadf6b81f0b50bdb7d0475a"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8af77401efadf6b81f0b50bdb7d0475a">CreateAliasingResource2</a> (<a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a> *pAllocation, UINT64 AllocationLocalOffset, const D3D12_RESOURCE_DESC1 *pResourceDesc, D3D12_BARRIER_LAYOUT InitialLayout, const D3D12_CLEAR_VALUE *pOptimizedClearValue, UINT32 NumCastableFormats, const DXGI_FORMAT *pCastableFormats, REFIID riidResource, void **ppvResource)</td></tr>
<tr class="memdesc:a8af77401efadf6b81f0b50bdb7d0475a"><td class="mdescLeft"> </td><td class="mdescRight">Similar to <a class="el" href="#ad3b83cc5707cb4ed92bc277069c4ddd6" title="Similar to Allocator::CreateAliasingResource, but supports new structure D3D12_RESOURCE_DESC1.">Allocator::CreateAliasingResource1</a>, but there are initial layout instead of state and castable formats list. <br /></td></tr>
-<tr class="separator:a8af77401efadf6b81f0b50bdb7d0475a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aac7b1f6bf53cbf4c4ce2264cb72ca515" id="r_aac7b1f6bf53cbf4c4ce2264cb72ca515"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#aac7b1f6bf53cbf4c4ce2264cb72ca515">CreatePool</a> (const <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a> *pPoolDesc, <a class="el" href="class_d3_d12_m_a_1_1_pool.html">Pool</a> **ppPool)</td></tr>
<tr class="memdesc:aac7b1f6bf53cbf4c4ce2264cb72ca515"><td class="mdescLeft"> </td><td class="mdescRight">Creates custom pool. <br /></td></tr>
-<tr class="separator:aac7b1f6bf53cbf4c4ce2264cb72ca515"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a468ba0c93121eaaee402b08775f1dd11" id="r_a468ba0c93121eaaee402b08775f1dd11"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a468ba0c93121eaaee402b08775f1dd11">SetCurrentFrameIndex</a> (UINT frameIndex)</td></tr>
<tr class="memdesc:a468ba0c93121eaaee402b08775f1dd11"><td class="mdescLeft"> </td><td class="mdescRight">Sets the index of the current frame. <br /></td></tr>
-<tr class="separator:a468ba0c93121eaaee402b08775f1dd11"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1ac113daec5f6ef28ecb1786cf544144" id="r_a1ac113daec5f6ef28ecb1786cf544144"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ac113daec5f6ef28ecb1786cf544144">GetBudget</a> (<a class="el" href="struct_d3_d12_m_a_1_1_budget.html">Budget</a> *pLocalBudget, <a class="el" href="struct_d3_d12_m_a_1_1_budget.html">Budget</a> *pNonLocalBudget)</td></tr>
<tr class="memdesc:a1ac113daec5f6ef28ecb1786cf544144"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves information about current memory usage and budget. <br /></td></tr>
-<tr class="separator:a1ac113daec5f6ef28ecb1786cf544144"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a99db00df909963573a976c203b107d22" id="r_a99db00df909963573a976c203b107d22"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a99db00df909963573a976c203b107d22">CalculateStatistics</a> (<a class="el" href="struct_d3_d12_m_a_1_1_total_statistics.html">TotalStatistics</a> *pStats)</td></tr>
<tr class="memdesc:a99db00df909963573a976c203b107d22"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves statistics from current state of the allocator. <br /></td></tr>
-<tr class="separator:a99db00df909963573a976c203b107d22"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a29716b3084916abed7793bf2ec4b65db" id="r_a29716b3084916abed7793bf2ec4b65db"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a29716b3084916abed7793bf2ec4b65db">BuildStatsString</a> (WCHAR **ppStatsString, BOOL DetailedMap) const</td></tr>
<tr class="memdesc:a29716b3084916abed7793bf2ec4b65db"><td class="mdescLeft"> </td><td class="mdescRight">Builds and returns statistics as a string in JSON format. <br /></td></tr>
-<tr class="separator:a29716b3084916abed7793bf2ec4b65db"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8392663494384c16d8bfa12b827b4f9c" id="r_a8392663494384c16d8bfa12b827b4f9c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8392663494384c16d8bfa12b827b4f9c">FreeStatsString</a> (WCHAR *pStatsString) const</td></tr>
<tr class="memdesc:a8392663494384c16d8bfa12b827b4f9c"><td class="mdescLeft"> </td><td class="mdescRight">Frees memory of a string returned from <a class="el" href="#a29716b3084916abed7793bf2ec4b65db" title="Builds and returns statistics as a string in JSON format.">Allocator::BuildStatsString</a>. <br /></td></tr>
-<tr class="separator:a8392663494384c16d8bfa12b827b4f9c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a08e1468f1dbb63ce3bf6680e592b2143" id="r_a08e1468f1dbb63ce3bf6680e592b2143"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a08e1468f1dbb63ce3bf6680e592b2143">BeginDefragmentation</a> (const <a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">DEFRAGMENTATION_DESC</a> *pDesc, <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html">DefragmentationContext</a> **ppContext)</td></tr>
<tr class="memdesc:a08e1468f1dbb63ce3bf6680e592b2143"><td class="mdescLeft"> </td><td class="mdescRight">Begins defragmentation process of the default pools. <br /></td></tr>
-<tr class="separator:a08e1468f1dbb63ce3bf6680e592b2143"><td class="memSeparator" colspan="2"> </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="#a6e114ef3b4a791a3bf2e3109a3971559" 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 name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Represents main object of this library initialized for particular <span class="tt">ID3D12Device</span>. </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="#a6e114ef3b4a791a3bf2e3109a3971559" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">CreateAllocator()</a> to create it. Call method <span class="tt">Release()</span> to destroy it.</p>
+<p>It is recommended to create just one object of this type per <span class="tt">ID3D12Device</span> object, right after Direct3D 12 is initialized and keep it alive until before Direct3D device is destroyed. </p>
+</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="acb8a10a5ea30171ce60128286aec5ee2" name="acb8a10a5ea30171ce60128286aec5ee2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb8a10a5ea30171ce60128286aec5ee2">◆ </a></span>AllocateMemory()</h2>
@@ -196,9 +164,9 @@
</div><div class="memdoc">
<p>Allocates memory without creating any resource placed in it. </p>
-<p>This function is similar to <code>ID3D12Device::CreateHeap</code>, but it may really assign part of a larger, existing heap to the allocation.</p>
-<p><code>pAllocDesc->heapFlags</code> should contain one of these values, depending on type of resources you are going to create in this memory: <code>D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS</code>, <code>D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES</code>, <code>D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES</code>. Except if you validate that ResourceHeapTier = 2 - then <code>heapFlags</code> may be <code>D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES</code> = 0. Additional flags in <code>heapFlags</code> are allowed as well.</p>
-<p><code>pAllocInfo->SizeInBytes</code> must be multiply of 64KB. <code>pAllocInfo->Alignment</code> must be one of the legal values as described in documentation of <code>D3D12_HEAP_DESC</code>.</p>
+<p>This function is similar to <span class="tt">ID3D12Device::CreateHeap</span>, but it may really assign part of a larger, existing heap to the allocation.</p>
+<p><span class="tt">pAllocDesc->heapFlags</span> should contain one of these values, depending on type of resources you are going to create in this memory: <span class="tt">D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS</span>, <span class="tt">D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES</span>, <span class="tt">D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES</span>. Except if you validate that ResourceHeapTier = 2 - then <span class="tt">heapFlags</span> may be <span class="tt">D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES</span> = 0. Additional flags in <span class="tt">heapFlags</span> are allowed as well.</p>
+<p><span class="tt">pAllocInfo->SizeInBytes</span> must be multiply of 64KB. <span class="tt">pAllocInfo->Alignment</span> must be one of the legal values as described in documentation of <span class="tt">D3D12_HEAP_DESC</span>.</p>
<p>If you use <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a> you will get a separate memory block - a heap that always has offset 0. </p>
</div>
@@ -257,7 +225,7 @@
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">ppStatsString</td><td>Must be freed using <a class="el" href="#a8392663494384c16d8bfa12b827b4f9c" title="Frees memory of a string returned from Allocator::BuildStatsString.">Allocator::FreeStatsString</a>. </td></tr>
- <tr><td class="paramdir"></td><td class="paramname">DetailedMap</td><td><code>TRUE</code> to include full list of allocations (can make the string quite long), <code>FALSE</code> to only return statistics. </td></tr>
+ <tr><td class="paramdir"></td><td class="paramname">DetailedMap</td><td><span class="tt">TRUE</span> to include full list of allocations (can make the string quite long), <span class="tt">FALSE</span> to only return statistics. </td></tr>
</table>
</dd>
</dl>
@@ -332,17 +300,17 @@
<p>Creates a new resource in place of an existing allocation. This is useful for memory aliasing. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir"></td><td class="paramname">pAllocation</td><td>Existing allocation indicating the memory where the new resource should be created. It can be created using <a class="el" href="#aa37d6b9fe8ea0864f7a35b9d68e8345a" title="Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation functi...">D3D12MA::Allocator::CreateResource</a> and already have a resource bound to it, or can be a raw memory allocated with <a class="el" href="#acb8a10a5ea30171ce60128286aec5ee2" title="Allocates memory without creating any resource placed in it.">D3D12MA::Allocator::AllocateMemory</a>. It must not be created as committed so that <code>ID3D12Heap</code> is available and not implicit. </td></tr>
- <tr><td class="paramdir"></td><td class="paramname">AllocationLocalOffset</td><td>Additional offset in bytes to be applied when allocating the resource. Local from the start of <code>pAllocation</code>, not the beginning of the whole <code>ID3D12Heap</code>! If the new resource should start from the beginning of the <code>pAllocation</code> it should be 0. </td></tr>
+ <tr><td class="paramdir"></td><td class="paramname">pAllocation</td><td>Existing allocation indicating the memory where the new resource should be created. It can be created using <a class="el" href="#aa37d6b9fe8ea0864f7a35b9d68e8345a" title="Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation functi...">D3D12MA::Allocator::CreateResource</a> and already have a resource bound to it, or can be a raw memory allocated with <a class="el" href="#acb8a10a5ea30171ce60128286aec5ee2" title="Allocates memory without creating any resource placed in it.">D3D12MA::Allocator::AllocateMemory</a>. It must not be created as committed so that <span class="tt">ID3D12Heap</span> is available and not implicit. </td></tr>
+ <tr><td class="paramdir"></td><td class="paramname">AllocationLocalOffset</td><td>Additional offset in bytes to be applied when allocating the resource. Local from the start of <span class="tt">pAllocation</span>, not the beginning of the whole <span class="tt">ID3D12Heap</span>! If the new resource should start from the beginning of the <span class="tt">pAllocation</span> it should be 0. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">pResourceDesc</td><td>Description of the new resource to be created. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">InitialResourceState</td><td></td></tr>
<tr><td class="paramdir"></td><td class="paramname">pOptimizedClearValue</td><td></td></tr>
<tr><td class="paramdir"></td><td class="paramname">riidResource</td><td></td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">ppvResource</td><td>Returns pointer to the new resource. The resource is not bound with <code>pAllocation</code>. This pointer must not be null - you must get the resource pointer and <code>Release</code> it when no longer needed.</td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">ppvResource</td><td>Returns pointer to the new resource. The resource is not bound with <span class="tt">pAllocation</span>. This pointer must not be null - you must get the resource pointer and <span class="tt">Release</span> it when no longer needed.</td></tr>
</table>
</dd>
</dl>
-<p>Memory requirements of the new resource are checked for validation. If its size exceeds the end of <code>pAllocation</code> or required alignment is not fulfilled considering <code>pAllocation->GetOffset() + AllocationLocalOffset</code>, the function returns <code>E_INVALIDARG</code>. </p>
+<p>Memory requirements of the new resource are checked for validation. If its size exceeds the end of <span class="tt">pAllocation</span> or required alignment is not fulfilled considering <span class="tt">pAllocation->GetOffset() + AllocationLocalOffset</span>, the function returns <span class="tt">E_INVALIDARG</span>. </p>
</div>
</div>
@@ -390,9 +358,9 @@
</table>
</div><div class="memdoc">
-<p>Similar to <a class="el" href="#ab45536f92410aedb7be44ea36b1b4717" title="Creates a new resource in place of an existing allocation. This is useful for memory aliasing.">Allocator::CreateAliasingResource</a>, but supports new structure <code>D3D12_RESOURCE_DESC1</code>. </p>
-<p>It internally uses <code>ID3D12Device8::CreatePlacedResource1</code>.</p>
-<p>To work correctly, <code>ID3D12Device8</code> interface must be available in the current system. Otherwise, <code>E_NOINTERFACE</code> is returned. </p>
+<p>Similar to <a class="el" href="#ab45536f92410aedb7be44ea36b1b4717" title="Creates a new resource in place of an existing allocation. This is useful for memory aliasing.">Allocator::CreateAliasingResource</a>, but supports new structure <span class="tt">D3D12_RESOURCE_DESC1</span>. </p>
+<p>It internally uses <span class="tt">ID3D12Device8::CreatePlacedResource1</span>.</p>
+<p>To work correctly, <span class="tt">ID3D12Device8</span> interface must be available in the current system. Otherwise, <span class="tt">E_NOINTERFACE</span> is returned. </p>
</div>
</div>
@@ -451,8 +419,8 @@
</div><div class="memdoc">
<p>Similar to <a class="el" href="#ad3b83cc5707cb4ed92bc277069c4ddd6" title="Similar to Allocator::CreateAliasingResource, but supports new structure D3D12_RESOURCE_DESC1.">Allocator::CreateAliasingResource1</a>, but there are initial layout instead of state and castable formats list. </p>
-<p>It internally uses <code>ID3D12Device10::CreatePlacedResource2</code>.</p>
-<p>To work correctly, <code>ID3D12Device10</code> interface must be available in the current system. Otherwise, <code>E_NOINTERFACE</code> is returned. If you use <code>pCastableFormats</code>, <code>ID3D12Device12</code> must albo be available. </p>
+<p>It internally uses <span class="tt">ID3D12Device10::CreatePlacedResource2</span>.</p>
+<p>To work correctly, <span class="tt">ID3D12Device10</span> interface must be available in the current system. Otherwise, <span class="tt">E_NOINTERFACE</span> is returned. If you use <span class="tt">pCastableFormats</span>, <span class="tt">ID3D12Device12</span> must albo be available. </p>
</div>
</div>
@@ -524,9 +492,9 @@
</div><div class="memdoc">
<p>Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation function. </p>
-<p>The function is similar to <code>ID3D12Device::CreateCommittedResource</code>, but it may really call <code>ID3D12Device::CreatePlacedResource</code> to assign part of a larger, existing memory heap to the new resource, which is the main purpose of this whole library.</p>
-<p>If <code>ppvResource</code> is null, you receive only <code>ppAllocation</code> object from this function. It holds pointer to <code>ID3D12Resource</code> that can be queried using function <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ad00308118252f82d8f803c623c67bf18" title="Returns D3D12 resource associated with this object.">D3D12MA::Allocation::GetResource()</a>. Reference count of the resource object is 1. It is automatically destroyed when you destroy the allocation object.</p>
-<p>If <code>ppvResource</code> is not null, you receive pointer to the resource next to allocation object. Reference count of the resource object is then increased by calling <code>QueryInterface</code>, so you need to manually <code>Release</code> it along with the allocation.</p>
+<p>The function is similar to <span class="tt">ID3D12Device::CreateCommittedResource</span>, but it may really call <span class="tt">ID3D12Device::CreatePlacedResource</span> to assign part of a larger, existing memory heap to the new resource, which is the main purpose of this whole library.</p>
+<p>If <span class="tt">ppvResource</span> is null, you receive only <span class="tt">ppAllocation</span> object from this function. It holds pointer to <span class="tt">ID3D12Resource</span> that can be queried using function <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ad00308118252f82d8f803c623c67bf18" title="Returns D3D12 resource associated with this object.">D3D12MA::Allocation::GetResource()</a>. Reference count of the resource object is 1. It is automatically destroyed when you destroy the allocation object.</p>
+<p>If <span class="tt">ppvResource</span> is not null, you receive pointer to the resource next to allocation object. Reference count of the resource object is then increased by calling <span class="tt">QueryInterface</span>, so you need to manually <span class="tt">Release</span> it along with the allocation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">pAllocDesc</td><td>Parameters of the allocation. </td></tr>
@@ -534,7 +502,7 @@
<tr><td class="paramdir"></td><td class="paramname">InitialResourceState</td><td>Initial resource state. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">pOptimizedClearValue</td><td>Optional. Either null or optimized clear value. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ppAllocation</td><td>Filled with pointer to new allocation object created. </td></tr>
- <tr><td class="paramdir"></td><td class="paramname">riidResource</td><td>IID of a resource to be returned via <code>ppvResource</code>. </td></tr>
+ <tr><td class="paramdir"></td><td class="paramname">riidResource</td><td>IID of a resource to be returned via <span class="tt">ppvResource</span>. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">ppvResource</td><td>Optional. If not null, filled with pointer to new resouce created.</td></tr>
</table>
</dd>
@@ -587,9 +555,9 @@
</table>
</div><div class="memdoc">
-<p>Similar to <a class="el" href="#aa37d6b9fe8ea0864f7a35b9d68e8345a" title="Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation functi...">Allocator::CreateResource</a>, but supports new structure <code>D3D12_RESOURCE_DESC1</code>. </p>
-<p>It internally uses <code>ID3D12Device8::CreateCommittedResource2</code> or <code>ID3D12Device8::CreatePlacedResource1</code>.</p>
-<p>To work correctly, <code>ID3D12Device8</code> interface must be available in the current system. Otherwise, <code>E_NOINTERFACE</code> is returned. </p>
+<p>Similar to <a class="el" href="#aa37d6b9fe8ea0864f7a35b9d68e8345a" title="Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation functi...">Allocator::CreateResource</a>, but supports new structure <span class="tt">D3D12_RESOURCE_DESC1</span>. </p>
+<p>It internally uses <span class="tt">ID3D12Device8::CreateCommittedResource2</span> or <span class="tt">ID3D12Device8::CreatePlacedResource1</span>.</p>
+<p>To work correctly, <span class="tt">ID3D12Device8</span> interface must be available in the current system. Otherwise, <span class="tt">E_NOINTERFACE</span> is returned. </p>
</div>
</div>
@@ -648,8 +616,8 @@
</div><div class="memdoc">
<p>Similar to <a class="el" href="#a7a1c79c79a7a573c438aa45c4a531b96" title="Similar to Allocator::CreateResource, but supports new structure D3D12_RESOURCE_DESC1.">Allocator::CreateResource2</a>, but there are initial layout instead of state and castable formats list. </p>
-<p>It internally uses <code>ID3D12Device10::CreateCommittedResource3</code> or <code>ID3D12Device10::CreatePlacedResource2</code>.</p>
-<p>To work correctly, <code>ID3D12Device10</code> interface must be available in the current system. Otherwise, <code>E_NOINTERFACE</code> is returned. If you use <code>pCastableFormats</code>, <code>ID3D12Device12</code> must albo be available. </p>
+<p>It internally uses <span class="tt">ID3D12Device10::CreateCommittedResource3</span> or <span class="tt">ID3D12Device10::CreatePlacedResource2</span>.</p>
+<p>To work correctly, <span class="tt">ID3D12Device10</span> interface must be available in the current system. Otherwise, <span class="tt">E_NOINTERFACE</span> is returned. If you use <span class="tt">pCastableFormats</span>, <span class="tt">ID3D12Device12</span> must albo be available. </p>
</div>
</div>
@@ -700,14 +668,14 @@
</dd>
</dl>
<ul>
-<li>When <a class="el" href="#a9e742884bd45dd7f01193d13fcd05af0" title="Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.">IsUMA()</a> <code>== FALSE</code> (discrete graphics card):<ul>
-<li><code>pLocalBudget</code> returns the budget of the video memory.</li>
-<li><code>pNonLocalBudget</code> returns the budget of the system memory available for D3D12 resources.</li>
+<li>When <a class="el" href="#a9e742884bd45dd7f01193d13fcd05af0" title="Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.">IsUMA()</a> <span class="tt">== FALSE</span> (discrete graphics card):<ul>
+<li><span class="tt">pLocalBudget</span> returns the budget of the video memory.</li>
+<li><span class="tt">pNonLocalBudget</span> returns the budget of the system memory available for D3D12 resources.</li>
</ul>
</li>
-<li>When <a class="el" href="#a9e742884bd45dd7f01193d13fcd05af0" title="Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.">IsUMA()</a> <code>== TRUE</code> (integrated graphics chip):<ul>
-<li><code>pLocalBudget</code> returns the budget of the shared memory available for all D3D12 resources. All memory is considered "local".</li>
-<li><code>pNonLocalBudget</code> is not applicable and returns zeros.</li>
+<li>When <a class="el" href="#a9e742884bd45dd7f01193d13fcd05af0" title="Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.">IsUMA()</a> <span class="tt">== TRUE</span> (integrated graphics chip):<ul>
+<li><span class="tt">pLocalBudget</span> returns the budget of the shared memory available for all D3D12 resources. All memory is considered "local".</li>
+<li><span class="tt">pNonLocalBudget</span> is not applicable and returns zeros.</li>
</ul>
</li>
</ul>
@@ -753,20 +721,20 @@
<p>Returns total amount of memory of specific segment group, in bytes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">memorySegmentGroup</td><td>use <code>DXGI_MEMORY_SEGMENT_GROUP_LOCAL</code> or <code>DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</code>.</td></tr>
+ <tr><td class="paramname">memorySegmentGroup</td><td>use <span class="tt">DXGI_MEMORY_SEGMENT_GROUP_LOCAL</span> or <span class="tt">DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</span>.</td></tr>
</table>
</dd>
</dl>
-<p>This information is taken from <code>DXGI_ADAPTER_DESC</code>. It is not recommended to use this number. You should preferably call <a class="el" href="#a1ac113daec5f6ef28ecb1786cf544144" title="Retrieves information about current memory usage and budget.">GetBudget()</a> and limit memory usage to <a class="el" href="struct_d3_d12_m_a_1_1_budget.html#a326515f08d89ee2e31dcfdd5c1e8ac71" title="Estimated amount of memory available to the program.">D3D12MA::Budget::BudgetBytes</a> instead.</p>
+<p>This information is taken from <span class="tt">DXGI_ADAPTER_DESC</span>. It is not recommended to use this number. You should preferably call <a class="el" href="#a1ac113daec5f6ef28ecb1786cf544144" title="Retrieves information about current memory usage and budget.">GetBudget()</a> and limit memory usage to <a class="el" href="struct_d3_d12_m_a_1_1_budget.html#a326515f08d89ee2e31dcfdd5c1e8ac71" title="Estimated amount of memory available to the program.">D3D12MA::Budget::BudgetBytes</a> instead.</p>
<ul>
-<li>When <a class="el" href="#a9e742884bd45dd7f01193d13fcd05af0" title="Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.">IsUMA()</a> <code>== FALSE</code> (discrete graphics card):<ul>
-<li><code>GetMemoryCapacity(DXGI_MEMORY_SEGMENT_GROUP_LOCAL)</code> returns the size of the video memory.</li>
-<li><code>GetMemoryCapacity(DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL)</code> returns the size of the system memory available for D3D12 resources.</li>
+<li>When <a class="el" href="#a9e742884bd45dd7f01193d13fcd05af0" title="Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.">IsUMA()</a> <span class="tt">== FALSE</span> (discrete graphics card):<ul>
+<li><span class="tt">GetMemoryCapacity(DXGI_MEMORY_SEGMENT_GROUP_LOCAL)</span> returns the size of the video memory.</li>
+<li><span class="tt">GetMemoryCapacity(DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL)</span> returns the size of the system memory available for D3D12 resources.</li>
</ul>
</li>
-<li>When <a class="el" href="#a9e742884bd45dd7f01193d13fcd05af0" title="Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.">IsUMA()</a> <code>== TRUE</code> (integrated graphics chip):<ul>
-<li><code>GetMemoryCapacity(DXGI_MEMORY_SEGMENT_GROUP_LOCAL)</code> returns the size of the shared memory available for all D3D12 resources. All memory is considered "local".</li>
-<li><code>GetMemoryCapacity(DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL)</code> is not applicable and returns 0. </li>
+<li>When <a class="el" href="#a9e742884bd45dd7f01193d13fcd05af0" title="Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.">IsUMA()</a> <span class="tt">== TRUE</span> (integrated graphics chip):<ul>
+<li><span class="tt">GetMemoryCapacity(DXGI_MEMORY_SEGMENT_GROUP_LOCAL)</span> returns the size of the shared memory available for all D3D12 resources. All memory is considered "local".</li>
+<li><span class="tt">GetMemoryCapacity(DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL)</span> is not applicable and returns 0. </li>
</ul>
</li>
</ul>
@@ -788,7 +756,7 @@
</table>
</div><div class="memdoc">
-<p>Returns true if <code>D3D12_FEATURE_DATA_ARCHITECTURE1::CacheCoherentUMA</code> was found to be true. </p>
+<p>Returns true if <span class="tt">D3D12_FEATURE_DATA_ARCHITECTURE1::CacheCoherentUMA</span> was found to be true. </p>
<p>For more information about how to use it, see articles in Microsoft Docs articles:</p>
<ul>
<li>"UMA Optimizations: CPU Accessible Textures and Standard Swizzle"</li>
@@ -814,8 +782,8 @@
</div><div class="memdoc">
<p>Returns true if GPU Upload Heaps are supported on the current system. </p>
-<p>When true, you can use <code>D3D12_HEAP_TYPE_GPU_UPLOAD</code>.</p>
-<p>This flag is fetched from <code>D3D12_FEATURE_D3D12_OPTIONS16::GPUUploadHeapSupported</code>. </p>
+<p>When true, you can use <span class="tt">D3D12_HEAP_TYPE_GPU_UPLOAD</span>.</p>
+<p>This flag is fetched from <span class="tt">D3D12_FEATURE_D3D12_OPTIONS16::GPUUploadHeapSupported</span>. </p>
</div>
</div>
@@ -834,7 +802,7 @@
</table>
</div><div class="memdoc">
-<p>Returns true if <code>D3D12_FEATURE_DATA_ARCHITECTURE1::UMA</code> was found to be true. </p>
+<p>Returns true if <span class="tt">D3D12_FEATURE_DATA_ARCHITECTURE1::UMA</span> was found to be true. </p>
<p>For more information about how to use it, see articles in Microsoft Docs articles:</p>
<ul>
<li>"UMA Optimizations: CPU Accessible Textures and Standard Swizzle"</li>
@@ -870,7 +838,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/class_d3_d12_m_a_1_1_defragmentation_context-members.html b/docs/html/class_d3_d12_m_a_1_1_defragmentation_context-members.html
index 4049a20..6cfb1dd 100644
--- a/docs/html/class_d3_d12_m_a_1_1_defragmentation_context-members.html
+++ b/docs/html/class_d3_d12_m_a_1_1_defragmentation_context-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html">DefragmentationContext</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="class_d3_d12_m_a_1_1_defragmentation_context.html">DefragmentationContext</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -101,7 +88,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/class_d3_d12_m_a_1_1_defragmentation_context.html b/docs/html/class_d3_d12_m_a_1_1_defragmentation_context.html
index 405cb9f..7ab0038 100644
--- a/docs/html/class_d3_d12_m_a_1_1_defragmentation_context.html
+++ b/docs/html/class_d3_d12_m_a_1_1_defragmentation_context.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::DefragmentationContext Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html">DefragmentationContext</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="class_d3_d12_m_a_1_1_defragmentation_context.html">DefragmentationContext</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -106,22 +93,19 @@
<img src="class_d3_d12_m_a_1_1_defragmentation_context.png" alt=""/>
</div></div>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1606c015d02edc094bb246986159d592" id="r_a1606c015d02edc094bb246986159d592"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1606c015d02edc094bb246986159d592">BeginPass</a> (<a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">DEFRAGMENTATION_PASS_MOVE_INFO</a> *pPassInfo)</td></tr>
<tr class="memdesc:a1606c015d02edc094bb246986159d592"><td class="mdescLeft"> </td><td class="mdescRight">Starts single defragmentation pass. <br /></td></tr>
-<tr class="separator:a1606c015d02edc094bb246986159d592"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aad502ba70d6dadaeee37703fd8bf90ae" id="r_aad502ba70d6dadaeee37703fd8bf90ae"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#aad502ba70d6dadaeee37703fd8bf90ae">EndPass</a> (<a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">DEFRAGMENTATION_PASS_MOVE_INFO</a> *pPassInfo)</td></tr>
<tr class="memdesc:aad502ba70d6dadaeee37703fd8bf90ae"><td class="mdescLeft"> </td><td class="mdescRight">Ends single defragmentation pass. <br /></td></tr>
-<tr class="separator:aad502ba70d6dadaeee37703fd8bf90ae"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1c21c26f47dcbf8f4e562063a3e25f38" id="r_a1c21c26f47dcbf8f4e562063a3e25f38"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1c21c26f47dcbf8f4e562063a3e25f38">GetStats</a> (<a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html">DEFRAGMENTATION_STATS</a> *pStats)</td></tr>
<tr class="memdesc:a1c21c26f47dcbf8f4e562063a3e25f38"><td class="mdescLeft"> </td><td class="mdescRight">Returns statistics of the defragmentation performed so far. <br /></td></tr>
-<tr class="separator:a1c21c26f47dcbf8f4e562063a3e25f38"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Represents defragmentation process in progress. </p>
<p>You can create this object using <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a08e1468f1dbb63ce3bf6680e592b2143" title="Begins defragmentation process of the default pools.">Allocator::BeginDefragmentation</a> (for default pools) or <a class="el" href="class_d3_d12_m_a_1_1_pool.html#adc87bb49c192de8f5a9ca0484c499575" title="Begins defragmentation process of the current pool.">Pool::BeginDefragmentation</a> (for a custom pool). </p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
+</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="a1606c015d02edc094bb246986159d592" name="a1606c015d02edc094bb246986159d592"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1606c015d02edc094bb246986159d592">◆ </a></span>BeginPass()</h2>
@@ -145,8 +129,8 @@
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
-<li><code>S_OK</code> if no more moves are possible. Then you can omit call to <a class="el" href="#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">DefragmentationContext::EndPass()</a> and simply end whole defragmentation.</li>
-<li><code>S_FALSE</code> if there are pending moves returned in <code>pPassInfo</code>. You need to perform them, call <a class="el" href="#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">DefragmentationContext::EndPass()</a>, and then preferably try another pass with <a class="el" href="#a1606c015d02edc094bb246986159d592" title="Starts single defragmentation pass.">DefragmentationContext::BeginPass()</a>. </li>
+<li><span class="tt">S_OK</span> if no more moves are possible. Then you can omit call to <a class="el" href="#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">DefragmentationContext::EndPass()</a> and simply end whole defragmentation.</li>
+<li><span class="tt">S_FALSE</span> if there are pending moves returned in <span class="tt">pPassInfo</span>. You need to perform them, call <a class="el" href="#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">DefragmentationContext::EndPass()</a>, and then preferably try another pass with <a class="el" href="#a1606c015d02edc094bb246986159d592" title="Starts single defragmentation pass.">DefragmentationContext::BeginPass()</a>. </li>
</ul>
</dd></dl>
@@ -174,11 +158,11 @@
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns <code>S_OK</code> if no more moves are possible or <code>S_FALSE</code> if more defragmentations are possible.</dd></dl>
-<p>Ends incremental defragmentation pass and commits all defragmentation moves from <code>pPassInfo</code>. After this call:</p>
+<dl class="section return"><dt>Returns</dt><dd>Returns <span class="tt">S_OK</span> if no more moves are possible or <span class="tt">S_FALSE</span> if more defragmentations are possible.</dd></dl>
+<p>Ends incremental defragmentation pass and commits all defragmentation moves from <span class="tt">pPassInfo</span>. After this call:</p>
<ul>
-<li>Allocation at <code>pPassInfo[i].pSrcAllocation</code> that had <code>pPassInfo[i].Operation ==</code> <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac">DEFRAGMENTATION_MOVE_OPERATION_COPY</a> (which is the default) will be pointing to the new destination place.</li>
-<li>Allocation at <code>pPassInfo[i].pSrcAllocation</code> that had <code>pPassInfo[i].operation ==</code> <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242" title="Set this value if you decide to abandon the allocation and you destroyed the resource....">DEFRAGMENTATION_MOVE_OPERATION_DESTROY</a> will be released.</li>
+<li>Allocation at <span class="tt">pPassInfo[i].pSrcAllocation</span> that had <span class="tt">pPassInfo[i].Operation ==</span> <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac">DEFRAGMENTATION_MOVE_OPERATION_COPY</a> (which is the default) will be pointing to the new destination place.</li>
+<li>Allocation at <span class="tt">pPassInfo[i].pSrcAllocation</span> that had <span class="tt">pPassInfo[i].operation ==</span> <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242" title="Set this value if you decide to abandon the allocation and you destroyed the resource....">DEFRAGMENTATION_MOVE_OPERATION_DESTROY</a> will be released.</li>
</ul>
<p>If no more moves are possible you can end whole defragmentation. </p>
@@ -209,7 +193,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/class_d3_d12_m_a_1_1_pool-members.html b/docs/html/class_d3_d12_m_a_1_1_pool-members.html
index e500fb5..9acf601 100644
--- a/docs/html/class_d3_d12_m_a_1_1_pool-members.html
+++ b/docs/html/class_d3_d12_m_a_1_1_pool-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">Pool</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="class_d3_d12_m_a_1_1_pool.html">Pool</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -104,7 +91,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/class_d3_d12_m_a_1_1_pool.html b/docs/html/class_d3_d12_m_a_1_1_pool.html
index 7aabe1c..07742d9 100644
--- a/docs/html/class_d3_d12_m_a_1_1_pool.html
+++ b/docs/html/class_d3_d12_m_a_1_1_pool.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::Pool Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">Pool</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="class_d3_d12_m_a_1_1_pool.html">Pool</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -106,32 +93,26 @@
<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 id="pub-methods" name="pub-methods"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aaab59af46d922d6b81fce8d8be987028" id="r_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="#aaab59af46d922d6b81fce8d8be987028">GetDesc</a> () const</td></tr>
<tr class="memdesc:aaab59af46d922d6b81fce8d8be987028"><td class="mdescLeft"> </td><td class="mdescRight">Returns copy of parameters of the pool. <br /></td></tr>
-<tr class="separator:aaab59af46d922d6b81fce8d8be987028"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa9d849dc4667314b2a53eddf02f5af91" id="r_aa9d849dc4667314b2a53eddf02f5af91"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa9d849dc4667314b2a53eddf02f5af91">GetStatistics</a> (<a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a> *pStats)</td></tr>
<tr class="memdesc:aa9d849dc4667314b2a53eddf02f5af91"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves basic statistics of the custom pool that are fast to calculate. <br /></td></tr>
-<tr class="separator:aa9d849dc4667314b2a53eddf02f5af91"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad07999ac5dc8f0c63187afd45d551910" id="r_ad07999ac5dc8f0c63187afd45d551910"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad07999ac5dc8f0c63187afd45d551910">CalculateStatistics</a> (<a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a> *pStats)</td></tr>
<tr class="memdesc:ad07999ac5dc8f0c63187afd45d551910"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves detailed statistics of the custom pool that are slower to calculate. <br /></td></tr>
-<tr class="separator:ad07999ac5dc8f0c63187afd45d551910"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a20617cfec0461cf8c2b92115b5140c5b" id="r_a20617cfec0461cf8c2b92115b5140c5b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a20617cfec0461cf8c2b92115b5140c5b">SetName</a> (LPCWSTR Name)</td></tr>
<tr class="memdesc:a20617cfec0461cf8c2b92115b5140c5b"><td class="mdescLeft"> </td><td class="mdescRight">Associates a name with the pool. This name is for use in debug diagnostics and tools. <br /></td></tr>
-<tr class="separator:a20617cfec0461cf8c2b92115b5140c5b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a63c91d92a9ca48b98866a5cc1aea333b" id="r_a63c91d92a9ca48b98866a5cc1aea333b"><td class="memItemLeft" align="right" valign="top">LPCWSTR </td><td class="memItemRight" valign="bottom"><a class="el" href="#a63c91d92a9ca48b98866a5cc1aea333b">GetName</a> () const</td></tr>
<tr class="memdesc:a63c91d92a9ca48b98866a5cc1aea333b"><td class="mdescLeft"> </td><td class="mdescRight">Returns the name associated with the pool object. <br /></td></tr>
-<tr class="separator:a63c91d92a9ca48b98866a5cc1aea333b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adc87bb49c192de8f5a9ca0484c499575" id="r_adc87bb49c192de8f5a9ca0484c499575"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#adc87bb49c192de8f5a9ca0484c499575">BeginDefragmentation</a> (const <a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">DEFRAGMENTATION_DESC</a> *pDesc, <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html">DefragmentationContext</a> **ppContext)</td></tr>
<tr class="memdesc:adc87bb49c192de8f5a9ca0484c499575"><td class="mdescLeft"> </td><td class="mdescRight">Begins defragmentation process of the current pool. <br /></td></tr>
-<tr class="separator:adc87bb49c192de8f5a9ca0484c499575"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Custom memory pool. </p>
<p>Represents a separate set of heaps (memory blocks) that can be used to create <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a>-s and resources in it. Usually there is no need to create custom pools - creating resources in default pool is sufficient.</p>
<p>To create custom pool, fill <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html" title="Parameters of created D3D12MA::Pool object. To be used with D3D12MA::Allocator::CreatePool.">D3D12MA::POOL_DESC</a> and call <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#aac7b1f6bf53cbf4c4ce2264cb72ca515" title="Creates custom pool.">D3D12MA::Allocator::CreatePool</a>. </p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
+</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="adc87bb49c192de8f5a9ca0484c499575" name="adc87bb49c192de8f5a9ca0484c499575"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc87bb49c192de8f5a9ca0484c499575">◆ </a></span>BeginDefragmentation()</h2>
@@ -160,8 +141,8 @@
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
-<li><code>S_OK</code> if defragmentation can begin.</li>
-<li><code>E_NOINTERFACE</code> if defragmentation is not supported.</li>
+<li><span class="tt">S_OK</span> if defragmentation can begin.</li>
+<li><span class="tt">E_NOINTERFACE</span> if defragmentation is not supported.</li>
</ul>
</dd></dl>
<p>For more information about defragmentation, see documentation chapter: <a class="el" href="defragmentation.html">Defragmentation</a>. </p>
@@ -276,7 +257,7 @@
<p>Associates a name with the pool. This name is for use in debug diagnostics and tools. </p>
<p>Internal copy of the string is made, so the memory pointed by the argument can be changed of freed immediately after this call.</p>
-<p><code>Name</code> can be NULL. </p>
+<p><span class="tt">Name</span> can be NULL. </p>
</div>
</div>
@@ -286,7 +267,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/class_d3_d12_m_a_1_1_virtual_block-members.html b/docs/html/class_d3_d12_m_a_1_1_virtual_block-members.html
index 190326b..1e40ead 100644
--- a/docs/html/class_d3_d12_m_a_1_1_virtual_block-members.html
+++ b/docs/html/class_d3_d12_m_a_1_1_virtual_block-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -109,7 +96,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/class_d3_d12_m_a_1_1_virtual_block.html b/docs/html/class_d3_d12_m_a_1_1_virtual_block.html
index 5f6a3f2..0cb9114 100644
--- a/docs/html/class_d3_d12_m_a_1_1_virtual_block.html
+++ b/docs/html/class_d3_d12_m_a_1_1_virtual_block.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::VirtualBlock Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -106,45 +93,35 @@
<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 id="pub-methods" name="pub-methods"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7b23fd2da6f0343095fb14b31395678b" id="r_a7b23fd2da6f0343095fb14b31395678b"><td class="memItemLeft" align="right" valign="top">BOOL </td><td class="memItemRight" valign="bottom"><a class="el" href="#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. <br /></td></tr>
-<tr class="separator:a7b23fd2da6f0343095fb14b31395678b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac605dce05ca0d411e46079f0bad765d1" id="r_ac605dce05ca0d411e46079f0bad765d1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac605dce05ca0d411e46079f0bad765d1">GetAllocationInfo</a> (<a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html">VirtualAllocation</a> allocation, <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">VIRTUAL_ALLOCATION_INFO</a> *pInfo) const</td></tr>
<tr class="memdesc:ac605dce05ca0d411e46079f0bad765d1"><td class="mdescLeft"> </td><td class="mdescRight">Returns information about an allocation - its offset, size and custom pointer. <br /></td></tr>
-<tr class="separator:ac605dce05ca0d411e46079f0bad765d1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9281daf76e888ea1bd5247d5732e8179" id="r_a9281daf76e888ea1bd5247d5732e8179"><td class="memItemLeft" align="right" valign="top">HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9281daf76e888ea1bd5247d5732e8179">Allocate</a> (const <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">VIRTUAL_ALLOCATION_DESC</a> *pDesc, <a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html">VirtualAllocation</a> *pAllocation, UINT64 *pOffset)</td></tr>
<tr class="memdesc:a9281daf76e888ea1bd5247d5732e8179"><td class="mdescLeft"> </td><td class="mdescRight">Creates new allocation. <br /></td></tr>
-<tr class="separator:a9281daf76e888ea1bd5247d5732e8179"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aab44e46bd122054c894fc84740f1e8fb" id="r_aab44e46bd122054c894fc84740f1e8fb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aab44e46bd122054c894fc84740f1e8fb">FreeAllocation</a> (<a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html">VirtualAllocation</a> allocation)</td></tr>
<tr class="memdesc:aab44e46bd122054c894fc84740f1e8fb"><td class="mdescLeft"> </td><td class="mdescRight">Frees the allocation. <br /></td></tr>
-<tr class="separator:aab44e46bd122054c894fc84740f1e8fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae22b18c0b7c31b44c1d740f886369189" id="r_ae22b18c0b7c31b44c1d740f886369189"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae22b18c0b7c31b44c1d740f886369189">Clear</a> ()</td></tr>
<tr class="memdesc:ae22b18c0b7c31b44c1d740f886369189"><td class="mdescLeft"> </td><td class="mdescRight">Frees all the allocations. <br /></td></tr>
-<tr class="separator:ae22b18c0b7c31b44c1d740f886369189"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab96e34500b75a83a09d73b4585669114" id="r_ab96e34500b75a83a09d73b4585669114"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab96e34500b75a83a09d73b4585669114">SetAllocationPrivateData</a> (<a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html">VirtualAllocation</a> allocation, void *pPrivateData)</td></tr>
<tr class="memdesc:ab96e34500b75a83a09d73b4585669114"><td class="mdescLeft"> </td><td class="mdescRight">Changes custom pointer for an allocation to a new value. <br /></td></tr>
-<tr class="separator:ab96e34500b75a83a09d73b4585669114"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0f1dda0e019e218b021f64987a74b110" id="r_a0f1dda0e019e218b021f64987a74b110"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0f1dda0e019e218b021f64987a74b110">GetStatistics</a> (<a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a> *pStats) const</td></tr>
<tr class="memdesc:a0f1dda0e019e218b021f64987a74b110"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves basic statistics of the virtual block that are fast to calculate. <br /></td></tr>
-<tr class="separator:a0f1dda0e019e218b021f64987a74b110"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a614a82247ce6cf29c38895e16eb971d9" id="r_a614a82247ce6cf29c38895e16eb971d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a614a82247ce6cf29c38895e16eb971d9">CalculateStatistics</a> (<a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a> *pStats) const</td></tr>
<tr class="memdesc:a614a82247ce6cf29c38895e16eb971d9"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves detailed statistics of the virtual block that are slower to calculate. <br /></td></tr>
-<tr class="separator:a614a82247ce6cf29c38895e16eb971d9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a828a27070bfa762cae796d4c8f2ef703" id="r_a828a27070bfa762cae796d4c8f2ef703"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a828a27070bfa762cae796d4c8f2ef703">BuildStatsString</a> (WCHAR **ppStatsString) const</td></tr>
<tr class="memdesc:a828a27070bfa762cae796d4c8f2ef703"><td class="mdescLeft"> </td><td class="mdescRight">Builds and returns statistics as a string in JSON format, including the list of allocations with their parameters. <br /></td></tr>
-<tr class="separator:a828a27070bfa762cae796d4c8f2ef703"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6f78ddaa7da194e239089e52093e68a9" id="r_a6f78ddaa7da194e239089e52093e68a9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f78ddaa7da194e239089e52093e68a9">FreeStatsString</a> (WCHAR *pStatsString) const</td></tr>
<tr class="memdesc:a6f78ddaa7da194e239089e52093e68a9"><td class="mdescLeft"> </td><td class="mdescRight">Frees memory of a string returned from <a class="el" href="#a828a27070bfa762cae796d4c8f2ef703" title="Builds and returns statistics as a string in JSON format, including the list of allocations with thei...">VirtualBlock::BuildStatsString</a>. <br /></td></tr>
-<tr class="separator:a6f78ddaa7da194e239089e52093e68a9"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" 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="#ae5650809a150e3283abd307c88ee45bb" 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="#ae22b18c0b7c31b44c1d740f886369189" title="Frees all the allocations.">Clear()</a> before destroying it.</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="#ae5650809a150e3283abd307c88ee45bb" title="Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.">CreateVirtualBlock()</a>. To destroy it, call its method <span class="tt">VirtualBlock::Release()</span>. You need to free all the allocations within this block or call <a class="el" href="#ae22b18c0b7c31b44c1d740f886369189" title="Frees all the allocations.">Clear()</a> before destroying it.</p>
<p>This object is not thread-safe - should not be used from multiple threads simultaneously, must be synchronized externally. </p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
+</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="a9281daf76e888ea1bd5247d5732e8179" name="a9281daf76e888ea1bd5247d5732e8179"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9281daf76e888ea1bd5247d5732e8179">◆ </a></span>Allocate()</h2>
@@ -178,8 +155,8 @@
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>S_OK</code> if allocation succeeded, <code>E_OUTOFMEMORY</code> if it failed.</dd></dl>
-<p>If the allocation failed, <code>pAllocation-><a class="el" href="namespace_d3_d12_m_a.html#a15e349adce86a40e0417d405aef1af80" title="Unique identifier of single allocation done inside the memory heap.">AllocHandle</a></code> is set to 0 and <code>pOffset</code>, if not null, is set to <code>UINT64_MAX</code>. </p>
+<dl class="section return"><dt>Returns</dt><dd><span class="tt">S_OK</span> if allocation succeeded, <span class="tt">E_OUTOFMEMORY</span> if it failed.</dd></dl>
+<p>If the allocation failed, <span class="tt">pAllocation-><a class="el" href="namespace_d3_d12_m_a.html#a15e349adce86a40e0417d405aef1af80" title="Unique identifier of single allocation done inside the memory heap.">AllocHandle</a></span> is set to 0 and <span class="tt">pOffset</span>, if not null, is set to <span class="tt">UINT64_MAX</span>. </p>
</div>
</div>
@@ -268,7 +245,7 @@
</div><div class="memdoc">
<p>Frees the allocation. </p>
-<p>Calling this function with <code>allocation.AllocHandle == 0</code> is correct and does nothing. </p>
+<p>Calling this function with <span class="tt">allocation.AllocHandle == 0</span> is correct and does nothing. </p>
</div>
</div>
@@ -387,7 +364,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/classes.html b/docs/html/classes.html
index 3b8ddf2..e85eb86 100644
--- a/docs/html/classes.html
+++ b/docs/html/classes.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Class Index</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -117,7 +104,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/configuration.html b/docs/html/configuration.html
index 8eeaa50..65d7bdd 100644
--- a/docs/html/configuration.html
+++ b/docs/html/configuration.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Configuration</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,18 +70,18 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">Configuration</div></div>
+ <div class="headertitle"><div class="title">Configuration </div></div>
</div><!--header-->
<div class="contents">
-<div class="textblock"><p>Please check file <code>D3D12MemAlloc.cpp</code> lines between "Configuration Begin" and "Configuration End" to find macros that you can define to change the behavior of the library, primarily for debugging purposes.</p>
-<h1><a class="anchor" id="custom_memory_allocator"></a>
+<div class="textblock"><p>Please check file <span class="tt">D3D12MemAlloc.cpp</span> lines between "Configuration Begin" and "Configuration End" to find macros that you can define to change the behavior of the library, primarily for debugging purposes.</p>
+<h1 class="doxsection"><a class="anchor" id="custom_memory_allocator"></a>
Custom CPU memory allocator</h1>
-<p>If you use custom allocator for CPU memory rather than default C++ operator <code>new</code> and <code>delete</code> or <code>malloc</code> and <code>free</code> functions, you can make this library using your allocator as well by filling structure <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" title="Custom callbacks to CPU memory allocation functions.">D3D12MA::ALLOCATION_CALLBACKS</a> and passing it as optional member <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#a773ecc1945eb47c20e06455c3759e4ef" title="Custom CPU memory allocation callbacks. Optional.">D3D12MA::ALLOCATOR_DESC::pAllocationCallbacks</a>. Functions pointed there will be used by the library to make any CPU-side allocations. Example:</p>
+<p>If you use custom allocator for CPU memory rather than default C++ operator <span class="tt">new</span> and <span class="tt">delete</span> or <span class="tt">malloc</span> and <span class="tt">free</span> functions, you can make this library using your allocator as well by filling structure <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" title="Custom callbacks to CPU memory allocation functions.">D3D12MA::ALLOCATION_CALLBACKS</a> and passing it as optional member <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#a773ecc1945eb47c20e06455c3759e4ef" title="Custom CPU memory allocation callbacks. Optional.">D3D12MA::ALLOCATOR_DESC::pAllocationCallbacks</a>. Functions pointed there will be used by the library to make any CPU-side allocations. Example:</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include <malloc.h></span></div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">void</span>* CustomAllocate(<span class="keywordtype">size_t</span> Size, <span class="keywordtype">size_t</span> Alignment, <span class="keywordtype">void</span>* pPrivateData)</div>
@@ -133,11 +120,11 @@
<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:1150</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_ad8abad7c80ea0d8df27c85243ce720f3"><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#ad8abad7c80ea0d8df27c85243ce720f3">D3D12MA::ALLOCATOR_DESC::Flags</a></div><div class="ttdeci">ALLOCATOR_FLAGS Flags</div><div class="ttdoc">Flags for the entire allocator.</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:1126</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:1132</div></div>
-</div><!-- fragment --><h1><a class="anchor" id="debug_margins"></a>
+</div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="debug_margins"></a>
Debug margins</h1>
-<p>By default, allocations are laid out in memory blocks next to each other if possible (considering required alignment returned by <code>ID3D12Device::GetResourceAllocationInfo</code>).</p>
+<p>By default, allocations are laid out in memory blocks next to each other if possible (considering required alignment returned by <span class="tt">ID3D12Device::GetResourceAllocationInfo</span>).</p>
<p><img src="../gfx/Margins_1.png" alt="Allocations without margin" class="inline"/></p>
-<p>Define macro <code>D3D12MA_DEBUG_MARGIN</code> to some non-zero value (e.g. 16) inside "D3D12MemAlloc.cpp" to enforce specified number of bytes as a margin after every allocation.</p>
+<p>Define macro <span class="tt">D3D12MA_DEBUG_MARGIN</span> to some non-zero value (e.g. 16) inside "D3D12MemAlloc.cpp" to enforce specified number of bytes as a margin after every allocation.</p>
<p><img src="../gfx/Margins_2.png" alt="Allocations with margin" class="inline"/></p>
<p>If your bug goes away after enabling margins, it means it may be caused by memory being overwritten outside of allocation boundaries. It is not 100% certain though. Change in application behavior may also be caused by different order and distribution of allocations across memory blocks after margins are applied.</p>
<p>Margins work with all memory heap types.</p>
@@ -149,7 +136,7 @@
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/custom_pools.html b/docs/html/custom_pools.html
index 9112b38..0bfd570 100644
--- a/docs/html/custom_pools.html
+++ b/docs/html/custom_pools.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Custom memory pools</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,16 +70,16 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li><li class="navelem"><a class="el" href="optimal_allocation.html">Optimal resource allocation</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li><li class="navelem"><a href="optimal_allocation.html">Optimal resource allocation</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">Custom memory pools</div></div>
+ <div class="headertitle"><div class="title">Custom memory pools </div></div>
</div><!--header-->
<div class="contents">
-<div class="textblock"><p>A "pool" is a collection of memory blocks that share certain properties. Allocator creates 3 default pools: for <code>D3D12_HEAP_TYPE_DEFAULT</code>, <code>UPLOAD</code>, <code>READBACK</code>. A default pool automatically grows in size. Size of allocated blocks is also variable and managed automatically. Typical allocations are created in these pools. You can also create custom pools.</p>
-<h1><a class="anchor" id="custom_pools_usage"></a>
+<div class="textblock"><p>A "pool" is a collection of memory blocks that share certain properties. Allocator creates 3 default pools: for <span class="tt">D3D12_HEAP_TYPE_DEFAULT</span>, <span class="tt">UPLOAD</span>, <span class="tt">READBACK</span>. A default pool automatically grows in size. Size of allocated blocks is also variable and managed automatically. Typical allocations are created in these pools. You can also create custom pools.</p>
+<h1 class="doxsection"><a class="anchor" id="custom_pools_usage"></a>
Usage</h1>
<p>To create a custom pool, fill in structure <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html" title="Parameters of created D3D12MA::Pool object. To be used with D3D12MA::Allocator::CreatePool.">D3D12MA::POOL_DESC</a> and call function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#aac7b1f6bf53cbf4c4ce2264cb72ca515" title="Creates custom pool.">D3D12MA::Allocator::CreatePool</a> to obtain object <a class="el" href="class_d3_d12_m_a_1_1_pool.html" title="Custom memory pool.">D3D12MA::Pool</a>. Example:</p>
<div class="fragment"><div class="line">POOL_DESC poolDesc = {};</div>
@@ -115,16 +102,16 @@
</div><!-- fragment --><p>All allocations must be released before releasing the pool. The pool must be released before relasing the allocator.</p>
<div class="fragment"><div class="line">alloc->Release();</div>
<div class="line">pool->Release();</div>
-</div><!-- fragment --><h1><a class="anchor" id="custom_pools_features_and_benefits"></a>
+</div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="custom_pools_features_and_benefits"></a>
Features and benefits</h1>
<p>While it is recommended to use default pools whenever possible for simplicity and to give the allocator more opportunities for internal optimizations, custom pools may be useful in following cases:</p>
<ul>
<li>To keep some resources separate from others in memory.</li>
<li>To keep track of memory usage of just a specific group of resources. Statistics can be queried using <a class="el" href="class_d3_d12_m_a_1_1_pool.html#ad07999ac5dc8f0c63187afd45d551910" title="Retrieves detailed statistics of the custom pool that are slower to calculate.">D3D12MA::Pool::CalculateStatistics</a>.</li>
-<li>To use specific size of a memory block (<code>ID3D12Heap</code>). To set it, use member <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#af7284cc51a8ed5b551075584256de23c" title="Size of a single heap (memory block) to be allocated as part of this pool, in bytes....">D3D12MA::POOL_DESC::BlockSize</a>. When set to 0, the library uses automatically determined, variable block sizes.</li>
+<li>To use specific size of a memory block (<span class="tt">ID3D12Heap</span>). To set it, use member <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#af7284cc51a8ed5b551075584256de23c" title="Size of a single heap (memory block) to be allocated as part of this pool, in bytes....">D3D12MA::POOL_DESC::BlockSize</a>. When set to 0, the library uses automatically determined, variable block sizes.</li>
<li>To reserve some minimum amount of memory allocated. To use it, set member <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a6f10db3911a3bea1becfc9a0dfa5bac8" title="Minimum number of heaps (memory blocks) to be always allocated in this pool, even if they stay empty....">D3D12MA::POOL_DESC::MinBlockCount</a>.</li>
<li>To limit maximum amount of memory allocated. To use it, set member <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e" title="Maximum number of heaps (memory blocks) that can be allocated in this pool. Optional.">D3D12MA::POOL_DESC::MaxBlockCount</a>.</li>
-<li>To use extended parameters of the D3D12 memory allocation. While resources created from default pools can only specify <code>D3D12_HEAP_TYPE_DEFAULT</code>, <code>UPLOAD</code>, <code>READBACK</code>, a custom pool may use non-standard <code>D3D12_HEAP_PROPERTIES</code> (member <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a06e06813bcb5206e9f7a8b0564bf1d6a" title="The parameters of memory heap where allocations of this pool should be placed.">D3D12MA::POOL_DESC::HeapProperties</a>) and <code>D3D12_HEAP_FLAGS</code> (<a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc" title="Heap flags to be used when allocating heaps of this pool.">D3D12MA::POOL_DESC::HeapFlags</a>), which is useful e.g. for cross-adapter sharing or UMA (see also <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a9e742884bd45dd7f01193d13fcd05af0" title="Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.">D3D12MA::Allocator::IsUMA</a>).</li>
+<li>To use extended parameters of the D3D12 memory allocation. While resources created from default pools can only specify <span class="tt">D3D12_HEAP_TYPE_DEFAULT</span>, <span class="tt">UPLOAD</span>, <span class="tt">READBACK</span>, a custom pool may use non-standard <span class="tt">D3D12_HEAP_PROPERTIES</span> (member <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a06e06813bcb5206e9f7a8b0564bf1d6a" title="The parameters of memory heap where allocations of this pool should be placed.">D3D12MA::POOL_DESC::HeapProperties</a>) and <span class="tt">D3D12_HEAP_FLAGS</span> (<a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc" title="Heap flags to be used when allocating heaps of this pool.">D3D12MA::POOL_DESC::HeapFlags</a>), which is useful e.g. for cross-adapter sharing or UMA (see also <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a9e742884bd45dd7f01193d13fcd05af0" title="Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.">D3D12MA::Allocator::IsUMA</a>).</li>
</ul>
<p>New versions of this library support creating <b>committed allocations in custom pools</b>. It is supported only when <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#af7284cc51a8ed5b551075584256de23c" title="Size of a single heap (memory block) to be allocated as part of this pool, in bytes....">D3D12MA::POOL_DESC::BlockSize</a> = 0. To use this feature, set <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#ab06b85f3cf3254f855b29264477e3934" title="Custom pool to place the new resource in. Optional.">D3D12MA::ALLOCATION_DESC::CustomPool</a> to the pointer to your custom pool and <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#a92dec49b788a334fc91c55340dfbace6" title="Flags for the allocation.">D3D12MA::ALLOCATION_DESC::Flags</a> to <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a>. Example:</p>
<div class="fragment"><div class="line">ALLOCATION_DESC allocDesc = {};</div>
@@ -136,12 +123,12 @@
<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><!-- 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><!-- 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 <span class="tt">D3D12_HEAP_PROPERTIES</span>, which are available only in custom pools. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/defragmentation.html b/docs/html/defragmentation.html
index d68a400..b82dbde 100644
--- a/docs/html/defragmentation.html
+++ b/docs/html/defragmentation.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Defragmentation</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,16 +70,16 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li><li class="navelem"><a class="el" href="optimal_allocation.html">Optimal resource allocation</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li><li class="navelem"><a href="optimal_allocation.html">Optimal resource allocation</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">Defragmentation</div></div>
+ <div class="headertitle"><div class="title">Defragmentation </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Interleaved allocations and deallocations of many objects of varying size can cause fragmentation over time, which can lead to a situation where the library is unable to find a continuous range of free memory for a new allocation despite there is enough free space, just scattered across many small free ranges between existing allocations.</p>
-<p>To mitigate this problem, you can use defragmentation feature. It doesn't happen automatically though and needs your cooperation, because D3D12MA is a low level library that only allocates memory. It cannot recreate buffers and textures in a new place as it doesn't remember the contents of <code>D3D12_RESOURCE_DESC</code> structure. It cannot copy their contents as it doesn't record any commands to a command list.</p>
+<p>To mitigate this problem, you can use defragmentation feature. It doesn't happen automatically though and needs your cooperation, because D3D12MA is a low level library that only allocates memory. It cannot recreate buffers and textures in a new place as it doesn't remember the contents of <span class="tt">D3D12_RESOURCE_DESC</span> structure. It cannot copy their contents as it doesn't record any commands to a command list.</p>
<p>Example:</p>
<div class="fragment"><div class="line"><a class="code hl_struct" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">D3D12MA::DEFRAGMENTATION_DESC</a> defragDesc = {};</div>
<div class="line">defragDesc.<a class="code hl_variable" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html#aac9a357e679a0afa9ab84cd06057630b">Flags</a> = <a class="code hl_enumvalue" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4a9d0301a81136ca79e3ba52542c6d2e13">D3D12MA::DEFRAGMENTATION_FLAG_ALGORITHM_FAST</a>;</div>
@@ -162,11 +149,11 @@
<div class="ttc" id="astruct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">D3D12MA::DEFRAGMENTATION_PASS_MOVE_INFO</a></div><div class="ttdoc">Parameters for incremental defragmentation steps.</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:768</div></div>
<div class="ttc" id="astruct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o_html_a719fbdaae54251759605c41baeb24dc4"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html#a719fbdaae54251759605c41baeb24dc4">D3D12MA::DEFRAGMENTATION_PASS_MOVE_INFO::pMoves</a></div><div class="ttdeci">DEFRAGMENTATION_MOVE * pMoves</div><div class="ttdoc">Array of moves to be performed by the user in the current defragmentation pass.</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:792</div></div>
<div class="ttc" id="astruct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o_html_a8df22d990c318d82fe9fcc5f04132c04"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html#a8df22d990c318d82fe9fcc5f04132c04">D3D12MA::DEFRAGMENTATION_PASS_MOVE_INFO::MoveCount</a></div><div class="ttdeci">UINT32 MoveCount</div><div class="ttdoc">Number of elements in the pMoves array.</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:770</div></div>
-</div><!-- fragment --><p>Although functions like <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> create an allocation and a buffer/texture at once, these are just a shortcut for allocating memory and creating a placed resource. Defragmentation works on memory allocations only. You must handle the rest manually. Defragmentation is an iterative process that should repreat "passes" as long as related functions return <code>S_FALSE</code> not <code>S_OK</code>. In each pass:</p>
+</div><!-- fragment --><p>Although functions like <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> create an allocation and a buffer/texture at once, these are just a shortcut for allocating memory and creating a placed resource. Defragmentation works on memory allocations only. You must handle the rest manually. Defragmentation is an iterative process that should repreat "passes" as long as related functions return <span class="tt">S_FALSE</span> not <span class="tt">S_OK</span>. In each pass:</p>
<ol type="1">
<li><a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1606c015d02edc094bb246986159d592" title="Starts single defragmentation pass.">D3D12MA::DefragmentationContext::BeginPass()</a> function call:<ul>
<li>Calculates and returns the list of allocations to be moved in this pass. Note this can be a time-consuming process.</li>
-<li>Reserves destination memory for them by creating temporary destination allocations that you can query for their <code>ID3D12Heap</code> + offset using methods like <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#adca8d5a82bed492fe7265fcda6e53da2" title="Returns memory heap that the resource is created in.">D3D12MA::Allocation::GetHeap()</a>.</li>
+<li>Reserves destination memory for them by creating temporary destination allocations that you can query for their <span class="tt">ID3D12Heap</span> + offset using methods like <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#adca8d5a82bed492fe7265fcda6e53da2" title="Returns memory heap that the resource is created in.">D3D12MA::Allocation::GetHeap()</a>.</li>
</ul>
</li>
<li>Inside the pass, <b>you should</b>:<ul>
@@ -179,40 +166,40 @@
<li><a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">D3D12MA::DefragmentationContext::EndPass()</a> function call:<ul>
<li>Frees the source memory reserved for the allocations that are moved.</li>
<li>Modifies source <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> objects that are moved to point to the destination reserved memory and destination resource, while source resource is released.</li>
-<li>Frees <code>ID3D12Heap</code> blocks that became empty.</li>
+<li>Frees <span class="tt">ID3D12Heap</span> blocks that became empty.</li>
</ul>
</li>
</ol>
-<p>Defragmentation algorithm tries to move all suitable allocations. You can, however, refuse to move some of them inside a defragmentation pass, by setting <code>pass.pMoves[i].Operation</code> to <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6" title="Set this value if you cannot move the allocation. New place reserved at pDstTmpAllocation will be fre...">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_IGNORE</a>. This is not recommended and may result in suboptimal packing of the allocations after defragmentation. If you cannot ensure any allocation can be moved, it is better to keep movable allocations separate in a custom pool.</p>
+<p>Defragmentation algorithm tries to move all suitable allocations. You can, however, refuse to move some of them inside a defragmentation pass, by setting <span class="tt">pass.pMoves[i].Operation</span> to <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6" title="Set this value if you cannot move the allocation. New place reserved at pDstTmpAllocation will be fre...">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_IGNORE</a>. This is not recommended and may result in suboptimal packing of the allocations after defragmentation. If you cannot ensure any allocation can be moved, it is better to keep movable allocations separate in a custom pool.</p>
<p>Inside a pass, for each allocation that should be moved:</p>
<ul>
-<li>You should copy its data from the source to the destination place by calling e.g. <code>CopyResource()</code>.<ul>
+<li>You should copy its data from the source to the destination place by calling e.g. <span class="tt">CopyResource()</span>.<ul>
<li>You need to make sure these commands finished executing before the source buffers/textures are released by <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">D3D12MA::DefragmentationContext::EndPass()</a>.</li>
</ul>
</li>
<li>If a resource doesn't contain any meaningful data, e.g. it is a transient render-target texture to be cleared, filled, and used temporarily in each rendering frame, you can just recreate this texture without copying its data.</li>
-<li>If the resource is in <code>D3D12_HEAP_TYPE_READBACK</code> memory, you can copy its data on the CPU using <code>memcpy()</code>.</li>
-<li>If you cannot move the allocation, you can set <code>pass.pMoves[i].Operation</code> to <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6" title="Set this value if you cannot move the allocation. New place reserved at pDstTmpAllocation will be fre...">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_IGNORE</a>. This will cancel the move.<ul>
+<li>If the resource is in <span class="tt">D3D12_HEAP_TYPE_READBACK</span> memory, you can copy its data on the CPU using <span class="tt">memcpy()</span>.</li>
+<li>If you cannot move the allocation, you can set <span class="tt">pass.pMoves[i].Operation</span> to <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6" title="Set this value if you cannot move the allocation. New place reserved at pDstTmpAllocation will be fre...">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_IGNORE</a>. This will cancel the move.<ul>
<li><a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">D3D12MA::DefragmentationContext::EndPass()</a> will then free the destination memory not the source memory of the allocation, leaving it unchanged.</li>
</ul>
</li>
-<li>If you decide the allocation is unimportant and can be destroyed instead of moved (e.g. it wasn't used for long time), you can set <code>pass.pMoves[i].Operation</code> to <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242" title="Set this value if you decide to abandon the allocation and you destroyed the resource....">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_DESTROY</a>.<ul>
+<li>If you decide the allocation is unimportant and can be destroyed instead of moved (e.g. it wasn't used for long time), you can set <span class="tt">pass.pMoves[i].Operation</span> to <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242" title="Set this value if you decide to abandon the allocation and you destroyed the resource....">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_DESTROY</a>.<ul>
<li><a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">D3D12MA::DefragmentationContext::EndPass()</a> will then free both source and destination memory, and will destroy the source <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> object.</li>
</ul>
</li>
</ul>
<p>You can defragment a specific custom pool by calling <a class="el" href="class_d3_d12_m_a_1_1_pool.html#adc87bb49c192de8f5a9ca0484c499575" title="Begins defragmentation process of the current pool.">D3D12MA::Pool::BeginDefragmentation</a> or all the default pools by calling <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a08e1468f1dbb63ce3bf6680e592b2143" title="Begins defragmentation process of the default pools.">D3D12MA::Allocator::BeginDefragmentation</a> (like in the example above).</p>
-<p>Defragmentation is always performed in each pool separately. Allocations are never moved between different heap types. The size of the destination memory reserved for a moved allocation is the same as the original one. Alignment of an allocation as it was determined using <code>GetResourceAllocationInfo()</code> is also respected after defragmentation. Buffers/textures should be recreated with the same <code>D3D12_RESOURCE_DESC</code> parameters as the original ones.</p>
+<p>Defragmentation is always performed in each pool separately. Allocations are never moved between different heap types. The size of the destination memory reserved for a moved allocation is the same as the original one. Alignment of an allocation as it was determined using <span class="tt">GetResourceAllocationInfo()</span> is also respected after defragmentation. Buffers/textures should be recreated with the same <span class="tt">D3D12_RESOURCE_DESC</span> parameters as the original ones.</p>
<p>You can perform the defragmentation incrementally to limit the number of allocations and bytes to be moved in each pass, e.g. to call it in sync with render frames and not to experience too big hitches. See members: <a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html#ad8d224e0687a35898970d0a5688c6343" title="Maximum numbers of bytes that can be copied during single pass, while moving allocations to different...">D3D12MA::DEFRAGMENTATION_DESC::MaxBytesPerPass</a>, <a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html#a83bfb404f387863eafdd6703483aed89" title="Maximum number of allocations that can be moved during single pass to a different place.">D3D12MA::DEFRAGMENTATION_DESC::MaxAllocationsPerPass</a>.</p>
<p><b>Thread safety:</b> It is safe to perform the defragmentation asynchronously to render frames and other Direct3D 12 and D3D12MA usage, possibly from multiple threads, with the exception that allocations returned in <a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html#a719fbdaae54251759605c41baeb24dc4" title="Array of moves to be performed by the user in the current defragmentation pass.">D3D12MA::DEFRAGMENTATION_PASS_MOVE_INFO::pMoves</a> shouldn't be released until the defragmentation pass is ended. During the call to <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1606c015d02edc094bb246986159d592" title="Starts single defragmentation pass.">D3D12MA::DefragmentationContext::BeginPass()</a>, any operations on the memory pool affected by the defragmentation are blocked by a mutex.</p>
-<p>What it means in practice is that you shouldn't free any allocations from the defragmented pool since the moment a call to <code>BeginPass</code> begins. Otherwise, a thread performing the <code>allocation->Release()</code> would block for the time <code>BeginPass</code> executes and then free the allocation when it finishes, while the allocation could have ended up on the list of allocations to move. A solution to freeing allocations during defragmentation is to find such allocation on the list <code>pass.pMoves[i]</code> and set its operation to <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242" title="Set this value if you decide to abandon the allocation and you destroyed the resource....">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_DESTROY</a> instead of calling <code>allocation->Release()</code>, or simply deferring the release to the time after defragmentation finished.</p>
+<p>What it means in practice is that you shouldn't free any allocations from the defragmented pool since the moment a call to <span class="tt">BeginPass</span> begins. Otherwise, a thread performing the <span class="tt">allocation->Release()</span> would block for the time <span class="tt">BeginPass</span> executes and then free the allocation when it finishes, while the allocation could have ended up on the list of allocations to move. A solution to freeing allocations during defragmentation is to find such allocation on the list <span class="tt">pass.pMoves[i]</span> and set its operation to <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242" title="Set this value if you decide to abandon the allocation and you destroyed the resource....">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION_DESTROY</a> instead of calling <span class="tt">allocation->Release()</span>, or simply deferring the release to the time after defragmentation finished.</p>
<p><b>Mapping</b> is out of scope of this library and so it is not preserved after an allocation is moved during defragmentation. You need to map the new resource yourself if needed.</p>
<dl class="section note"><dt>Note</dt><dd>Defragmentation is not supported in custom pools created with <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1aa37a0103f511954ea42a1d0bba286b6a">D3D12MA::POOL_FLAG_ALGORITHM_LINEAR</a>. </dd></dl>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html
index fa88354..6e6d46e 100644
--- a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html
+++ b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: C:/Code/D3D12MemoryAllocator/REPO/include Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
+<li class="navelem"><a href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -92,15 +79,14 @@
</div><!--header-->
<div class="contents">
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-files" class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span> </td><td class="memItemRight" valign="bottom"><a class="el" href="_d3_d12_mem_alloc_8h.html">D3D12MemAlloc.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:D3D12MemAlloc_2Eh" id="r_D3D12MemAlloc_2Eh"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"><div class="doc-icon"></div></span> </td><td class="memItemRight" valign="bottom"><a class="el" href="_d3_d12_mem_alloc_8h.html">D3D12MemAlloc.h</a></td></tr>
</table>
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css
index 4947e24..5d2eecd 100644
--- a/docs/html/doxygen.css
+++ b/docs/html/doxygen.css
@@ -1,11 +1,12 @@
-/* The standard CSS for doxygen 1.13.2*/
+/* The standard CSS for doxygen 1.14.0*/
html {
/* page base colors */
--page-background-color: white;
--page-foreground-color: black;
--page-link-color: #3D578C;
---page-visited-link-color: #4665A2;
+--page-visited-link-color: #3D578C;
+--page-external-link-color: #334975;
/* index */
--index-odd-item-bg-color: #F8F9FC;
@@ -16,46 +17,50 @@
/* header */
--header-background-color: #F9FAFC;
--header-separator-color: #C4CFE5;
---header-gradient-image: url('nav_h.png');
---group-header-separator-color: #879ECB;
+--group-header-separator-color: #D9E0EE;
--group-header-color: #354C7B;
--inherit-header-color: gray;
--footer-foreground-color: #2A3D61;
---footer-logo-width: 104px;
+--footer-logo-width: 75px;
--citation-label-color: #334975;
--glow-color: cyan;
--title-background-color: white;
---title-separator-color: #5373B4;
+--title-separator-color: #C4CFE5;
--directory-separator-color: #9CAFD4;
--separator-color: #4A6AAA;
--blockquote-background-color: #F7F8FB;
--blockquote-border-color: #9CAFD4;
---scrollbar-thumb-color: #9CAFD4;
+--scrollbar-thumb-color: #C4CFE5;
--scrollbar-background-color: #F9FAFC;
--icon-background-color: #728DC1;
--icon-foreground-color: white;
+/*
--icon-doc-image: url('doc.svg');
--icon-folder-open-image: url('folderopen.svg');
---icon-folder-closed-image: url('folderclosed.svg');
+--icon-folder-closed-image: url('folderclosed.svg');*/
+--icon-folder-open-fill-color: #C4CFE5;
+--icon-folder-fill-color: #D8DFEE;
+--icon-folder-border-color: #4665A2;
+--icon-doc-fill-color: #D8DFEE;
+--icon-doc-border-color: #4665A2;
/* brief member declaration list */
--memdecl-background-color: #F9FAFC;
--memdecl-separator-color: #DEE4F0;
--memdecl-foreground-color: #555;
--memdecl-template-color: #4665A2;
+--memdecl-border-color: #D5DDEC;
/* detailed member list */
--memdef-border-color: #A8B8D9;
--memdef-title-background-color: #E2E8F2;
---memdef-title-gradient-image: url('nav_f.png');
---memdef-proto-background-color: #DFE5F1;
+--memdef-proto-background-color: #EEF1F7;
--memdef-proto-text-color: #253555;
---memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
--memdef-doc-background-color: white;
--memdef-param-name-color: #602020;
--memdef-template-color: #4665A2;
@@ -74,29 +79,34 @@
/** navigation bar/tree/menu */
--nav-background-color: #F9FAFC;
--nav-foreground-color: #364D7C;
---nav-gradient-image: url('tab_b.png');
---nav-gradient-hover-image: url('tab_h.png');
---nav-gradient-active-image: url('tab_a.png');
---nav-gradient-active-image-parent: url("../tab_a.png");
---nav-separator-image: url('tab_s.png');
---nav-breadcrumb-image: url('bc_s.png');
---nav-breadcrumb-border-color: #C2CDE4;
---nav-splitbar-image: url('splitbar.png');
+--nav-border-color: #C4CFE5;
+--nav-breadcrumb-separator-color: #C4CFE5;
+--nav-breadcrumb-active-bg: #EEF1F7;
+--nav-breadcrumb-color: #354C7B;
+--nav-breadcrumb-border-color: #E1E7F2;
+--nav-splitbar-bg-color: #DCE2EF;
+--nav-splitbar-handle-color: #9CAFD4;
--nav-font-size-level1: 13px;
--nav-font-size-level2: 10px;
--nav-font-size-level3: 9px;
--nav-text-normal-color: #283A5D;
--nav-text-hover-color: white;
--nav-text-active-color: white;
---nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
--nav-menu-button-color: #364D7C;
--nav-menu-background-color: white;
--nav-menu-foreground-color: #555555;
+--nav-menu-active-bg: #DCE2EF;
+--nav-menu-active-color: #9CAFD4;
--nav-menu-toggle-color: rgba(255, 255, 255, 0.5);
---nav-arrow-color: #9CAFD4;
---nav-arrow-selected-color: #9CAFD4;
+--nav-arrow-color: #B6C4DF;
+--nav-arrow-selected-color: #90A5CE;
+
+/* sync icon */
+--sync-icon-border-color: #C4CFE5;
+--sync-icon-background-color: #F9FAFC;
+--sync-icon-selected-background-color: #EEF1F7;
+--sync-icon-color: #C4CFE5;
+--sync-icon-selected-color: #6884BD;
/* table of contents */
--toc-background-color: #F4F6FA;
@@ -107,18 +117,20 @@
/** search field */
--search-background-color: white;
--search-foreground-color: #909090;
---search-magnification-image: url('mag.svg');
---search-magnification-select-image: url('mag_sel.svg');
--search-active-color: black;
---search-filter-background-color: #F9FAFC;
+--search-filter-background-color: rgba(255,255,255,.7);
+--search-filter-backdrop-filter: blur(4px);
--search-filter-foreground-color: black;
---search-filter-border-color: #90A5CE;
+--search-filter-border-color: rgba(150,150,150,.4);
--search-filter-highlight-text-color: white;
--search-filter-highlight-bg-color: #3D578C;
--search-results-foreground-color: #425E97;
---search-results-background-color: #EEF1F7;
---search-results-border-color: black;
---search-box-shadow: inset 0.5px 0.5px 3px 0px #555;
+--search-results-background-color: rgba(255,255,255,.8);
+--search-results-backdrop-filter: blur(4px);
+--search-results-border-color: rgba(150,150,150,.4);
+--search-box-border-color: #B6C4DF;
+--search-close-icon-bg-color: #A0A0A0;
+--search-close-icon-fg-color: white;
/** code fragments */
--code-keyword-color: #008000;
@@ -147,23 +159,21 @@
--fragment-lineno-link-hover-bg-color: #C8C8C8;
--fragment-copy-ok-color: #2EC82E;
--tooltip-foreground-color: black;
---tooltip-background-color: white;
---tooltip-border-color: gray;
+--tooltip-background-color: rgba(255,255,255,0.8);
+--tooltip-arrow-background-color: white;
+--tooltip-border-color: rgba(150,150,150,0.7);
+--tooltip-backdrop-filter: blur(3px);
--tooltip-doc-color: grey;
--tooltip-declaration-color: #006318;
--tooltip-link-color: #4665A2;
---tooltip-shadow: 1px 1px 7px gray;
+--tooltip-shadow: 0 4px 8px 0 rgba(0,0,0,.25);
--fold-line-color: #808080;
---fold-minus-image: url('minus.svg');
---fold-plus-image: url('plus.svg');
---fold-minus-image-relpath: url('../../minus.svg');
---fold-plus-image-relpath: url('../../plus.svg');
/** font-family */
---font-family-normal: Roboto,sans-serif;
+--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
---font-family-title: Tahoma,Arial,sans-serif;
+--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
--font-family-search: Arial,Verdana,sans-serif;
--font-family-icon: Arial,Helvetica;
@@ -201,7 +211,8 @@
--page-background-color: black;
--page-foreground-color: #C9D1D9;
--page-link-color: #90A5CE;
---page-visited-link-color: #A3B4D7;
+--page-visited-link-color: #90A5CE;
+--page-external-link-color: #A3B4D7;
/* index */
--index-odd-item-bg-color: #0B101A;
@@ -212,8 +223,7 @@
/* header */
--header-background-color: #070B11;
--header-separator-color: #141C2E;
---header-gradient-image: url('nav_hd.png');
---group-header-separator-color: #283A5D;
+--group-header-separator-color: #1D2A43;
--group-header-color: #90A5CE;
--inherit-header-color: #A0A0A0;
@@ -223,35 +233,36 @@
--glow-color: cyan;
--title-background-color: #090D16;
---title-separator-color: #354C79;
+--title-separator-color: #212F4B;
--directory-separator-color: #283A5D;
--separator-color: #283A5D;
--blockquote-background-color: #101826;
--blockquote-border-color: #283A5D;
---scrollbar-thumb-color: #283A5D;
+--scrollbar-thumb-color: #2C3F65;
--scrollbar-background-color: #070B11;
--icon-background-color: #334975;
--icon-foreground-color: #C4CFE5;
---icon-doc-image: url('docd.svg');
---icon-folder-open-image: url('folderopend.svg');
---icon-folder-closed-image: url('folderclosedd.svg');
+--icon-folder-open-fill-color: #4665A2;
+--icon-folder-fill-color: #5373B4;
+--icon-folder-border-color: #C4CFE5;
+--icon-doc-fill-color: #6884BD;
+--icon-doc-border-color: #C4CFE5;
/* brief member declaration list */
--memdecl-background-color: #0B101A;
--memdecl-separator-color: #2C3F65;
--memdecl-foreground-color: #BBB;
--memdecl-template-color: #7C95C6;
+--memdecl-border-color: #233250;
/* detailed member list */
--memdef-border-color: #233250;
--memdef-title-background-color: #1B2840;
---memdef-title-gradient-image: url('nav_fd.png');
--memdef-proto-background-color: #19243A;
--memdef-proto-text-color: #9DB0D4;
---memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9);
--memdef-doc-background-color: black;
--memdef-param-name-color: #D28757;
--memdef-template-color: #7C95C6;
@@ -270,29 +281,34 @@
/** navigation bar/tree/menu */
--nav-background-color: #101826;
--nav-foreground-color: #364D7C;
---nav-gradient-image: url('tab_bd.png');
---nav-gradient-hover-image: url('tab_hd.png');
---nav-gradient-active-image: url('tab_ad.png');
---nav-gradient-active-image-parent: url("../tab_ad.png");
---nav-separator-image: url('tab_sd.png');
---nav-breadcrumb-image: url('bc_sd.png');
+--nav-border-color: #212F4B;
+--nav-breadcrumb-separator-color: #212F4B;
+--nav-breadcrumb-active-bg: #1D2A43;
+--nav-breadcrumb-color: #90A5CE;
--nav-breadcrumb-border-color: #2A3D61;
---nav-splitbar-image: url('splitbard.png');
+--nav-splitbar-bg-color: #283A5D;
+--nav-splitbar-handle-color: #4665A2;
--nav-font-size-level1: 13px;
--nav-font-size-level2: 10px;
--nav-font-size-level3: 9px;
--nav-text-normal-color: #B6C4DF;
--nav-text-hover-color: #DCE2EF;
--nav-text-active-color: #DCE2EF;
---nav-text-normal-shadow: 0px 1px 1px black;
---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
--nav-menu-button-color: #B6C4DF;
--nav-menu-background-color: #05070C;
--nav-menu-foreground-color: #BBBBBB;
+--nav-menu-active-bg: #1D2A43;
+--nav-menu-active-color: #C9D3E7;
--nav-menu-toggle-color: rgba(255, 255, 255, 0.2);
---nav-arrow-color: #334975;
---nav-arrow-selected-color: #90A5CE;
+--nav-arrow-color: #4665A2;
+--nav-arrow-selected-color: #6884BD;
+
+/* sync icon */
+--sync-icon-border-color: #212F4B;
+--sync-icon-background-color: #101826;
+--sync-icon-selected-background-color: #1D2A43;
+--sync-icon-color: #4665A2;
+--sync-icon-selected-color: #5373B4;
/* table of contents */
--toc-background-color: #151E30;
@@ -303,18 +319,20 @@
/** search field */
--search-background-color: black;
--search-foreground-color: #C5C5C5;
---search-magnification-image: url('mag_d.svg');
---search-magnification-select-image: url('mag_seld.svg');
---search-active-color: #C5C5C5;
+--search-active-color: #F5F5F5;
--search-filter-background-color: #101826;
--search-filter-foreground-color: #90A5CE;
+--search-filter-backdrop-filter: none;
--search-filter-border-color: #7C95C6;
--search-filter-highlight-text-color: #BCC9E2;
--search-filter-highlight-bg-color: #283A5D;
---search-results-background-color: #101826;
+--search-results-background-color: black;
--search-results-foreground-color: #90A5CE;
---search-results-border-color: #7C95C6;
---search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C;
+--search-results-backdrop-filter: none;
+--search-results-border-color: #334975;
+--search-box-border-color: #334975;
+--search-close-icon-bg-color: #909090;
+--search-close-icon-fg-color: black;
/** code fragments */
--code-keyword-color: #CC99CD;
@@ -344,22 +362,20 @@
--fragment-copy-ok-color: #0EA80E;
--tooltip-foreground-color: #C9D1D9;
--tooltip-background-color: #202020;
+--tooltip-arrow-background-color: #202020;
+--tooltip-backdrop-filter: none;
--tooltip-border-color: #C9D1D9;
--tooltip-doc-color: #D9E1E9;
--tooltip-declaration-color: #20C348;
--tooltip-link-color: #79C0FF;
--tooltip-shadow: none;
--fold-line-color: #808080;
---fold-minus-image: url('minusd.svg');
---fold-plus-image: url('plusd.svg');
---fold-minus-image-relpath: url('../../minusd.svg');
---fold-plus-image-relpath: url('../../plusd.svg');
/** font-family */
---font-family-normal: Roboto,sans-serif;
+--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
---font-family-title: Tahoma,Arial,sans-serif;
+--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
--font-family-search: Arial,Verdana,sans-serif;
--font-family-icon: Arial,Helvetica;
@@ -389,8 +405,8 @@
--invariant-color-text: #cceed5;
}}
body {
- background-color: var(--page-background-color);
- color: var(--page-foreground-color);
+ background-color: var(--page-background-color);
+ color: var(--page-foreground-color);
}
body, table, div, p, dl {
@@ -400,13 +416,22 @@
line-height: 22px;
}
+body.resizing {
+ user-select: none;
+ -webkit-user-select: none;
+}
+
+#doc-content {
+ scrollbar-width: thin;
+}
+
/* @group Heading Levels */
.title {
font-family: var(--font-family-normal);
line-height: 28px;
- font-size: 150%;
- font-weight: bold;
+ font-size: 160%;
+ font-weight: 400;
margin: 10px 2px;
}
@@ -415,7 +440,10 @@
}
h2.groupheader {
- border-bottom: 1px solid var(--group-header-separator-color);
+ box-shadow: 12px 0 var(--page-background-color),
+ -12px 0 var(--page-background-color),
+ 12px 1px var(--group-header-separator-color),
+ -12px 1px var(--group-header-separator-color);
color: var(--group-header-color);
font-size: 150%;
font-weight: normal;
@@ -425,6 +453,13 @@
width: 100%;
}
+td h2.groupheader {
+ box-shadow: 13px 0 var(--page-background-color),
+ -13px 0 var(--page-background-color),
+ 13px 1px var(--group-header-separator-color),
+ -13px 1px var(--group-header-separator-color);
+}
+
h3.groupheader {
font-size: 100%;
}
@@ -451,8 +486,8 @@
}
th p.starttd, th p.intertd, th p.endtd {
- font-size: 100%;
- font-weight: 700;
+ font-size: 100%;
+ font-weight: 700;
}
p.starttd {
@@ -497,9 +532,11 @@
}
div.navtab {
- padding-right: 15px;
+ margin-right: 6px;
+ padding-right: 6px;
text-align: right;
line-height: 110%;
+ background-color: var(--nav-background-color);
}
div.navtab table {
@@ -512,19 +549,10 @@
}
td.navtabHL {
- background-image: var(--nav-gradient-active-image);
- background-repeat:repeat-x;
padding-right: 6px;
padding-left: 6px;
-}
-
-td.navtabHL a, td.navtabHL a:visited {
- color: var(--nav-text-hover-color);
- text-shadow: var(--nav-text-hover-shadow);
-}
-
-a.navtab {
- font-weight: bold;
+ border-radius: 0 6px 6px 0;
+ background-color: var(--nav-menu-active-bg);
}
div.qindex{
@@ -599,16 +627,11 @@
color: var(--page-visited-link-color);
}
-a:hover {
+span.label a:hover {
text-decoration: none;
background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%);
}
-a:hover > span.arrow {
- text-decoration: none;
- background : var(--nav-background-color);
-}
-
a.el {
font-weight: bold;
}
@@ -616,12 +639,12 @@
a.elRef {
}
-a.code, a.code:visited, a.line, a.line:visited {
- color: var(--code-link-color);
+a.el, a.el:visited, a.code, a.code:visited, a.line, a.line:visited {
+ color: var(--page-link-color);
}
a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
- color: var(--code-external-link-color);
+ color: var(--page-external-link-color);
}
a.code.hl_class { /* style for links to class names in code snippets */ }
@@ -658,118 +681,124 @@
}
ul.check {
- list-style:none;
- text-indent: -16px;
- padding-left: 38px;
+ list-style:none;
+ text-indent: -16px;
+ padding-left: 38px;
}
li.unchecked:before {
- content: "\2610\A0";
+ content: "\2610\A0";
}
li.checked:before {
- content: "\2611\A0";
+ content: "\2611\A0";
}
ol {
- text-indent: 0px;
+ text-indent: 0px;
}
ul {
- text-indent: 0px;
- overflow: visible;
+ text-indent: 0px;
+ overflow: visible;
}
ul.multicol {
- -moz-column-gap: 1em;
- -webkit-column-gap: 1em;
- column-gap: 1em;
- -moz-column-count: 3;
- -webkit-column-count: 3;
- column-count: 3;
- list-style-type: none;
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+ column-count: 3;
+ list-style-type: none;
}
#side-nav ul {
- overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
+ overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
}
#main-nav ul {
- overflow: visible; /* reset ul rule for the navigation bar drop down lists */
+ overflow: visible; /* reset ul rule for the navigation bar drop down lists */
}
.fragment {
- text-align: left;
- direction: ltr;
- overflow-x: auto;
- overflow-y: hidden;
- position: relative;
- min-height: 12px;
- margin: 10px 0px;
- padding: 10px 10px;
- border: 1px solid var(--fragment-border-color);
- border-radius: 4px;
- background-color: var(--fragment-background-color);
- color: var(--fragment-foreground-color);
+ text-align: left;
+ direction: ltr;
+ overflow-x: auto;
+ overflow-y: hidden;
+ position: relative;
+ min-height: 12px;
+ margin: 10px 0px;
+ padding: 10px 10px;
+ border: 1px solid var(--fragment-border-color);
+ border-radius: 4px;
+ background-color: var(--fragment-background-color);
+ color: var(--fragment-foreground-color);
}
pre.fragment {
- word-wrap: break-word;
- font-size: 10pt;
- line-height: 125%;
- font-family: var(--font-family-monospace);
+ word-wrap: break-word;
+ font-size: 10pt;
+ line-height: 125%;
+ font-family: var(--font-family-monospace);
+}
+
+span.tt {
+ white-space: pre;
+ font-family: var(--font-family-monospace);
}
.clipboard {
- width: 24px;
- height: 24px;
- right: 5px;
- top: 5px;
- opacity: 0;
- position: absolute;
- display: inline;
- overflow: hidden;
- justify-content: center;
- align-items: center;
- cursor: pointer;
+ width: 24px;
+ height: 24px;
+ right: 5px;
+ top: 5px;
+ opacity: 0;
+ position: absolute;
+ display: inline;
+ overflow: hidden;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
}
.clipboard.success {
- border: 1px solid var(--fragment-foreground-color);
- border-radius: 4px;
+ border: 1px solid var(--fragment-foreground-color);
+ border-radius: 4px;
}
.fragment:hover .clipboard, .clipboard.success {
- opacity: .4;
+ opacity: .4;
}
.clipboard:hover, .clipboard.success {
- opacity: 1 !important;
+ opacity: 1 !important;
}
.clipboard:active:not([class~=success]) svg {
- transform: scale(.91);
+ transform: scale(.91);
}
.clipboard.success svg {
- fill: var(--fragment-copy-ok-color);
+ fill: var(--fragment-copy-ok-color);
}
.clipboard.success {
- border-color: var(--fragment-copy-ok-color);
+ border-color: var(--fragment-copy-ok-color);
}
div.line {
font-family: var(--font-family-monospace);
- font-size: 13px;
+ font-size: 13px;
min-height: 13px;
line-height: 1.2;
- text-wrap: unrestricted;
+ text-wrap: wrap;
+ word-break: break-all;
white-space: -moz-pre-wrap; /* Moz */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-wrap; /* CSS3 */
word-wrap: break-word; /* IE 5.5+ */
- text-indent: -53px;
- padding-left: 53px;
+ text-indent: -62px;
+ padding-left: 62px;
padding-bottom: 0px;
margin: 0px;
-webkit-transition-property: background-color, box-shadow;
@@ -785,8 +814,8 @@
}
div.line:after {
- content:"\000A";
- white-space: pre;
+ content:"\000A";
+ white-space: pre;
}
div.line.glow {
@@ -795,26 +824,67 @@
}
span.fold {
- margin-left: 5px;
- margin-right: 1px;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 0px;
display: inline-block;
width: 12px;
height: 12px;
- background-repeat:no-repeat;
- background-position:center;
+ margin-left: 4px;
+ margin-right: 1px;
+}
+
+span.foldnone {
+ display: inline-block;
+ position: relative;
+ cursor: pointer;
+ user-select: none;
+}
+
+span.fold.plus, span.fold.minus {
+ width: 10px;
+ height: 10px;
+ background-color: var(--fragment-background-color);
+ position: relative;
+ border: 1px solid var(--fold-line-color);
+ margin-right: 1px;
+}
+
+span.fold.plus::before, span.fold.minus::before {
+ content: '';
+ position: absolute;
+ background-color: var(--fold-line-color);
+}
+
+span.fold.plus::before {
+ width: 2px;
+ height: 6px;
+ top: 2px;
+ left: 4px;
+}
+
+span.fold.plus::after {
+ content: '';
+ position: absolute;
+ width: 6px;
+ height: 2px;
+ top: 4px;
+ left: 2px;
+ background-color: var(--fold-line-color);
+}
+
+span.fold.minus::before {
+ width: 6px;
+ height: 2px;
+ top: 4px;
+ left: 2px;
}
span.lineno {
padding-right: 4px;
- margin-right: 9px;
+ margin-right: 9px;
text-align: right;
border-right: 2px solid var(--fragment-lineno-border-color);
color: var(--fragment-lineno-foreground-color);
background-color: var(--fragment-lineno-background-color);
- white-space: pre;
+ white-space: pre;
}
span.lineno a, span.lineno a:visited {
color: var(--fragment-lineno-link-fg-color);
@@ -836,18 +906,27 @@
}
div.classindex ul {
- list-style: none;
- padding-left: 0;
+ list-style: none;
+ padding-left: 0;
}
div.classindex span.ai {
- display: inline-block;
+ display: inline-block;
}
div.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- font-weight: bold;
+ box-shadow: 13px 0 var(--page-background-color),
+ -13px 0 var(--page-background-color),
+ 13px 1px var(--group-header-separator-color),
+ -13px 1px var(--group-header-separator-color);
+ color: var(--group-header-color);
+ font-size: 110%;
+ font-weight: 500;
+ margin-left: 0px;
+ margin-top: 0em;
+ margin-bottom: 6px;
+ padding-top: 8px;
+ padding-bottom: 4px;
}
div.groupText {
@@ -857,13 +936,13 @@
body {
color: var(--page-foreground-color);
- margin: 0;
+ margin: 0;
}
div.contents {
margin-top: 10px;
margin-left: 12px;
- margin-right: 8px;
+ margin-right: 12px;
}
p.formulaDsp {
@@ -883,9 +962,9 @@
div.center {
text-align: center;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 0px;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
}
div.center img {
@@ -960,10 +1039,10 @@
}
blockquote {
- background-color: var(--blockquote-background-color);
- border-left: 2px solid var(--blockquote-border-color);
- margin: 0 24px 0 4px;
- padding: 0 12px 0 16px;
+ background-color: var(--blockquote-background-color);
+ border-left: 2px solid var(--blockquote-border-color);
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
}
/* @end */
@@ -985,9 +1064,14 @@
}
hr {
- height: 0px;
border: none;
- border-top: 1px solid var(--separator-color);
+ margin-top: 16px;
+ margin-bottom: 16px;
+ height: 1px;
+ box-shadow: 13px 0 var(--page-background-color),
+ -13px 0 var(--page-background-color),
+ 13px 1px var(--group-header-separator-color),
+ -13px 1px var(--group-header-separator-color);
}
hr.footer {
@@ -1002,14 +1086,6 @@
}
.memberdecls td, .fieldtable tr {
- -webkit-transition-property: background-color, box-shadow;
- -webkit-transition-duration: 0.5s;
- -moz-transition-property: background-color, box-shadow;
- -moz-transition-duration: 0.5s;
- -ms-transition-property: background-color, box-shadow;
- -ms-transition-duration: 0.5s;
- -o-transition-property: background-color, box-shadow;
- -o-transition-duration: 0.5s;
transition-property: background-color, box-shadow;
transition-duration: 0.5s;
}
@@ -1019,13 +1095,23 @@
box-shadow: 0 0 15px var(--glow-color);
}
+.memberdecls tr[class^='memitem'] {
+ font-family: var(--font-family-monospace);
+}
+
.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+.memItemLeft, .memItemRight {
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+.memTemplParams {
+ padding-left: 10px;
+ padding-top: 5px;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
background-color: var(--memdecl-background-color);
- border: none;
- margin: 4px;
- padding: 1px 0 0 8px;
}
.mdescLeft, .mdescRight {
@@ -1033,27 +1119,104 @@
color: var(--memdecl-foreground-color);
}
-.memSeparator {
- border-bottom: 1px solid var(--memdecl-separator-color);
- line-height: 1px;
- margin: 0px;
- padding: 0px;
+tr[class^='memdesc'] {
+ box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,.075);
}
-.memItemLeft, .memTemplItemLeft {
- white-space: nowrap;
+.mdescLeft {
+ border-left: 1px solid var(--memdecl-border-color);
+ border-bottom: 1px solid var(--memdecl-border-color);
}
-.memItemRight, .memTemplItemRight {
- width: 100%;
+.mdescRight {
+ border-right: 1px solid var(--memdecl-border-color);
+ border-bottom: 1px solid var(--memdecl-border-color);
}
.memTemplParams {
color: var(--memdecl-template-color);
- white-space: nowrap;
+ white-space: nowrap;
font-size: 80%;
+ border-left: 1px solid var(--memdecl-border-color);
+ border-right: 1px solid var(--memdecl-border-color);
}
+td.ititle {
+ border: 1px solid var(--memdecl-border-color);
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ padding-left: 10px;
+}
+
+tr:not(:first-child) > td.ititle {
+ border-top: 0;
+ border-radius: 0;
+}
+
+.memItemLeft {
+ white-space: nowrap;
+ border-left: 1px solid var(--memdecl-border-color);
+ border-bottom: 1px solid var(--memdecl-border-color);
+ padding-left: 10px;
+ transition: none;
+}
+
+.memItemRight {
+ width: 100%;
+ border-right: 1px solid var(--memdecl-border-color);
+ border-bottom: 1px solid var(--memdecl-border-color);
+ padding-right: 10px;
+ transition: none;
+}
+
+tr.heading + tr[class^='memitem'] td.memItemLeft,
+tr.groupHeader + tr[class^='memitem'] td.memItemLeft,
+tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
+ border-top: 1px solid var(--memdecl-border-color);
+ border-top-left-radius: 4px;
+}
+
+tr.heading + tr[class^='memitem'] td.memItemRight,
+tr.groupHeader + tr[class^='memitem'] td.memItemRight,
+tr.inherit_header + tr[class^='memitem'] td.memItemRight {
+ border-top: 1px solid var(--memdecl-border-color);
+ border-top-right-radius: 4px;
+}
+
+tr.heading + tr[class^='memitem'] td.memTemplParams,
+tr.heading + tr td.ititle,
+tr.groupHeader + tr[class^='memitem'] td.memTemplParams,
+tr.groupHeader + tr td.ititle,
+tr.inherit_header + tr[class^='memitem'] td.memTemplParams {
+ border-top: 1px solid var(--memdecl-border-color);
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+}
+
+table.memberdecls tr:last-child td.memItemLeft,
+table.memberdecls tr:last-child td.mdescLeft,
+table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft,
+table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft,
+table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft,
+table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft {
+ border-bottom-left-radius: 4px;
+}
+
+table.memberdecls tr:last-child td.memItemRight,
+table.memberdecls tr:last-child td.mdescRight,
+table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight,
+table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight,
+table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight,
+table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight {
+ border-bottom-right-radius: 4px;
+}
+
+tr.template .memItemLeft, tr.template .memItemRight {
+ border-top: none;
+ padding-top: 0;
+}
+
+
/* @end */
/* @group Member Details */
@@ -1068,24 +1231,43 @@
border-top-right-radius: 4px;
border-top-left-radius: 4px;
margin-bottom: -1px;
- background-image: var(--memdef-title-gradient-image);
- background-repeat: repeat-x;
- background-color: var(--memdef-title-background-color);
+ background-color: var(--memdef-proto-background-color);
line-height: 1.25;
- font-weight: 300;
+ font-family: var(--font-family-monospace);
+ font-weight: 500;
+ font-size: 16px;
float:left;
+ box-shadow: 0 10px 0 -1px var(--memdef-proto-background-color),
+ 0 2px 8px 0 rgba(0,0,0,.075);
+ position: relative;
+}
+
+.memtitle:after {
+ content: '';
+ display: block;
+ background: var(--memdef-proto-background-color);
+ height: 10px;
+ bottom: -10px;
+ left: 0px;
+ right: -14px;
+ position: absolute;
+ border-top-right-radius: 6px;
}
.permalink
{
- font-size: 65%;
- display: inline-block;
- vertical-align: middle;
+ font-family: var(--font-family-monospace);
+ font-weight: 500;
+ line-height: 1.25;
+ font-size: 16px;
+ display: inline-block;
+ vertical-align: middle;
}
.memtemplate {
font-size: 80%;
color: var(--memdef-template-color);
+ font-family: var(--font-family-monospace);
font-weight: normal;
margin-left: 9px;
}
@@ -1098,22 +1280,21 @@
padding: 0;
margin-bottom: 10px;
margin-right: 5px;
- -webkit-transition: box-shadow 0.5s linear;
- -moz-transition: box-shadow 0.5s linear;
- -ms-transition: box-shadow 0.5s linear;
- -o-transition: box-shadow 0.5s linear;
- transition: box-shadow 0.5s linear;
- display: table !important;
- width: 100%;
+ display: table !important;
+ width: 100%;
+ box-shadow: 0 2px 8px 0 rgba(0,0,0,.075);
+ border-radius: 4px;
}
.memitem.glow {
- box-shadow: 0 0 15px var(--glow-color);
+ box-shadow: 0 0 15px var(--glow-color);
}
.memname {
- font-weight: 400;
- margin-left: 6px;
+ font-family: var(--font-family-monospace);
+ font-size: 13px;
+ font-weight: 400;
+ margin-left: 6px;
}
.memname td {
@@ -1121,53 +1302,39 @@
}
.memproto, dl.reflist dt {
- border-top: 1px solid var(--memdef-border-color);
- border-left: 1px solid var(--memdef-border-color);
- border-right: 1px solid var(--memdef-border-color);
- padding: 6px 0px 6px 0px;
- color: var(--memdef-proto-text-color);
- font-weight: bold;
- text-shadow: var(--memdef-proto-text-shadow);
- background-color: var(--memdef-proto-background-color);
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- border-top-right-radius: 4px;
+ border-top: 1px solid var(--memdef-border-color);
+ border-left: 1px solid var(--memdef-border-color);
+ border-right: 1px solid var(--memdef-border-color);
+ padding: 6px 0px 6px 0px;
+ color: var(--memdef-proto-text-color);
+ font-weight: bold;
+ background-color: var(--memdef-proto-background-color);
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid var(--memdef-border-color);
}
.overload {
- font-family: var(--font-family-monospace);
+ font-family: var(--font-family-monospace);
font-size: 65%;
}
.memdoc, dl.reflist dd {
- border-bottom: 1px solid var(--memdef-border-color);
- border-left: 1px solid var(--memdef-border-color);
- border-right: 1px solid var(--memdef-border-color);
- padding: 6px 10px 2px 10px;
- border-top-width: 0;
- background-image:url('nav_g.png');
- background-repeat:repeat-x;
- background-color: var(--memdef-doc-background-color);
- /* opera specific markup */
- border-bottom-left-radius: 4px;
- border-bottom-right-radius: 4px;
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- /* firefox specific markup */
- -moz-border-radius-bottomleft: 4px;
- -moz-border-radius-bottomright: 4px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- /* webkit specific markup */
- -webkit-border-bottom-left-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-bottom: 1px solid var(--memdef-border-color);
+ border-left: 1px solid var(--memdef-border-color);
+ border-right: 1px solid var(--memdef-border-color);
+ padding: 6px 10px 2px 10px;
+ border-top-width: 0;
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
}
dl.reflist dt {
- padding: 5px;
+ padding: 5px;
}
dl.reflist dd {
- margin: 0px 0px 10px 0px;
- padding: 5px;
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
}
.paramkey {
@@ -1182,9 +1349,9 @@
.paramname {
white-space: nowrap;
- padding: 0px;
- padding-bottom: 1px;
- margin-left: 2px;
+ padding: 0px;
+ padding-bottom: 1px;
+ margin-left: 2px;
}
.paramname em {
@@ -1198,23 +1365,23 @@
}
.params, .retval, .exception, .tparams {
- margin-left: 0px;
- padding-left: 0px;
+ margin-left: 0px;
+ padding-left: 0px;
}
.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
- font-weight: bold;
- vertical-align: top;
+ font-weight: bold;
+ vertical-align: top;
}
.params .paramtype, .tparams .paramtype {
- font-style: italic;
- vertical-align: top;
+ font-style: italic;
+ vertical-align: top;
}
.params .paramdir, .tparams .paramdir {
- font-family: var(--font-family-monospace);
- vertical-align: top;
+ font-family: var(--font-family-monospace);
+ vertical-align: top;
}
table.mlabels {
@@ -1233,15 +1400,15 @@
}
span.mlabels {
- margin-left: 8px;
+ margin-left: 8px;
}
span.mlabel {
- background-color: var(--label-background-color);
- border-top:1px solid var(--label-left-top-border-color);
- border-left:1px solid var(--label-left-top-border-color);
- border-right:1px solid var(--label-right-bottom-border-color);
- border-bottom:1px solid var(--label-right-bottom-border-color);
+ background-color: var(--label-background-color);
+ border-top:1px solid var(--label-left-top-border-color);
+ border-left:1px solid var(--label-left-top-border-color);
+ border-right:1px solid var(--label-right-bottom-border-color);
+ border-bottom:1px solid var(--label-right-bottom-border-color);
text-shadow: none;
color: var(--label-foreground-color);
margin-right: 4px;
@@ -1259,39 +1426,37 @@
/* these are for tree view inside a (index) page */
div.directory {
- margin: 10px 0px;
- border-top: 1px solid var(--directory-separator-color);
- border-bottom: 1px solid var(--directory-separator-color);
- width: 100%;
+ margin: 10px 0px;
+ width: 100%;
}
.directory table {
- border-collapse:collapse;
+ border-collapse:collapse;
}
.directory td {
- margin: 0px;
- padding: 0px;
+ margin: 0px;
+ padding: 0px;
vertical-align: top;
}
.directory td.entry {
- white-space: nowrap;
- padding-right: 6px;
+ white-space: nowrap;
+ padding-right: 6px;
padding-top: 3px;
}
.directory td.entry a {
- outline:none;
+ outline:none;
}
.directory td.entry a img {
- border: none;
+ border: none;
}
.directory td.desc {
- width: 100%;
- padding-left: 6px;
+ width: 100%;
+ padding-left: 6px;
padding-right: 6px;
padding-top: 3px;
border-left: 1px solid rgba(0,0,0,0.05);
@@ -1312,90 +1477,178 @@
}
.directory .levels {
- white-space: nowrap;
- width: 100%;
- text-align: right;
- font-size: 9pt;
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
}
.directory .levels span {
- cursor: pointer;
- padding-left: 2px;
- padding-right: 2px;
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
color: var(--page-link-color);
}
.arrow {
- color: var(--nav-arrow-color);
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- font-size: 80%;
- display: inline-block;
- width: 16px;
- height: 22px;
+ color: var(--nav-background-color);
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ font-size: 80%;
+ display: inline-block;
+ width: 16px;
+ height: 14px;
+ transition: opacity 0.3s ease;
+}
+
+span.arrowhead {
+ position: relative;
+ padding: 0;
+ margin: 0 0 0 2px;
+ display: inline-block;
+ width: 5px;
+ height: 5px;
+ border-right: 2px solid var(--nav-arrow-color);
+ border-bottom: 2px solid var(--nav-arrow-color);
+ transform: rotate(-45deg);
+ transition: transform 0.3s ease;
+}
+
+span.arrowhead.opened {
+ transform: rotate(45deg);
+}
+
+.selected span.arrowhead {
+ border-right: 2px solid var(--nav-arrow-selected-color);
+ border-bottom: 2px solid var(--nav-arrow-selected-color);
}
.icon {
- font-family: var(--font-family-icon);
- line-height: normal;
- font-weight: bold;
- font-size: 12px;
- height: 14px;
- width: 16px;
- display: inline-block;
- background-color: var(--icon-background-color);
- color: var(--icon-foreground-color);
- text-align: center;
- border-radius: 4px;
- margin-left: 2px;
- margin-right: 2px;
+ font-family: var(--font-family-icon);
+ line-height: normal;
+ font-weight: bold;
+ font-size: 12px;
+ height: 14px;
+ width: 16px;
+ display: inline-block;
+ background-color: var(--icon-background-color);
+ color: var(--icon-foreground-color);
+ text-align: center;
+ border-radius: 4px;
+ margin-left: 2px;
+ margin-right: 2px;
}
.icona {
- width: 24px;
- height: 22px;
- display: inline-block;
+ width: 24px;
+ height: 22px;
+ display: inline-block;
}
-.iconfopen {
- width: 24px;
- height: 18px;
- margin-bottom: 4px;
- background-image:var(--icon-folder-open-image);
- background-repeat: repeat-y;
- vertical-align:top;
- display: inline-block;
-}
-
-.iconfclosed {
- width: 24px;
- height: 18px;
- margin-bottom: 4px;
- background-image:var(--icon-folder-closed-image);
- background-repeat: repeat-y;
- vertical-align:top;
- display: inline-block;
+.iconfolder {
+ width: 24px;
+ height: 18px;
+ margin-top: 6px;
+ vertical-align:top;
+ display: inline-block;
+ position: relative;
}
.icondoc {
- width: 24px;
- height: 18px;
- margin-bottom: 4px;
- background-image:var(--icon-doc-image);
- background-position: 0px -4px;
- background-repeat: repeat-y;
- vertical-align:top;
- display: inline-block;
+ width: 24px;
+ height: 18px;
+ margin-top: 3px;
+ vertical-align:top;
+ display: inline-block;
+ position: relative;
}
+.folder-icon {
+ width: 16px;
+ height: 11px;
+ background-color: var(--icon-folder-fill-color);
+ border: 1px solid var(--icon-folder-border-color);
+ border-radius: 0 2px 2px 2px;
+ position: relative;
+ box-sizing: content-box;
+}
+
+.folder-icon::after {
+ content: '';
+ position: absolute;
+ top: 2px;
+ left: -1px;
+ width: 16px;
+ height: 7px;
+ background-color: var(--icon-folder-open-fill-color);
+ border: 1px solid var(--icon-folder-border-color);
+ border-radius: 7px 7px 2px 2px;
+ transform-origin: top left;
+ opacity: 0;
+ transition: all 0.3s linear;
+}
+
+.folder-icon::before {
+ content: '';
+ position: absolute;
+ top: -3px;
+ left: -1px;
+ width: 6px;
+ height: 2px;
+ background-color: var(--icon-folder-fill-color);
+ border-top: 1px solid var(--icon-folder-border-color);
+ border-left: 1px solid var(--icon-folder-border-color);
+ border-right: 1px solid var(--icon-folder-border-color);
+ border-radius: 2px 2px 0 0;
+}
+
+.folder-icon.open::after {
+ top: 3px;
+ opacity: 1;
+}
+
+.doc-icon {
+ left: 6px;
+ width: 12px;
+ height: 16px;
+ background-color: var(--icon-doc-border-color);
+ clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%);
+ position: relative;
+ display: inline-block;
+}
+.doc-icon::before {
+ content: "";
+ left: 1px;
+ top: 1px;
+ width: 10px;
+ height: 14px;
+ background-color: var(--icon-doc-fill-color);
+ clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%);
+ position: absolute;
+ box-sizing: border-box;
+}
+.doc-icon::after {
+ content: "";
+ left: 7px;
+ top: 0px;
+ width: 3px;
+ height: 3px;
+ background-color: transparent;
+ position: absolute;
+ border: 1px solid var(--icon-doc-border-color);
+}
+
+
+
+
/* @end */
div.dynheader {
- margin-top: 8px;
+ margin-top: 8px;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
@@ -1404,6 +1657,13 @@
user-select: none;
}
+span.dynarrow {
+ position: relative;
+ display: inline-block;
+ width: 12px;
+ bottom: 1px;
+}
+
address {
font-style: normal;
color: var(--footer-foreground-color);
@@ -1415,8 +1675,8 @@
table.doxtable {
border-collapse:collapse;
- margin-top: 4px;
- margin-bottom: 4px;
+ margin-top: 4px;
+ margin-bottom: 4px;
}
table.doxtable td, table.doxtable th {
@@ -1433,133 +1693,145 @@
}
table.fieldtable {
- margin-bottom: 10px;
- border: 1px solid var(--memdef-border-color);
- border-spacing: 0px;
- border-radius: 4px;
- box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ margin-bottom: 10px;
+ border: 1px solid var(--memdef-border-color);
+ border-spacing: 0px;
+ border-radius: 4px;
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
}
.fieldtable td, .fieldtable th {
- padding: 3px 7px 2px;
+ padding: 3px 7px 2px;
}
.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit {
- white-space: nowrap;
- border-right: 1px solid var(--memdef-border-color);
- border-bottom: 1px solid var(--memdef-border-color);
- vertical-align: top;
+ white-space: nowrap;
+ border-right: 1px solid var(--memdef-border-color);
+ border-bottom: 1px solid var(--memdef-border-color);
+ vertical-align: top;
}
.fieldtable td.fieldname {
- padding-top: 3px;
+ padding-top: 3px;
}
.fieldtable td.fieldinit {
- padding-top: 3px;
- text-align: right;
+ padding-top: 3px;
+ text-align: right;
}
.fieldtable td.fielddoc {
- border-bottom: 1px solid var(--memdef-border-color);
+ border-bottom: 1px solid var(--memdef-border-color);
}
.fieldtable td.fielddoc p:first-child {
- margin-top: 0px;
+ margin-top: 0px;
}
.fieldtable td.fielddoc p:last-child {
- margin-bottom: 2px;
+ margin-bottom: 2px;
}
.fieldtable tr:last-child td {
- border-bottom: none;
+ border-bottom: none;
}
.fieldtable th {
- background-image: var(--memdef-title-gradient-image);
- background-repeat:repeat-x;
- background-color: var(--memdef-title-background-color);
- font-size: 90%;
- color: var(--memdef-proto-text-color);
- padding-bottom: 4px;
- padding-top: 5px;
- text-align:left;
- font-weight: 400;
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- border-bottom: 1px solid var(--memdef-border-color);
+ background-color: var(--memdef-title-background-color);
+ font-size: 90%;
+ color: var(--memdef-proto-text-color);
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ font-weight: 400;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid var(--memdef-border-color);
}
+/* ----------- navigation breadcrumb styling ----------- */
-.tabsearch {
- top: 0px;
- left: 10px;
- height: 36px;
- background-image: var(--nav-gradient-image);
- z-index: 101;
+#nav-path ul {
+ height: 30px;
+ line-height: 30px;
+ color: var(--nav-text-normal-color);
overflow: hidden;
- font-size: 13px;
+ margin: 0px;
+ padding-left: 4px;
+ background-image: none;
+ background: var(--page-background-color);
+ border-bottom: 1px solid var(--nav-breadcrumb-separator-color);
+ font-size: var(--nav-font-size-level1);
+ font-family: var(--font-family-nav);
+ position: relative;
+ z-index: 100;
}
-.navpath ul
-{
- font-size: 11px;
- background-image: var(--nav-gradient-image);
- background-repeat:repeat-x;
- background-position: 0 -5px;
- height:30px;
- line-height:30px;
- color:var(--nav-text-normal-color);
- border:solid 1px var(--nav-breadcrumb-border-color);
- overflow:hidden;
- margin:0px;
- padding:0px;
+#main-nav {
+ border-bottom: 1px solid var(--nav-border-color);
}
-.navpath li
-{
+.navpath li {
list-style-type:none;
float:left;
- padding-left:10px;
- padding-right:15px;
- background-image:var(--nav-breadcrumb-image);
- background-repeat:no-repeat;
- background-position:right;
color: var(--nav-foreground-color);
}
-.navpath li.navelem a
-{
- height:32px;
- display:block;
- outline: none;
- color: var(--nav-text-normal-color);
- font-family: var(--font-family-nav);
- text-shadow: var(--nav-text-normal-shadow);
- text-decoration: none;
+.navpath li.footer {
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ font-size: 8pt;
+ color: var(--footer-foreground-color);
}
-.navpath li.navelem a:hover
-{
- color: var(--nav-text-hover-color);
- text-shadow: var(--nav-text-hover-shadow);
+#nav-path li.navelem {
+ background-image: none;
+ display: flex;
+ align-items: center;
+ padding-left: 15px;
}
-.navpath li.footer
-{
- list-style-type:none;
- float:right;
- padding-left:10px;
- padding-right:15px;
- background-image:none;
- background-repeat:no-repeat;
- background-position:right;
- color: var(--footer-foreground-color);
- font-size: 8pt;
+.navpath li.navelem a {
+ text-shadow: none;
+ display: inline-block;
+ color: var(--nav-breadcrumb-color);
+ position: relative;
+ top: 0px;
+ height: 30px;
+ margin-right: -20px;
}
+#nav-path li.navelem:after {
+ content: '';
+ display: inline-block;
+ position: relative;
+ top: 0;
+ right: -15px;
+ width: 30px;
+ height: 30px;
+ transform: scaleX(0.5) scale(0.707) rotate(45deg);
+ z-index: 10;
+ background: var(--page-background-color);
+ box-shadow: 2px -2px 0 2px var(--nav-breadcrumb-separator-color);
+ border-radius: 0 5px 0 50px;
+}
+
+#nav-path li.navelem:first-child {
+ margin-left: -6px;
+}
+
+#nav-path li.navelem:hover,
+#nav-path li.navelem:hover:after {
+ background-color: var(--nav-breadcrumb-active-bg);
+}
+
+/* ---------------------- */
div.summary
{
@@ -1577,14 +1849,14 @@
table.classindex
{
- margin: 10px;
- white-space: nowrap;
- margin-left: 3%;
- margin-right: 3%;
- width: 94%;
- border: 0;
- border-spacing: 0;
- padding: 0;
+ margin: 10px;
+ white-space: nowrap;
+ margin-left: 3%;
+ margin-right: 3%;
+ width: 94%;
+ border: 0;
+ border-spacing: 0;
+ padding: 0;
}
div.ingroups
@@ -1601,10 +1873,8 @@
div.header
{
- background-image: var(--header-gradient-image);
- background-repeat:repeat-x;
- background-color: var(--header-background-color);
margin: 0px;
+ background-color: var(--header-background-color);
border-bottom: 1px solid var(--header-separator-color);
}
@@ -1613,168 +1883,105 @@
padding: 5px 5px 5px 10px;
}
-.PageDocRTL-title div.headertitle {
- text-align: right;
- direction: rtl;
-}
-
dl {
- padding: 0 0 0 0;
+ padding: 0 0 0 0;
}
-/*
-
-dl.section {
- margin-left: 0px;
- padding-left: 0px;
-}
-
-dl.note {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #D0C000;
-}
-
-dl.warning, dl.attention, dl.important {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #FF0000;
-}
-
-dl.pre, dl.post, dl.invariant {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #00D000;
-}
-
-dl.deprecated {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #505050;
-}
-
-dl.todo {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #00C0E0;
-}
-
-dl.test {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #3030E0;
-}
-
-dl.bug {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #C08050;
-}
-
-*/
-
dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a {
- font-weight: bold !important;
+ font-weight: bold !important;
}
dl.warning, dl.attention, dl.important, dl.note, dl.deprecated, dl.bug,
dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark {
- padding: 10px;
- margin: 10px 0px;
- overflow: hidden;
- margin-left: 0;
- border-radius: 4px;
+ padding: 10px;
+ margin: 10px 0px;
+ overflow: hidden;
+ margin-left: 0;
+ border-radius: 4px;
}
dl.section dd {
- margin-bottom: 2px;
+ margin-bottom: 2px;
}
dl.warning, dl.attention, dl.important {
- background: var(--warning-color-bg);
- border-left: 8px solid var(--warning-color-hl);
- color: var(--warning-color-text);
+ background: var(--warning-color-bg);
+ border-left: 8px solid var(--warning-color-hl);
+ color: var(--warning-color-text);
}
dl.warning dt, dl.attention dt, dl.important dt {
- color: var(--warning-color-hl);
+ color: var(--warning-color-hl);
}
dl.note, dl.remark {
- background: var(--note-color-bg);
- border-left: 8px solid var(--note-color-hl);
- color: var(--note-color-text);
+ background: var(--note-color-bg);
+ border-left: 8px solid var(--note-color-hl);
+ color: var(--note-color-text);
}
dl.note dt, dl.remark dt {
- color: var(--note-color-hl);
+ color: var(--note-color-hl);
}
dl.todo {
- background: var(--todo-color-bg);
- border-left: 8px solid var(--todo-color-hl);
- color: var(--todo-color-text);
+ background: var(--todo-color-bg);
+ border-left: 8px solid var(--todo-color-hl);
+ color: var(--todo-color-text);
}
dl.todo dt {
- color: var(--todo-color-hl);
+ color: var(--todo-color-hl);
}
dl.test {
- background: var(--test-color-bg);
- border-left: 8px solid var(--test-color-hl);
- color: var(--test-color-text);
+ background: var(--test-color-bg);
+ border-left: 8px solid var(--test-color-hl);
+ color: var(--test-color-text);
}
dl.test dt {
- color: var(--test-color-hl);
+ color: var(--test-color-hl);
}
dl.bug dt a {
- color: var(--bug-color-hl) !important;
+ color: var(--bug-color-hl) !important;
}
dl.bug {
- background: var(--bug-color-bg);
- border-left: 8px solid var(--bug-color-hl);
- color: var(--bug-color-text);
+ background: var(--bug-color-bg);
+ border-left: 8px solid var(--bug-color-hl);
+ color: var(--bug-color-text);
}
dl.bug dt a {
- color: var(--bug-color-hl) !important;
+ color: var(--bug-color-hl) !important;
}
dl.deprecated {
- background: var(--deprecated-color-bg);
- border-left: 8px solid var(--deprecated-color-hl);
- color: var(--deprecated-color-text);
+ background: var(--deprecated-color-bg);
+ border-left: 8px solid var(--deprecated-color-hl);
+ color: var(--deprecated-color-text);
}
dl.deprecated dt a {
- color: var(--deprecated-color-hl) !important;
+ color: var(--deprecated-color-hl) !important;
}
dl.note dd, dl.warning dd, dl.pre dd, dl.post dd,
dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd,
dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd {
- margin-inline-start: 0px;
+ margin-inline-start: 0px;
}
dl.invariant, dl.pre, dl.post {
- background: var(--invariant-color-bg);
- border-left: 8px solid var(--invariant-color-hl);
- color: var(--invariant-color-text);
+ background: var(--invariant-color-bg);
+ border-left: 8px solid var(--invariant-color-hl);
+ color: var(--invariant-color-text);
}
dl.invariant dt, dl.pre dt, dl.post dt {
- color: var(--invariant-color-hl);
+ color: var(--invariant-color-hl);
}
@@ -1797,16 +2004,16 @@
#projectalign
{
- vertical-align: middle;
- padding-left: 0.5em;
+ vertical-align: middle;
+ padding-left: 0.5em;
}
#projectname
{
font-size: 200%;
font-family: var(--font-family-title);
- margin: 0px;
- padding: 2px 0px;
+ margin: 0;
+ padding: 0;
}
#side-nav #projectname
@@ -1817,7 +2024,7 @@
#projectbrief
{
font-size: 90%;
- font-family: var(--font-family-title);
+ font-family: var(--font-family-title);
margin: 0px;
padding: 0px;
}
@@ -1825,43 +2032,42 @@
#projectnumber
{
font-size: 50%;
- font-family: 50% var(--font-family-title);
+ font-family: var(--font-family-title);
margin: 0px;
padding: 0px;
}
#titlearea
{
- padding: 0px;
+ padding: 0 0 0 5px;
margin: 0px;
- width: 100%;
border-bottom: 1px solid var(--title-separator-color);
background-color: var(--title-background-color);
}
.image
{
- text-align: center;
+ text-align: center;
}
.dotgraph
{
- text-align: center;
+ text-align: center;
}
.mscgraph
{
- text-align: center;
+ text-align: center;
}
.plantumlgraph
{
- text-align: center;
+ text-align: center;
}
.diagraph
{
- text-align: center;
+ text-align: center;
}
.caption
@@ -1870,67 +2076,67 @@
}
dl.citelist {
- margin-bottom:50px;
+ margin-bottom:50px;
}
dl.citelist dt {
- color:var(--citation-label-color);
- float:left;
- font-weight:bold;
- margin-right:10px;
- padding:5px;
- text-align:right;
- width:52px;
+ color:var(--citation-label-color);
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+ text-align:right;
+ width:52px;
}
dl.citelist dd {
- margin:2px 0 2px 72px;
- padding:5px 0;
+ margin:2px 0 2px 72px;
+ padding:5px 0;
}
div.toc {
- padding: 14px 25px;
- background-color: var(--toc-background-color);
- border: 1px solid var(--toc-border-color);
- border-radius: 7px 7px 7px 7px;
- float: right;
- height: auto;
- margin: 0 8px 10px 10px;
- width: 200px;
+ padding: 14px 25px;
+ background-color: var(--toc-background-color);
+ border: 1px solid var(--toc-border-color);
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 8px 10px 10px;
+ width: 200px;
}
div.toc li {
- background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent;
- font: 10px/1.2 var(--font-family-toc);
- margin-top: 5px;
- padding-left: 10px;
- padding-top: 2px;
+ background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 var(--font-family-toc);
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
}
div.toc h3 {
- font: bold 12px/1.2 var(--font-family-toc);
+ font: bold 12px/1.2 var(--font-family-toc);
color: var(--toc-header-color);
- border-bottom: 0 none;
- margin: 0;
+ border-bottom: 0 none;
+ margin: 0;
}
div.toc ul {
- list-style: none outside none;
- border: medium none;
- padding: 0px;
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
}
div.toc li[class^='level'] {
- margin-left: 15px;
+ margin-left: 15px;
}
div.toc li.level1 {
- margin-left: 0px;
+ margin-left: 0px;
}
div.toc li.empty {
- background-image: none;
- margin-top: 0px;
+ background-image: none;
+ margin-top: 0px;
}
span.emoji {
@@ -1940,13 +2146,12 @@
}
span.obfuscator {
- display: none;
+ display: none;
}
.inherit_header {
- font-weight: bold;
- color: var(--inherit-header-color);
- cursor: pointer;
+ font-weight: 400;
+ cursor: pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
@@ -1956,49 +2161,49 @@
}
.inherit_header td {
- padding: 6px 0px 2px 5px;
+ padding: 6px 0 2px 0;
}
.inherit {
- display: none;
+ display: none;
}
tr.heading h2 {
- margin-top: 12px;
- margin-bottom: 4px;
+ margin-top: 12px;
+ margin-bottom: 12px;
}
/* tooltip related style info */
.ttc {
- position: absolute;
- display: none;
+ position: absolute;
+ display: none;
}
#powerTip {
cursor: default;
- /*white-space: nowrap;*/
- color: var(--tooltip-foreground-color);
+ color: var(--tooltip-foreground-color);
background-color: var(--tooltip-background-color);
+ backdrop-filter: var(--tooltip-backdrop-filter);
+ -webkit-backdrop-filter: var(--tooltip-backdrop-filter);
border: 1px solid var(--tooltip-border-color);
- border-radius: 4px 4px 4px 4px;
+ border-radius: 4px;
box-shadow: var(--tooltip-shadow);
display: none;
font-size: smaller;
max-width: 80%;
- opacity: 0.9;
padding: 1ex 1em 1em;
position: absolute;
z-index: 2147483647;
}
#powerTip div.ttdoc {
- color: var(--tooltip-doc-color);
+ color: var(--tooltip-doc-color);
font-style: italic;
}
#powerTip div.ttname a {
- font-weight: bold;
+ font-weight: bold;
}
#powerTip a {
@@ -2006,18 +2211,18 @@
}
#powerTip div.ttname {
- font-weight: bold;
+ font-weight: bold;
}
#powerTip div.ttdeci {
- color: var(--tooltip-declaration-color);
+ color: var(--tooltip-declaration-color);
}
#powerTip div {
- margin: 0px;
- padding: 0px;
- font-size: 12px;
- font-family: var(--font-family-tooltip);
+ margin: 0px;
+ padding: 0px;
+ font-size: 12px;
+ font-family: var(--font-family-tooltip);
line-height: 16px;
}
@@ -2063,7 +2268,7 @@
}
#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
- border-top-color: var(--tooltip-background-color);
+ border-top-color: var(--tooltip-arrow-background-color);
border-width: 10px;
margin: 0px -10px;
}
@@ -2091,7 +2296,7 @@
}
#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
- border-bottom-color: var(--tooltip-background-color);
+ border-bottom-color: var(--tooltip-arrow-background-color);
border-width: 10px;
margin: 0px -10px;
}
@@ -2148,29 +2353,29 @@
@media print
{
- #top { display: none; }
- #side-nav { display: none; }
- #nav-path { display: none; }
- body { overflow:visible; }
- h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
- .summary { display: none; }
- .memitem { page-break-inside: avoid; }
- #doc-content
- {
- margin-left:0 !important;
- height:auto !important;
- width:auto !important;
- overflow:inherit;
- display:inline;
- }
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
}
/* @group Markdown */
table.markdownTable {
border-collapse:collapse;
- margin-top: 4px;
- margin-bottom: 4px;
+ margin-top: 4px;
+ margin-bottom: 4px;
}
table.markdownTable td, table.markdownTable th {
@@ -2203,11 +2408,11 @@
tt, code, kbd
{
- display: inline-block;
+ display: inline-block;
}
tt, code, kbd
{
- vertical-align: top;
+ vertical-align: top;
}
/* @end */
@@ -2216,26 +2421,27 @@
}
details>summary {
- list-style-type: none;
+ list-style-type: none;
}
details > summary::-webkit-details-marker {
- display: none;
+ display: none;
}
details>summary::before {
- content: "\25ba";
- padding-right:4px;
- font-size: 80%;
+ content: "\25ba";
+ padding-right:4px;
+ font-size: 80%;
}
details[open]>summary::before {
- content: "\25bc";
- padding-right:4px;
- font-size: 80%;
+ content: "\25bc";
+ padding-right:4px;
+ font-size: 80%;
}
-body {
+:root {
+ scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color);
}
diff --git a/docs/html/doxygen_crawl.html b/docs/html/doxygen_crawl.html
index 1a7784e..6b8ae0b 100644
--- a/docs/html/doxygen_crawl.html
+++ b/docs/html/doxygen_crawl.html
@@ -4,7 +4,7 @@
<title>Validator / crawler helper</title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
</head>
<body>
diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js
index b05f4c8..0e15bd4 100644
--- a/docs/html/dynsections.js
+++ b/docs/html/dynsections.js
@@ -28,7 +28,6 @@
}
let dynsection = {
-
// helper function
updateStripes : function() {
$('table.directory tr').
@@ -44,15 +43,13 @@
const trigger = $('#'+base+'-trigger');
const src=$(trigger).attr('src');
if (content.is(':visible')===true) {
- content.hide();
+ content.slideUp('fast');
summary.show();
- $(linkObj).addClass('closed').removeClass('opened');
- $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ $(linkObj).find('.arrowhead').addClass('closed').removeClass('opened');
} else {
- content.show();
+ content.slideDown('fast');
summary.hide();
- $(linkObj).removeClass('closed').addClass('opened');
- $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ $(linkObj).find('.arrowhead').removeClass('closed').addClass('opened');
}
return false;
},
@@ -63,12 +60,12 @@
const i = $('#img'+this.id.substring(3));
const a = $('#arr'+this.id.substring(3));
if (l<level+1) {
- i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
- a.html('▼');
+ i.find('.folder-icon').addClass('open');
+ a.find('.arrowhead').removeClass('closed').addClass('opened');
$(this).show();
} else if (l==level+1) {
- i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
- a.html('►');
+ a.find('.arrowhead').removeClass('opened').addClass('closed');
+ i.find('.folder-icon').removeClass('open');
$(this).show();
} else {
$(this).hide();
@@ -93,52 +90,49 @@
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
const currentRowSpans = currentRow.find("span");
- currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
- currentRowSpans.filter(".arrow").html('►');
+ currentRowSpans.filter(".iconfolder").find('.folder-icon').removeClass("open");
+ currentRowSpans.filter(".opened").removeClass("opened").addClass("closed");
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
const currentRowSpans = currentRow.find("span");
- currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
- currentRowSpans.filter(".arrow").html('▼');
+ currentRowSpans.filter(".iconfolder").find('.folder-icon').addClass("open");
+ currentRowSpans.filter(".closed").removeClass("closed").addClass("opened");
// replace down arrows by right arrows for child rows
const childRowsSpans = childRows.find("span");
- childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
- childRowsSpans.filter(".arrow").html('►');
+ childRowsSpans.filter(".iconfolder").find('.folder-icon').removeClass("open");
+ childRowsSpans.filter(".opened").removeClass("opened").addClass("closed");
childRows.show(); //show all children
}
this.updateStripes();
},
toggleInherit : function(id) {
- const rows = $('tr.inherit.'+id);
- const img = $('tr.inherit_header.'+id+' img');
- const src = $(img).attr('src');
+ let rows = $('tr.inherit.'+id);
+ let header = $('tr.inherit_header.'+id);
if (rows.filter(':first').is(':visible')===true) {
- rows.css('display','none');
- $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+ rows.hide();
+ $(header).find('.arrowhead').addClass('closed').removeClass('opened');
} else {
- rows.css('display','table-row'); // using show() causes jump in firefox
- $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+ rows.show();
+ $(header).find('.arrowhead').removeClass('closed').addClass('opened');
}
},
+
};
let codefold = {
opened : true,
- // in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes
- plusImg: [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ],
- minusImg: [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ],
-
// toggle all folding blocks
- toggle_all : function(relPath) {
+ toggle_all : function() {
if (this.opened) {
- $('#fold_all').css('background-image',this.plusImg[relPath]);
+ $('#fold_all').addClass('plus').removeClass('minus');
$('div[id^=foldopen]').hide();
$('div[id^=foldclosed]').show();
+ $('div[id^=foldclosed] span.fold').removeClass('minus').addClass('plus');
} else {
- $('#fold_all').css('background-image',this.minusImg[relPath]);
+ $('#fold_all').addClass('minus').removeClass('plus');
$('div[id^=foldopen]').show();
$('div[id^=foldclosed]').hide();
}
@@ -149,9 +143,10 @@
toggle : function(id) {
$('#foldopen'+id).toggle();
$('#foldclosed'+id).toggle();
+ $('#foldopen'+id).next().find('span.fold').addClass('plus').removeClass('minus');
},
- init : function(relPath) {
+ init : function() {
$('span[class=lineno]').css({
'padding-right':'4px',
'margin-right':'2px',
@@ -160,9 +155,8 @@
'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%'
});
// add global toggle to first line
- $('span[class=lineno]:first').append('<span class="fold" id="fold_all" '+
- 'onclick="javascript:codefold.toggle_all('+relPath+');" '+
- 'style="background-image:'+this.minusImg[relPath]+';"></span>');
+ $('span[class=lineno]:first').append('<span class="fold minus" id="fold_all" '+
+ 'onclick="javascript:codefold.toggle_all();"></span>');
// add vertical lines to other rows
$('span[class=lineno]').not(':eq(0)').append('<span class="fold"></span>');
// add toggle controls to lines with fold divs
@@ -173,9 +167,8 @@
const start = $(this).attr('data-start');
const end = $(this).attr('data-end');
// replace normal fold span with controls for the first line of a foldable fragment
- $(this).find('span[class=fold]:first').replaceWith('<span class="fold" '+
- 'onclick="javascript:codefold.toggle(\''+id+'\');" '+
- 'style="background-image:'+codefold.minusImg[relPath]+';"></span>');
+ $(this).find('span[class=fold]:first').replaceWith('<span class="fold minus" '+
+ 'onclick="javascript:codefold.toggle(\''+id+'\');"></span>');
// append div for folded (closed) representation
$(this).after('<div id="foldclosed'+id+'" class="foldclosed" style="display:none;"></div>');
// extract the first line from the "open" section to represent closed content
@@ -187,7 +180,7 @@
$(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
}
// replace minus with plus symbol
- $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]);
+ $(line).find('span[class=fold]').addClass('plus').removeClass('minus');
// append ellipsis
$(line).append(' '+start+'<a href="javascript:codefold.toggle(\''+id+'\')">…</a>'+end);
// insert constructed line into closed div
diff --git a/docs/html/faq.html b/docs/html/faq.html
index 24be703..4948020 100644
--- a/docs/html/faq.html
+++ b/docs/html/faq.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Frequently asked questions</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,12 +70,12 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">Frequently asked questions</div></div>
+ <div class="headertitle"><div class="title">Frequently asked questions </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><b>What is D3D12MA?</b></p>
@@ -96,18 +83,18 @@
<p><b>What is the license of D3D12MA?</b></p>
<p>D3D12MA is licensed under MIT, which means it is open source and free software.</p>
<p><b>What is the purpose of D3D12MA?</b></p>
-<p>D3D12MA helps with handling one aspect of DX12 usage, which is GPU memory management - allocation of <code>ID3D12Heap</code> objects and creation of <code>ID3D12Resource</code> objects - buffers and textures.</p>
+<p>D3D12MA helps with handling one aspect of DX12 usage, which is GPU memory management - allocation of <span class="tt">ID3D12Heap</span> objects and creation of <span class="tt">ID3D12Resource</span> objects - buffers and textures.</p>
<p><b>Do I need to use D3D12MA?</b></p>
<p>You don't need to, but it may be beneficial in many cases. DX12 is a complex and low-level API, so libraries like this that abstract certain aspects of the API and bring them to a higher level are useful. When developing any non-trivial graphics application, you may benefit from using a memory allocator. Using D3D12MA can save time compared to implementing your own.</p>
-<p>In DX12 you can create each resource separately with its own implicit memory heap by calling <code>CreateCommittedResource</code>, but this may not be the optimal solution. For more information, see <a class="el" href="optimal_allocation.html#optimal_allocation_committed_vs_placed">Committed versus placed resources</a>.</p>
+<p>In DX12 you can create each resource separately with its own implicit memory heap by calling <span class="tt">CreateCommittedResource</span>, but this may not be the optimal solution. For more information, see <a class="el" href="optimal_allocation.html#optimal_allocation_committed_vs_placed">Committed versus placed resources</a>.</p>
<p><b>When should I not use D3D12MA?</b></p>
<p>While D3D12MA is useful for many applications that use the DX12 API, there are cases when it may be a better choice not to use it. For example, if the application is very simple, e.g. serving as a sample or a learning exercise to help you understand or teach others the basics of DX12, and it creates only a small number of buffers and textures, then including D3D12MA may be an overkill. Developing your own memory allocator may also be a good learning exercise.</p>
<p><b>What are the benefits of using D3D12MA?</b></p>
<ol type="1">
-<li>D3D12MA allocates large blocks of <code>ID3D12Heap</code> memory and sub-allocates parts of them to create your placed resources. Allocating a new block of GPU memory may be a time-consuming operation. Sub-allocating parts of a memory block requires implementing an allocation algorithm, which is a non-trivial task. D3D12MA does that, using an advanced and efficient algorithm that works well in various use cases.</li>
+<li>D3D12MA allocates large blocks of <span class="tt">ID3D12Heap</span> memory and sub-allocates parts of them to create your placed resources. Allocating a new block of GPU memory may be a time-consuming operation. Sub-allocating parts of a memory block requires implementing an allocation algorithm, which is a non-trivial task. D3D12MA does that, using an advanced and efficient algorithm that works well in various use cases.</li>
<li>D3D12MA offers a simple API that allows creating placed buffers and textures within one function call like <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>.</li>
</ol>
-<p>The library is doing much more under the hood. For example, it keeps buffers separate from textures when needed, respecting <code>D3D12_RESOURCE_HEAP_TIER</code>. It also makes use of the "small texture alignment" automatically, so you don't need to think about it.</p>
+<p>The library is doing much more under the hood. For example, it keeps buffers separate from textures when needed, respecting <span class="tt">D3D12_RESOURCE_HEAP_TIER</span>. It also makes use of the "small texture alignment" automatically, so you don't need to think about it.</p>
<p><b>Which version should I pick?</b></p>
<p>You can just pick <a href="https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator">the latest version from the "master" branch</a>. It is kept in a good shape most of the time, compiling and working correctly, with no compatibility-breaking changes and no unfinished code.</p>
<p>If you want an even more stable version, you can pick <a href="https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator/releases">the latest official release</a>. Current code from the master branch is occasionally tagged as a release, with <a href="https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator/blob/master/CHANGELOG.md">CHANGELOG</a> carefully curated to enumerate all important changes since the previous version.</p>
@@ -119,10 +106,10 @@
<p><b>I am not a fan of modern C++. Can I still use it?</b></p>
<p>Very likely yes. We acknowledge that many C++ developers, especially in the games industry, do not appreciate all the latest features that the language has to offer.</p>
<ul>
-<li>D3D12MA doesn't throw or catch any C++ exceptions. It reports errors by returning a <code>HRESULT</code> value instead, just like DX12. If you don't use exceptions in your project, your code is not exception-safe, or even if you disable exception handling in the compiler options, you can still use D3D12MA.</li>
-<li>D3D12MA doesn't use C++ run-time type information like <code>typeid</code> or <code>dynamic_cast</code>, so if you disable RTTI in the compiler options, you can still use the library.</li>
-<li>D3D12MA uses only a limited subset of standard C and C++ library. It doesn't use STL containers like <code>std::vector</code>, <code>map</code>, or <code>string</code>, either in the public interface nor in the internal implementation. It implements its own containers instead.</li>
-<li>If you don't use the default heap memory allocator through <code>malloc/free</code> or <code>new/delete</code> but implement your own allocator instead, you can pass it to D3D12MA as <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#a773ecc1945eb47c20e06455c3759e4ef" title="Custom CPU memory allocation callbacks. Optional.">D3D12MA::ALLOCATOR_DESC::pAllocationCallbacks</a> and the library will use your functions for every dynamic heap allocation made internally.</li>
+<li>D3D12MA doesn't throw or catch any C++ exceptions. It reports errors by returning a <span class="tt">HRESULT</span> value instead, just like DX12. If you don't use exceptions in your project, your code is not exception-safe, or even if you disable exception handling in the compiler options, you can still use D3D12MA.</li>
+<li>D3D12MA doesn't use C++ run-time type information like <span class="tt">typeid</span> or <span class="tt">dynamic_cast</span>, so if you disable RTTI in the compiler options, you can still use the library.</li>
+<li>D3D12MA uses only a limited subset of standard C and C++ library. It doesn't use STL containers like <span class="tt">std::vector</span>, <span class="tt">map</span>, or <span class="tt">string</span>, either in the public interface nor in the internal implementation. It implements its own containers instead.</li>
+<li>If you don't use the default heap memory allocator through <span class="tt">malloc/free</span> or <span class="tt">new/delete</span> but implement your own allocator instead, you can pass it to D3D12MA as <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#a773ecc1945eb47c20e06455c3759e4ef" title="Custom CPU memory allocation callbacks. Optional.">D3D12MA::ALLOCATOR_DESC::pAllocationCallbacks</a> and the library will use your functions for every dynamic heap allocation made internally.</li>
</ul>
<p><b>Is it available for other programming languages?</b></p>
<p>D3D12MA is a C++ library in similar style as DX12. Bindings to other programming languages are out of scope of this project, but they are welcome as external projects. Some of them are listed in <a href="https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator/?tab=readme-ov-file#see-also">README.md, "See also" section</a>, including binding to C. Before using any of them, please check if they are still maintained and updated to use a recent version of D3D12MA.</p>
@@ -132,7 +119,7 @@
<p>No! While D3D12MA is published by AMD, it works on any GPU that supports DX12, whether a discrete PC graphics card or a processor integrated graphics. It doesn't give AMD GPUs any advantage over any other GPUs.</p>
<p><b>What DirectX 12 versions are supported?</b></p>
<p>D3D12MA is updated to support latest versions of DirectX 12, as available through recent retail versions of the <a href="https://devblogs.microsoft.com/directx/directx12agility/">DirectX 12 Agility SDK</a>. Support for new features added in the preview version of the Agility SDK is developed on separate branches until they are included in the retail version.</p>
-<p>The library also supports older versions down to the base DX12 shipping with Windows SDK. Features added by later versions of the Agility SDK are automatically enabled conditionally using <code>#ifdef</code> preprocessor macros depending on the version of the SDK that you compile your project with.</p>
+<p>The library also supports older versions down to the base DX12 shipping with Windows SDK. Features added by later versions of the Agility SDK are automatically enabled conditionally using <span class="tt">#ifdef</span> preprocessor macros depending on the version of the SDK that you compile your project with.</p>
<p><b>Does it support other graphics APIs, like Vulkan(R)?</b></p>
<p>No, but we offer an equivalent library for Vulkan: <a href="https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator">Vulkan Memory Allocator</a>. It uses the same core allocation algorithm. It also shares many features with D3D12MA, like the support for custom pools and virtual allocator. However, it is not identical in terms of the features supported. Its API also looks different, because while the interface of D3D12MA is similar in style to DX12, the interface of VMA is similar to Vulkan.</p>
<p><b>Is the library lightweight?</b></p>
@@ -154,8 +141,8 @@
<p>If you want to report a suspected bug, you can also create a ticket the same way. Before doing this, please put some effort into the investigation of whether the bug is really in the library and not in your code or in the DX12 implementation (the GPU driver) on your platform:</p>
<ul>
<li>Enable D3D Debug Layer and make sure it is free from any errors.</li>
-<li>Make sure <code>D3D12MA_ASSERT</code> is defined to an implementation that can report a failure and not ignore it.</li>
-<li>Try making your allocation using pure DX12 functions like <code>CreateCommittedResource()</code> rather than D3D12MA and see if the bug persists.</li>
+<li>Make sure <span class="tt">D3D12MA_ASSERT</span> is defined to an implementation that can report a failure and not ignore it.</li>
+<li>Try making your allocation using pure DX12 functions like <span class="tt">CreateCommittedResource()</span> rather than D3D12MA and see if the bug persists.</li>
</ul>
<p><b>I found some compilation warnings. How can we fix them?</b></p>
<p>Seeing compiler warnings may be annoying to some developers, but it is a design decision to not fix all of them. Due to the nature of the C++ language, certain preprocessor macros can make some variables unused, function parameters unreferenced, or conditional expressions constant in some configurations. The code of this library should not be bigger or more complicated just to silence these warnings. It is recommended to disable such warnings instead. For more information, see <a class="el" href="general_considerations.html#general_considerations_features_not_supported">Features not supported</a>.</p>
@@ -164,7 +151,7 @@
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/files.html b/docs/html/files.html
index 0ccb6a5..5ce45bf 100644
--- a/docs/html/files.html
+++ b/docs/html/files.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: File List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -89,14 +76,14 @@
<div class="contents">
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.toggleLevel(2);">2</span>]</div><table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')">▼</span><span id="img_0_" class="iconfopen" onclick="dynsection.toggleFolder('0_')"> </span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="_d3_d12_mem_alloc_8h.html" target="_self">D3D12MemAlloc.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')"><span class="arrowhead opened"></span></span><span id="img_0_" class="iconfolder" onclick="dynsection.toggleFolder('0_')"><div class="folder-icon open"></div></span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"><div class="doc-icon"></div></span><a class="el" href="_d3_d12_mem_alloc_8h.html" target="_self">D3D12MemAlloc.h</a></td><td class="desc"></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/functions.html b/docs/html/functions.html
index 0690bb7..e1beea4 100644
--- a/docs/html/functions.html
+++ b/docs/html/functions.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Class Members</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -86,7 +73,7 @@
<div class="contents">
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
-<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
+<h3 class="doxsection"><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>Alignment : <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#aaa95e62f2f399339a09dcbb312a42de0">D3D12MA::VIRTUAL_ALLOCATION_DESC</a></li>
<li>Allocate() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a9281daf76e888ea1bd5247d5732e8179">D3D12MA::VirtualBlock</a></li>
<li>AllocateMemory() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2">D3D12MA::Allocator</a></li>
@@ -100,7 +87,7 @@
</ul>
-<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
+<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>BeginDefragmentation() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a08e1468f1dbb63ce3bf6680e592b2143">D3D12MA::Allocator</a>, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#adc87bb49c192de8f5a9ca0484c499575">D3D12MA::Pool</a></li>
<li>BeginPass() : <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1606c015d02edc094bb246986159d592">D3D12MA::DefragmentationContext</a></li>
<li>block : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a413aec64eba9f4ec57e912511591b3b8">D3D12MA::Allocation</a></li>
@@ -114,7 +101,7 @@
</ul>
-<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
+<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>CalculateStatistics() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a99db00df909963573a976c203b107d22">D3D12MA::Allocator</a>, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#ad07999ac5dc8f0c63187afd45d551910">D3D12MA::Pool</a>, <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a614a82247ce6cf29c38895e16eb971d9">D3D12MA::VirtualBlock</a></li>
<li>CALLOCATION_DESC() : <a class="el" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a50901205f52d0c28bddaa5cc7c7a35b1">D3D12MA::CALLOCATION_DESC</a></li>
<li>Clear() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189">D3D12MA::VirtualBlock</a></li>
@@ -134,25 +121,25 @@
</ul>
-<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
+<h3 class="doxsection"><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>D3D12MA_DELETE : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA::Allocation</a>, <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA::Allocator</a>, <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA::DefragmentationContext</a>, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA::Pool</a>, <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA::VirtualBlock</a></li>
</ul>
-<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
+<h3 class="doxsection"><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>EndPass() : <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae">D3D12MA::DefragmentationContext</a></li>
<li>ExtraHeapFlags : <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#a97878838f976b2d1e6b1a76881035690">D3D12MA::ALLOCATION_DESC</a></li>
</ul>
-<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
+<h3 class="doxsection"><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>Flags : <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#a92dec49b788a334fc91c55340dfbace6">D3D12MA::ALLOCATION_DESC</a>, <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#ad8abad7c80ea0d8df27c85243ce720f3">D3D12MA::ALLOCATOR_DESC</a>, <a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html#aac9a357e679a0afa9ab84cd06057630b">D3D12MA::DEFRAGMENTATION_DESC</a>, <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#ac4ed93b0191344d68c0b4ac1a4822ff4">D3D12MA::POOL_DESC</a>, <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#ab848f8ad39b5bf8a7c8c077e113e7fc9">D3D12MA::VIRTUAL_ALLOCATION_DESC</a>, <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#a1c887a732b4db0c68a07902462e0732b">D3D12MA::VIRTUAL_BLOCK_DESC</a></li>
<li>FreeAllocation() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#aab44e46bd122054c894fc84740f1e8fb">D3D12MA::VirtualBlock</a></li>
<li>FreeStatsString() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a8392663494384c16d8bfa12b827b4f9c">D3D12MA::Allocator</a>, <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a6f78ddaa7da194e239089e52093e68a9">D3D12MA::VirtualBlock</a></li>
</ul>
-<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
+<h3 class="doxsection"><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GetAlignment() : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a0acdc6b31e957b6d83762bdaace6d255">D3D12MA::Allocation</a></li>
<li>GetAllocationInfo() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ac605dce05ca0d411e46079f0bad765d1">D3D12MA::VirtualBlock</a></li>
<li>GetBudget() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a1ac113daec5f6ef28ecb1786cf544144">D3D12MA::Allocator</a></li>
@@ -170,7 +157,7 @@
</ul>
-<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
+<h3 class="doxsection"><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>heap : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a4e7380aabcac5b0a1cd833c5c84459c6">D3D12MA::Allocation</a></li>
<li>HeapFlags : <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc">D3D12MA::POOL_DESC</a></li>
<li>HeapProperties : <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a06e06813bcb5206e9f7a8b0564bf1d6a">D3D12MA::POOL_DESC</a></li>
@@ -179,7 +166,7 @@
</ul>
-<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
+<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>IsCacheCoherentUMA() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a08210561b92c4bd7ede9dd7beba4bb80">D3D12MA::Allocator</a></li>
<li>IsEmpty() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a7b23fd2da6f0343095fb14b31395678b">D3D12MA::VirtualBlock</a></li>
<li>IsGPUUploadHeapSupported() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a3f3fd1e88cf2cd02257fe272e08a273c">D3D12MA::Allocator</a></li>
@@ -187,12 +174,12 @@
</ul>
-<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
+<h3 class="doxsection"><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>list : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ab1f59d849add2cdbfbebf4eb98db5c97">D3D12MA::Allocation</a></li>
</ul>
-<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
+<h3 class="doxsection"><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>m_Committed : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a38cff302aed26fbdc608f3e427976406">D3D12MA::Allocation</a></li>
<li>m_Heap : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a305c5d36e2e332b74639818e5e2c3953">D3D12MA::Allocation</a></li>
<li>m_Placed : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a22e7a16d3d430109affa474d23964c80">D3D12MA::Allocation</a></li>
@@ -206,18 +193,18 @@
</ul>
-<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
+<h3 class="doxsection"><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>next : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a6f31560bc71451410a2a907b6d81b48f">D3D12MA::Allocation</a></li>
</ul>
-<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
+<h3 class="doxsection"><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>Offset : <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#aa125871ef3fcc8af81fc831cd386dc2e">D3D12MA::VIRTUAL_ALLOCATION_INFO</a></li>
<li>Operation : <a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html#a5ba8d6894267ae59df4efb9972af5d81">D3D12MA::DEFRAGMENTATION_MOVE</a></li>
</ul>
-<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
+<h3 class="doxsection"><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>pAdapter : <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#abf9a9f87f0ffea52816efd363c5fcd7b">D3D12MA::ALLOCATOR_DESC</a></li>
<li>pAllocate : <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#af4d6436455728696fefd503869226436">D3D12MA::ALLOCATION_CALLBACKS</a></li>
<li>pAllocationCallbacks : <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#a773ecc1945eb47c20e06455c3759e4ef">D3D12MA::ALLOCATOR_DESC</a>, <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#aa8ea08ad0ee64cb2d29c03b85008317f">D3D12MA::VIRTUAL_BLOCK_DESC</a></li>
@@ -233,12 +220,12 @@
</ul>
-<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
+<h3 class="doxsection"><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>ResidencyPriority : <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a2e6074af8c8ff7b957fe8d4b5036a5e6">D3D12MA::POOL_DESC</a></li>
</ul>
-<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
+<h3 class="doxsection"><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>SetAllocationPrivateData() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ab96e34500b75a83a09d73b4585669114">D3D12MA::VirtualBlock</a></li>
<li>SetCurrentFrameIndex() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11">D3D12MA::Allocator</a></li>
<li>SetName() : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac">D3D12MA::Allocation</a>, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b">D3D12MA::Pool</a></li>
@@ -249,12 +236,12 @@
</ul>
-<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
+<h3 class="doxsection"><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>Total : <a class="el" href="struct_d3_d12_m_a_1_1_total_statistics.html#ac0bb53579457ddec2872c547ae8922a6">D3D12MA::TotalStatistics</a></li>
</ul>
-<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
+<h3 class="doxsection"><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>UnusedRangeCount : <a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html#aff1aaecbb86eedfdb15c1b11987ac0d9">D3D12MA::DetailedStatistics</a></li>
<li>UnusedRangeSizeMax : <a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html#a5fae01864d6e6595cb9c416a9f365e7c">D3D12MA::DetailedStatistics</a></li>
<li>UnusedRangeSizeMin : <a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html#ac13f6cb1737f0d906e55182385f38b70">D3D12MA::DetailedStatistics</a></li>
@@ -263,7 +250,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html
index 23515d8..8f38cf0 100644
--- a/docs/html/functions_func.html
+++ b/docs/html/functions_func.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Class Members - Functions</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -86,20 +73,20 @@
<div class="contents">
<div class="textblock">Here is a list of all functions with links to the classes they belong to:</div>
-<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
+<h3 class="doxsection"><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>Allocate() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a9281daf76e888ea1bd5247d5732e8179">D3D12MA::VirtualBlock</a></li>
<li>AllocateMemory() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2">D3D12MA::Allocator</a></li>
</ul>
-<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
+<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>BeginDefragmentation() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a08e1468f1dbb63ce3bf6680e592b2143">D3D12MA::Allocator</a>, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#adc87bb49c192de8f5a9ca0484c499575">D3D12MA::Pool</a></li>
<li>BeginPass() : <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1606c015d02edc094bb246986159d592">D3D12MA::DefragmentationContext</a></li>
<li>BuildStatsString() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a29716b3084916abed7793bf2ec4b65db">D3D12MA::Allocator</a>, <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a828a27070bfa762cae796d4c8f2ef703">D3D12MA::VirtualBlock</a></li>
</ul>
-<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
+<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>CalculateStatistics() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a99db00df909963573a976c203b107d22">D3D12MA::Allocator</a>, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#ad07999ac5dc8f0c63187afd45d551910">D3D12MA::Pool</a>, <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a614a82247ce6cf29c38895e16eb971d9">D3D12MA::VirtualBlock</a></li>
<li>CALLOCATION_DESC() : <a class="el" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a50901205f52d0c28bddaa5cc7c7a35b1">D3D12MA::CALLOCATION_DESC</a></li>
<li>Clear() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189">D3D12MA::VirtualBlock</a></li>
@@ -116,18 +103,18 @@
</ul>
-<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
+<h3 class="doxsection"><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>EndPass() : <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae">D3D12MA::DefragmentationContext</a></li>
</ul>
-<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
+<h3 class="doxsection"><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>FreeAllocation() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#aab44e46bd122054c894fc84740f1e8fb">D3D12MA::VirtualBlock</a></li>
<li>FreeStatsString() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a8392663494384c16d8bfa12b827b4f9c">D3D12MA::Allocator</a>, <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a6f78ddaa7da194e239089e52093e68a9">D3D12MA::VirtualBlock</a></li>
</ul>
-<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
+<h3 class="doxsection"><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GetAlignment() : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a0acdc6b31e957b6d83762bdaace6d255">D3D12MA::Allocation</a></li>
<li>GetAllocationInfo() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ac605dce05ca0d411e46079f0bad765d1">D3D12MA::VirtualBlock</a></li>
<li>GetBudget() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a1ac113daec5f6ef28ecb1786cf544144">D3D12MA::Allocator</a></li>
@@ -145,7 +132,7 @@
</ul>
-<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
+<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>IsCacheCoherentUMA() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a08210561b92c4bd7ede9dd7beba4bb80">D3D12MA::Allocator</a></li>
<li>IsEmpty() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a7b23fd2da6f0343095fb14b31395678b">D3D12MA::VirtualBlock</a></li>
<li>IsGPUUploadHeapSupported() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a3f3fd1e88cf2cd02257fe272e08a273c">D3D12MA::Allocator</a></li>
@@ -153,7 +140,7 @@
</ul>
-<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
+<h3 class="doxsection"><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>SetAllocationPrivateData() : <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ab96e34500b75a83a09d73b4585669114">D3D12MA::VirtualBlock</a></li>
<li>SetCurrentFrameIndex() : <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11">D3D12MA::Allocator</a></li>
<li>SetName() : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac">D3D12MA::Allocation</a>, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b">D3D12MA::Pool</a></li>
@@ -163,7 +150,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/functions_rela.html b/docs/html/functions_rela.html
index b9d0728..f21eddd 100644
--- a/docs/html/functions_rela.html
+++ b/docs/html/functions_rela.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Class Members - Related Symbols</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -92,7 +79,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html
index f63ab83..fe4ed5f 100644
--- a/docs/html/functions_vars.html
+++ b/docs/html/functions_vars.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Class Members - Variables</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -86,7 +73,7 @@
<div class="contents">
<div class="textblock">Here is a list of all variables with links to the classes they belong to:</div>
-<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
+<h3 class="doxsection"><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>Alignment : <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#aaa95e62f2f399339a09dcbb312a42de0">D3D12MA::VIRTUAL_ALLOCATION_DESC</a></li>
<li>AllocationBytes : <a class="el" href="struct_d3_d12_m_a_1_1_statistics.html#a53cfe3d241124b5a8e8058871a4b50e8">D3D12MA::Statistics</a></li>
<li>AllocationCount : <a class="el" href="struct_d3_d12_m_a_1_1_statistics.html#aef88ac53531db43a8888ad2be4a06c68">D3D12MA::Statistics</a></li>
@@ -98,7 +85,7 @@
</ul>
-<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
+<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>block : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a413aec64eba9f4ec57e912511591b3b8">D3D12MA::Allocation</a></li>
<li>BlockBytes : <a class="el" href="struct_d3_d12_m_a_1_1_statistics.html#a65557893f80ff116c43965dbd8d45812">D3D12MA::Statistics</a></li>
<li>BlockCount : <a class="el" href="struct_d3_d12_m_a_1_1_statistics.html#a780b0ddd26d8f6b033ddaa3ba436bf65">D3D12MA::Statistics</a></li>
@@ -109,22 +96,22 @@
</ul>
-<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
+<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>CustomPool : <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#ab06b85f3cf3254f855b29264477e3934">D3D12MA::ALLOCATION_DESC</a></li>
</ul>
-<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
+<h3 class="doxsection"><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>ExtraHeapFlags : <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#a97878838f976b2d1e6b1a76881035690">D3D12MA::ALLOCATION_DESC</a></li>
</ul>
-<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
+<h3 class="doxsection"><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>Flags : <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#a92dec49b788a334fc91c55340dfbace6">D3D12MA::ALLOCATION_DESC</a>, <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#ad8abad7c80ea0d8df27c85243ce720f3">D3D12MA::ALLOCATOR_DESC</a>, <a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html#aac9a357e679a0afa9ab84cd06057630b">D3D12MA::DEFRAGMENTATION_DESC</a>, <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#ac4ed93b0191344d68c0b4ac1a4822ff4">D3D12MA::POOL_DESC</a>, <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#ab848f8ad39b5bf8a7c8c077e113e7fc9">D3D12MA::VIRTUAL_ALLOCATION_DESC</a>, <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#a1c887a732b4db0c68a07902462e0732b">D3D12MA::VIRTUAL_BLOCK_DESC</a></li>
</ul>
-<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
+<h3 class="doxsection"><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>heap : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a4e7380aabcac5b0a1cd833c5c84459c6">D3D12MA::Allocation</a></li>
<li>HeapFlags : <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc">D3D12MA::POOL_DESC</a></li>
<li>HeapProperties : <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a06e06813bcb5206e9f7a8b0564bf1d6a">D3D12MA::POOL_DESC</a></li>
@@ -133,12 +120,12 @@
</ul>
-<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
+<h3 class="doxsection"><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>list : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ab1f59d849add2cdbfbebf4eb98db5c97">D3D12MA::Allocation</a></li>
</ul>
-<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
+<h3 class="doxsection"><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>m_Committed : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a38cff302aed26fbdc608f3e427976406">D3D12MA::Allocation</a></li>
<li>m_Heap : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a305c5d36e2e332b74639818e5e2c3953">D3D12MA::Allocation</a></li>
<li>m_Placed : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a22e7a16d3d430109affa474d23964c80">D3D12MA::Allocation</a></li>
@@ -152,18 +139,18 @@
</ul>
-<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
+<h3 class="doxsection"><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>next : <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a6f31560bc71451410a2a907b6d81b48f">D3D12MA::Allocation</a></li>
</ul>
-<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
+<h3 class="doxsection"><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>Offset : <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#aa125871ef3fcc8af81fc831cd386dc2e">D3D12MA::VIRTUAL_ALLOCATION_INFO</a></li>
<li>Operation : <a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html#a5ba8d6894267ae59df4efb9972af5d81">D3D12MA::DEFRAGMENTATION_MOVE</a></li>
</ul>
-<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
+<h3 class="doxsection"><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>pAdapter : <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#abf9a9f87f0ffea52816efd363c5fcd7b">D3D12MA::ALLOCATOR_DESC</a></li>
<li>pAllocate : <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#af4d6436455728696fefd503869226436">D3D12MA::ALLOCATION_CALLBACKS</a></li>
<li>pAllocationCallbacks : <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#a773ecc1945eb47c20e06455c3759e4ef">D3D12MA::ALLOCATOR_DESC</a>, <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#aa8ea08ad0ee64cb2d29c03b85008317f">D3D12MA::VIRTUAL_BLOCK_DESC</a></li>
@@ -179,23 +166,23 @@
</ul>
-<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
+<h3 class="doxsection"><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>ResidencyPriority : <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a2e6074af8c8ff7b957fe8d4b5036a5e6">D3D12MA::POOL_DESC</a></li>
</ul>
-<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
+<h3 class="doxsection"><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>Size : <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#a976b649e45abdd0769da0d79acde4bac">D3D12MA::VIRTUAL_ALLOCATION_DESC</a>, <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#ac265159500190e35ebef8e4784c73a09">D3D12MA::VIRTUAL_ALLOCATION_INFO</a>, <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">D3D12MA::VIRTUAL_BLOCK_DESC</a></li>
<li>Stats : <a class="el" href="struct_d3_d12_m_a_1_1_budget.html#a1255508930766db238cfb1312b15f1cf">D3D12MA::Budget</a>, <a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html#a2490d4a08a5d47c87a699001dfc8737f">D3D12MA::DetailedStatistics</a></li>
</ul>
-<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
+<h3 class="doxsection"><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>Total : <a class="el" href="struct_d3_d12_m_a_1_1_total_statistics.html#ac0bb53579457ddec2872c547ae8922a6">D3D12MA::TotalStatistics</a></li>
</ul>
-<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
+<h3 class="doxsection"><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>UnusedRangeCount : <a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html#aff1aaecbb86eedfdb15c1b11987ac0d9">D3D12MA::DetailedStatistics</a></li>
<li>UnusedRangeSizeMax : <a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html#a5fae01864d6e6595cb9c416a9f365e7c">D3D12MA::DetailedStatistics</a></li>
<li>UnusedRangeSizeMin : <a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html#ac13f6cb1737f0d906e55182385f38b70">D3D12MA::DetailedStatistics</a></li>
@@ -204,7 +191,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/general_considerations.html b/docs/html/general_considerations.html
index ef3888a..05a30ff 100644
--- a/docs/html/general_considerations.html
+++ b/docs/html/general_considerations.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: General considerations</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,23 +70,23 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">General considerations</div></div>
+ <div class="headertitle"><div class="title">General considerations </div></div>
</div><!--header-->
<div class="contents">
-<div class="textblock"><h1><a class="anchor" id="general_considerations_thread_safety"></a>
+<div class="textblock"><h1 class="doxsection"><a class="anchor" id="general_considerations_thread_safety"></a>
Thread safety</h1>
<ul>
-<li>The library has no global state, so separate <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> objects can be used independently. In typical applications there should be no need to create multiple such objects though - one per <code>ID3D12Device</code> is enough.</li>
+<li>The library has no global state, so separate <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> objects can be used independently. In typical applications there should be no need to create multiple such objects though - one per <span class="tt">ID3D12Device</span> is enough.</li>
<li>All calls to methods of <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> class are safe to be made from multiple threads simultaneously because they are synchronized internally when needed.</li>
<li>When the allocator is created with <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a1b06bb21df006f76a9ed1bc41838bc52">D3D12MA::ALLOCATOR_FLAG_SINGLETHREADED</a>, calls to methods of <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> class must be made from a single thread or synchronized by the user. Using this flag may improve performance.</li>
<li><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> is not safe to be used from multiple threads simultaneously.</li>
</ul>
-<h1><a class="anchor" id="general_considerations_versioning_and_compatibility"></a>
+<h1 class="doxsection"><a class="anchor" id="general_considerations_versioning_and_compatibility"></a>
Versioning and compatibility</h1>
<p>The library uses <a href="https://semver.org/"><b>Semantic Versioning</b></a>, which means version numbers follow convention: Major.Minor.Patch (e.g. 2.3.0), where:</p>
<ul>
@@ -109,13 +96,13 @@
</ul>
<p>All changes between official releases are documented in file "CHANGELOG.md".</p>
<dl class="section warning"><dt>Warning</dt><dd>Backward compatiblity is considered on the level of C++ source code, not binary linkage. Adding new members to existing structures is treated as backward compatible if initializing the new members to binary zero results in the old behavior. You should always fully initialize all library structures to zeros and not rely on their exact binary size.</dd></dl>
-<h1><a class="anchor" id="general_considerations_features_not_supported"></a>
+<h1 class="doxsection"><a class="anchor" id="general_considerations_features_not_supported"></a>
Features not supported</h1>
<p>Features deliberately excluded from the scope of this library:</p>
<ul>
<li><b>Descriptor allocation.</b> Although also called "heaps", objects that represent descriptors are separate part of the D3D12 API from buffers and textures. You can still use <a class="el" href="virtual_allocator.html">Virtual allocator</a> to manage descriptors and their ranges inside a descriptor heap.</li>
<li><b>Support for reserved (tiled) resources.</b> We don't recommend using them. For more information, see [1].</li>
-<li>Support for <code>ID3D12Device::Evict</code> and <code>MakeResident</code>. We don't recommend using them. You can call them on the D3D12 objects manually. Plese keep in mind, however, that eviction happens on the level of entire <code>ID3D12Heap</code> memory blocks and not individual buffers or textures which may be placed inside them.</li>
+<li>Support for <span class="tt">ID3D12Device::Evict</span> and <span class="tt">MakeResident</span>. We don't recommend using them. You can call them on the D3D12 objects manually. Plese keep in mind, however, that eviction happens on the level of entire <span class="tt">ID3D12Heap</span> memory blocks and not individual buffers or textures which may be placed inside them.</li>
<li><b>Handling CPU memory allocation failures.</b> 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>
<li><b>Code free of any compiler warnings.</b> There are many preprocessor macros that make some variables unused, function parameters unreferenced, or conditional expressions constant in some configurations. The code of this library should not be bigger or more complicated just to silence these warnings. It is recommended to disable such warnings instead.</li>
<li>This is a C++ library. <b>Bindings or ports to any other programming languages</b> are welcome as external projects but are not going to be included into this repository.</li>
@@ -125,7 +112,7 @@
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/globals.html b/docs/html/globals.html
index 00f8dbd..27989c1 100644
--- a/docs/html/globals.html
+++ b/docs/html/globals.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: File Members</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -95,7 +82,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html
index feb2e5c..00db10d 100644
--- a/docs/html/globals_defs.html
+++ b/docs/html/globals_defs.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: File Members</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -95,7 +82,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html
index 292f556..5785855 100644
--- a/docs/html/hierarchy.html
+++ b/docs/html/hierarchy.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -90,7 +77,7 @@
<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:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.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_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="dynsection.toggleFolder('1_')">▼</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_1_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="dynsection.toggleFolder('1_')"><span class="arrowhead opened"></span></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_1_0_" 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="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html" target="_self">D3D12MA::CALLOCATION_DESC</a></td><td class="desc">Helper structure that helps with complete and conscise initialization of the <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" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.">D3D12MA::ALLOCATION_DESC</a> structure </td></tr>
<tr id="row_2_" class="odd"><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#ab7a1cd1683986d75ce1488b0920f4cb0" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">CreateAllocator()</a> </td></tr>
<tr id="row_3_" 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_budget.html" target="_self">D3D12MA::Budget</a></td><td class="desc">Statistics of current memory usage and available budget for a specific memory segment group </td></tr>
@@ -99,20 +86,20 @@
<tr id="row_6_" class="odd"><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_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html" target="_self">D3D12MA::DEFRAGMENTATION_PASS_MOVE_INFO</a></td><td class="desc">Parameters for incremental defragmentation steps </td></tr>
<tr id="row_7_" 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_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html" target="_self">D3D12MA::DEFRAGMENTATION_STATS</a></td><td class="desc">Statistics returned for defragmentation process by function <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1c21c26f47dcbf8f4e562063a3e25f38" title="Returns statistics of the defragmentation performed so far.">DefragmentationContext::GetStats()</a> </td></tr>
<tr id="row_8_" class="odd"><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_detailed_statistics.html" target="_self">D3D12MA::DetailedStatistics</a></td><td class="desc">More detailed statistics than <a class="el" href="struct_d3_d12_m_a_1_1_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory heap type, memory segment group,...">D3D12MA::Statistics</a> </td></tr>
-<tr id="row_9_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_9_" class="arrow" onclick="dynsection.toggleFolder('9_')">▼</span><span class="icona"><span class="icon">C</span></span><b>IUnknownImpl</b></td><td class="desc"></td></tr>
+<tr id="row_9_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_9_" class="arrow" onclick="dynsection.toggleFolder('9_')"><span class="arrowhead opened"></span></span><span class="icona"><span class="icon">C</span></span><b>IUnknownImpl</b></td><td class="desc"></td></tr>
<tr id="row_9_0_" class="odd"><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_9_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_9_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 <span class="tt">ID3D12Device</span> </td></tr>
<tr id="row_9_2_" class="odd"><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_defragmentation_context.html" target="_self">D3D12MA::DefragmentationContext</a></td><td class="desc">Represents defragmentation process in progress </td></tr>
<tr id="row_9_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_pool.html" target="_self">D3D12MA::Pool</a></td><td class="desc">Custom memory pool </td></tr>
<tr id="row_9_4_" class="odd"><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_10_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_10_" class="arrow" onclick="dynsection.toggleFolder('10_')">▼</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_10_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_10_" class="arrow" onclick="dynsection.toggleFolder('10_')"><span class="arrowhead opened"></span></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_10_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html" target="_self">D3D12MA::CPOOL_DESC</a></td><td class="desc">Helper structure that helps with complete and conscise initialization of the <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html" title="Parameters of created D3D12MA::Pool object. To be used with D3D12MA::Allocator::CreatePool.">D3D12MA::POOL_DESC</a> structure </td></tr>
<tr id="row_11_" 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_statistics.html" target="_self">D3D12MA::Statistics</a></td><td class="desc">Calculated statistics of memory usage e.g. in a specific memory heap type, memory segment group, custom pool, or total </td></tr>
<tr id="row_12_" class="odd"><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_total_statistics.html" target="_self">D3D12MA::TotalStatistics</a></td><td class="desc">General statistics from current state of the allocator - total memory usage across all memory heaps and segments </td></tr>
-<tr id="row_13_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_13_" class="arrow" onclick="dynsection.toggleFolder('13_')">▼</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#a9281daf76e888ea1bd5247d5732e8179" title="Creates new allocation.">VirtualBlock::Allocate()</a> </td></tr>
+<tr id="row_13_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_13_" class="arrow" onclick="dynsection.toggleFolder('13_')"><span class="arrowhead opened"></span></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#a9281daf76e888ea1bd5247d5732e8179" title="Creates new allocation.">VirtualBlock::Allocate()</a> </td></tr>
<tr id="row_13_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d3_d12_m_a_1_1_c_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::CVIRTUAL_ALLOCATION_DESC</a></td><td class="desc">Helper structure that helps with complete and conscise initialization of the <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" title="Parameters of created virtual allocation to be passed to VirtualBlock::Allocate().">D3D12MA::VIRTUAL_ALLOCATION_DESC</a> structure </td></tr>
<tr id="row_14_" 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___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#ac605dce05ca0d411e46079f0bad765d1" title="Returns information about an allocation - its offset, size and custom pointer.">VirtualBlock::GetAllocationInfo()</a> </td></tr>
-<tr id="row_15_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_15_" class="arrow" onclick="dynsection.toggleFolder('15_')">▼</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#ab024647ae85ee63e2fa2c1c4beac6d98" title="Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.">CreateVirtualBlock()</a> </td></tr>
+<tr id="row_15_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_15_" class="arrow" onclick="dynsection.toggleFolder('15_')"><span class="arrowhead opened"></span></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#ab024647ae85ee63e2fa2c1c4beac6d98" title="Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.">CreateVirtualBlock()</a> </td></tr>
<tr id="row_15_0_" 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="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html" target="_self">D3D12MA::CVIRTUAL_BLOCK_DESC</a></td><td class="desc">Helper structure that helps with complete and conscise initialization of the <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> structure </td></tr>
<tr id="row_16_" class="odd"><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_virtual_allocation.html" target="_self">D3D12MA::VirtualAllocation</a></td><td class="desc">Represents single memory allocation done inside <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,...">VirtualBlock</a> </td></tr>
</table>
@@ -120,7 +107,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/index.html b/docs/html/index.html
index e005026..d7434ba 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12 Memory Allocator</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -87,11 +74,11 @@
<div class="headertitle"><div class="title">D3D12 Memory Allocator </div></div>
</div><!--header-->
<div class="contents">
-<div class="textblock"><p><b>Version 3.0.1</b> (2025-05-08)</p>
+<div class="textblock"><p><b>Version 3.0.2</b> (2025-XX-XX)</p>
<p>Copyright (c) 2019-2025 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>
-<h1><a class="anchor" id="main_table_of_contents"></a>
+<p>Documentation of all members: D3D12MemAlloc.h</p>
+<h1 class="doxsection"><a class="anchor" id="main_table_of_contents"></a>
Table of contents</h1>
<ul>
<li><a class="el" href="faq.html">Frequently asked questions</a></li>
@@ -131,10 +118,10 @@
</ul>
</li>
</ul>
-<h1><a class="anchor" id="main_see_also"></a>
+<h1 class="doxsection"><a class="anchor" id="main_see_also"></a>
Web links</h1>
<ul>
-<li><a href="https://gpuopen.com/gaming-product/d3d12-memory-allocator/">Direct3D 12 Memory Allocator at GPUOpen.com</a> - product page</li>
+<li><a href="https://gpuopen.com/d3d12-memory-allocator/">Direct3D 12 Memory Allocator at GPUOpen.com</a> - product page</li>
<li><a href="https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator">GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator at GitHub.com</a> - source code repository </li>
</ul>
</div></div><!-- PageDoc -->
@@ -142,7 +129,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/linear_algorithm.html b/docs/html/linear_algorithm.html
index 25d5301..0bc59b0 100644
--- a/docs/html/linear_algorithm.html
+++ b/docs/html/linear_algorithm.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Linear allocation algorithm</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,12 +70,12 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">Linear allocation algorithm</div></div>
+ <div class="headertitle"><div class="title">Linear allocation algorithm </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Each D3D12 memory block managed by this library has accompanying metadata that keeps track of used and unused regions. By default, the metadata structure and algorithm tries to find best place for new allocations among free regions to optimize memory usage. This way you can allocate and free objects in any order.</p>
@@ -96,17 +83,17 @@
<p>Sometimes there is a need to use simpler, linear allocation algorithm. You can create custom pool that uses such algorithm by adding flag <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1aa37a0103f511954ea42a1d0bba286b6a">D3D12MA::POOL_FLAG_ALGORITHM_LINEAR</a> to <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#ac4ed93b0191344d68c0b4ac1a4822ff4" title="Flags for the heap.">D3D12MA::POOL_DESC::Flags</a> while creating <a class="el" href="class_d3_d12_m_a_1_1_pool.html" title="Custom memory pool.">D3D12MA::Pool</a> object. Then an alternative metadata management is used. It always creates new allocations after last one and doesn't reuse free regions after allocations freed in the middle. It results in better allocation performance and less memory consumed by metadata.</p>
<p><img src="../gfx/Linear_allocator_2_algo_linear.png" alt="Linear allocation algorithm" class="inline"/></p>
<p>With this one flag, you can create a custom pool that can be used in many ways: free-at-once, stack, double stack, and ring buffer. See below for details. You don't need to specify explicitly which of these options you are going to use - it is detected automatically.</p>
-<h1><a class="anchor" id="linear_algorithm_free_at_once"></a>
+<h1 class="doxsection"><a class="anchor" id="linear_algorithm_free_at_once"></a>
Free-at-once</h1>
-<p>In a pool that uses linear algorithm, you still need to free all the allocations individually by calling <code>allocation->Release()</code>. You can free them in any order. New allocations are always made after last one - free space in the middle is not reused. However, when you release all the allocation and the pool becomes empty, allocation starts from the beginning again. This way you can use linear algorithm to speed up creation of allocations that you are going to release all at once.</p>
+<p>In a pool that uses linear algorithm, you still need to free all the allocations individually by calling <span class="tt">allocation->Release()</span>. You can free them in any order. New allocations are always made after last one - free space in the middle is not reused. However, when you release all the allocation and the pool becomes empty, allocation starts from the beginning again. This way you can use linear algorithm to speed up creation of allocations that you are going to release all at once.</p>
<p><img src="../gfx/Linear_allocator_3_free_at_once.png" alt="Free-at-once" class="inline"/></p>
<p>This mode is also available for pools created with <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e" title="Maximum number of heaps (memory blocks) that can be allocated in this pool. Optional.">D3D12MA::POOL_DESC::MaxBlockCount</a> value that allows multiple memory blocks.</p>
-<h1><a class="anchor" id="linear_algorithm_stack"></a>
+<h1 class="doxsection"><a class="anchor" id="linear_algorithm_stack"></a>
Stack</h1>
<p>When you free an allocation that was created last, its space can be reused. Thanks to this, if you always release allocations in the order opposite to their creation (LIFO - Last In First Out), you can achieve behavior of a stack.</p>
<p><img src="../gfx/Linear_allocator_4_stack.png" alt="Stack" class="inline"/></p>
<p>This mode is also available for pools created with <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e" title="Maximum number of heaps (memory blocks) that can be allocated in this pool. Optional.">D3D12MA::POOL_DESC::MaxBlockCount</a> value that allows multiple memory blocks.</p>
-<h1><a class="anchor" id="linear_algorithm_double_stack"></a>
+<h1 class="doxsection"><a class="anchor" id="linear_algorithm_double_stack"></a>
Double stack</h1>
<p>The space reserved by a custom pool with linear algorithm may be used by two stacks:</p>
<ul>
@@ -116,20 +103,20 @@
<p>To make allocation from the upper stack, add flag <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645eafb0e2dacce691336e717550a1df72474">D3D12MA::ALLOCATION_FLAG_UPPER_ADDRESS</a> to <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#a92dec49b788a334fc91c55340dfbace6" title="Flags for the allocation.">D3D12MA::ALLOCATION_DESC::Flags</a>.</p>
<p><img src="../gfx/Linear_allocator_7_double_stack.png" alt="Double stack" class="inline"/></p>
<p>Double stack is available only in pools with one memory block - <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e" title="Maximum number of heaps (memory blocks) that can be allocated in this pool. Optional.">D3D12MA::POOL_DESC::MaxBlockCount</a> must be 1. Otherwise behavior is undefined.</p>
-<p>When the two stacks' ends meet so there is not enough space between them for a new allocation, such allocation fails with usual <code>E_OUTOFMEMORY</code> error.</p>
-<h1><a class="anchor" id="linear_algorithm_ring_buffer"></a>
+<p>When the two stacks' ends meet so there is not enough space between them for a new allocation, such allocation fails with usual <span class="tt">E_OUTOFMEMORY</span> error.</p>
+<h1 class="doxsection"><a class="anchor" id="linear_algorithm_ring_buffer"></a>
Ring buffer</h1>
<p>When you free some allocations from the beginning and there is not enough free space for a new one at the end of a pool, allocator's "cursor" wraps around to the beginning and starts allocation there. Thanks to this, if you always release allocations in the same order as you created them (FIFO - First In First Out), you can achieve behavior of a ring buffer / queue.</p>
<p><img src="../gfx/Linear_allocator_5_ring_buffer.png" alt="Ring buffer" class="inline"/></p>
<p>Ring buffer is available only in pools with one memory block - <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e" title="Maximum number of heaps (memory blocks) that can be allocated in this pool. Optional.">D3D12MA::POOL_DESC::MaxBlockCount</a> must be 1. Otherwise behavior is undefined.</p>
-<h1><a class="anchor" id="linear_algorithm_additional_considerations"></a>
+<h1 class="doxsection"><a class="anchor" id="linear_algorithm_additional_considerations"></a>
Additional considerations</h1>
<p>Linear algorithm can also be used with <a class="el" href="virtual_allocator.html">Virtual allocator</a>. See flag <a class="el" href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085dabd9968af113acc9a756254ab9f1dc13d" title="Enables alternative, linear allocation algorithm in this virtual block.">D3D12MA::VIRTUAL_BLOCK_FLAG_ALGORITHM_LINEAR</a>. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/menu.js b/docs/html/menu.js
index 0fd1e99..15f9c52 100644
--- a/docs/html/menu.js
+++ b/docs/html/menu.js
@@ -49,7 +49,7 @@
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
'<div class="left">'+
'<form id="FSearchBox" action="'+relPath+searchPage+
- '" method="get"><span id="MSearchSelectExt"> </span>'+
+ '" method="get"><span id="MSearchSelectExt" class="search-icon"></span>'+
'<input type="text" id="MSearchField" name="query" value="" placeholder="'+search+
'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)"'+
' onblur="searchBox.OnSearchFieldFocus(false)"/>'+
@@ -60,8 +60,8 @@
} else {
searchBoxHtml='<div id="MSearchBox" class="MSearchBoxInactive">'+
'<span class="left">'+
- '<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()"'+
- ' onmouseout="return searchBox.OnSearchSelectHide()"> </span>'+
+ '<span id="MSearchSelect" class="search-icon" onmouseover="return searchBox.OnSearchSelectShow()"'+
+ ' onmouseout="return searchBox.OnSearchSelectHide()"><span class="search-icon-dropdown"></span></span>'+
'<input type="text" id="MSearchField" value="" placeholder="'+search+
'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" '+
'onblur="searchBox.OnSearchFieldFocus(false)" '+
@@ -69,8 +69,7 @@
'</span>'+
'<span class="right"><a id="MSearchClose" '+
'href="javascript:searchBox.CloseResultsWindow()">'+
- '<img id="MSearchCloseImg" border="0" src="'+relPath+
- 'search/close.svg" alt=""/></a>'+
+ '<div id="MSearchCloseImg" class="close-icon"></div></a>'+
'</span>'+
'</div>';
}
@@ -84,9 +83,7 @@
'</div>');
$('#main-nav').append(makeTree(menudata,relPath));
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
- if (searchBoxHtml) {
- $('#main-menu').append('<li id="searchBoxPos2" style="float:right"></li>');
- }
+ $('#main-menu').append('<li id="searchBoxPos2" style="float:right"></li>');
const $mainMenuState = $('#main-menu-state');
let prevWidth = 0;
if ($mainMenuState.length) {
diff --git a/docs/html/namespace_d3_d12_m_a.html b/docs/html/namespace_d3_d12_m_a.html
index e770fdc..b4ae5de 100644
--- a/docs/html/namespace_d3_d12_m_a.html
+++ b/docs/html/namespace_d3_d12_m_a.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -93,97 +80,69 @@
</div><!--header-->
<div class="contents">
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a></td></tr>
+<tr class="memitem:Allocation" id="r_Allocation"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents single memory allocation. <a href="class_d3_d12_m_a_1_1_allocation.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">ALLOCATION_CALLBACKS</a></td></tr>
+<tr class="memitem:ALLOCATION_5FCALLBACKS" id="r_ALLOCATION_5FCALLBACKS"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">ALLOCATION_CALLBACKS</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Custom callbacks to CPU memory allocation functions. <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#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">ALLOCATION_DESC</a></td></tr>
+<tr class="memitem:ALLOCATION_5FDESC" id="r_ALLOCATION_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">ALLOCATION_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">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>. <a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents main object of this library initialized for particular <code>ID3D12Device</code>. <a href="class_d3_d12_m_a_1_1_allocator.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">ALLOCATOR_DESC</a></td></tr>
+<tr class="memitem:Allocator" id="r_Allocator"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents main object of this library initialized for particular <span class="tt">ID3D12Device</span>. <a href="class_d3_d12_m_a_1_1_allocator.html#details">More...</a><br /></td></tr>
+<tr class="memitem:ALLOCATOR_5FDESC" id="r_ALLOCATOR_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">ALLOCATOR_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">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="#ab7a1cd1683986d75ce1488b0920f4cb0" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">CreateAllocator()</a>. <a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_budget.html">Budget</a></td></tr>
+<tr class="memitem:Budget" id="r_Budget"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_budget.html">Budget</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Statistics of current memory usage and available budget for a specific memory segment group. <a href="struct_d3_d12_m_a_1_1_budget.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CALLOCATION_DESC</a></td></tr>
+<tr class="memitem:CALLOCATION_5FDESC" id="r_CALLOCATION_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CALLOCATION_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper structure that helps with complete and conscise initialization of the <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" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.">D3D12MA::ALLOCATION_DESC</a> structure. <a href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html">CPOOL_DESC</a></td></tr>
+<tr class="memitem:CPOOL_5FDESC" id="r_CPOOL_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html">CPOOL_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper structure that helps with complete and conscise initialization of the <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html" title="Parameters of created D3D12MA::Pool object. To be used with D3D12MA::Allocator::CreatePool.">D3D12MA::POOL_DESC</a> structure. <a href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CVIRTUAL_ALLOCATION_DESC</a></td></tr>
+<tr class="memitem:CVIRTUAL_5FALLOCATION_5FDESC" id="r_CVIRTUAL_5FALLOCATION_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CVIRTUAL_ALLOCATION_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper structure that helps with complete and conscise initialization of the <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" title="Parameters of created virtual allocation to be passed to VirtualBlock::Allocate().">D3D12MA::VIRTUAL_ALLOCATION_DESC</a> structure. <a href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html">CVIRTUAL_BLOCK_DESC</a></td></tr>
+<tr class="memitem:CVIRTUAL_5FBLOCK_5FDESC" id="r_CVIRTUAL_5FBLOCK_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html">CVIRTUAL_BLOCK_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper structure that helps with complete and conscise initialization of the <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> structure. <a href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">DEFRAGMENTATION_DESC</a></td></tr>
+<tr class="memitem:DEFRAGMENTATION_5FDESC" id="r_DEFRAGMENTATION_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">DEFRAGMENTATION_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parameters for defragmentation. <a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html">DEFRAGMENTATION_MOVE</a></td></tr>
+<tr class="memitem:DEFRAGMENTATION_5FMOVE" id="r_DEFRAGMENTATION_5FMOVE"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html">DEFRAGMENTATION_MOVE</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Single move of an allocation to be done for defragmentation. <a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">DEFRAGMENTATION_PASS_MOVE_INFO</a></td></tr>
+<tr class="memitem:DEFRAGMENTATION_5FPASS_5FMOVE_5FINFO" id="r_DEFRAGMENTATION_5FPASS_5FMOVE_5FINFO"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">DEFRAGMENTATION_PASS_MOVE_INFO</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parameters for incremental defragmentation steps. <a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html">DEFRAGMENTATION_STATS</a></td></tr>
+<tr class="memitem:DEFRAGMENTATION_5FSTATS" id="r_DEFRAGMENTATION_5FSTATS"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html">DEFRAGMENTATION_STATS</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Statistics returned for defragmentation process by function <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1c21c26f47dcbf8f4e562063a3e25f38" title="Returns statistics of the defragmentation performed so far.">DefragmentationContext::GetStats()</a>. <a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html">DefragmentationContext</a></td></tr>
+<tr class="memitem:DefragmentationContext" id="r_DefragmentationContext"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html">DefragmentationContext</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents defragmentation process in progress. <a href="class_d3_d12_m_a_1_1_defragmentation_context.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a></td></tr>
+<tr class="memitem:DetailedStatistics" id="r_DetailedStatistics"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">More detailed statistics than <a class="el" href="struct_d3_d12_m_a_1_1_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory heap type, memory segment group,...">D3D12MA::Statistics</a>. <a href="struct_d3_d12_m_a_1_1_detailed_statistics.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">Pool</a></td></tr>
+<tr class="memitem:Pool" id="r_Pool"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">Pool</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Custom memory pool. <a href="class_d3_d12_m_a_1_1_pool.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a></td></tr>
+<tr class="memitem:POOL_5FDESC" id="r_POOL_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">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>. <a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a></td></tr>
+<tr class="memitem:Statistics" id="r_Statistics"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Calculated statistics of memory usage e.g. in a specific memory heap type, memory segment group, custom pool, or total. <a href="struct_d3_d12_m_a_1_1_statistics.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_total_statistics.html">TotalStatistics</a></td></tr>
+<tr class="memitem:TotalStatistics" id="r_TotalStatistics"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_total_statistics.html">TotalStatistics</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">General statistics from current state of the allocator - total memory usage across all memory heaps and segments. <a href="struct_d3_d12_m_a_1_1_total_statistics.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">VIRTUAL_ALLOCATION_DESC</a></td></tr>
+<tr class="memitem:VIRTUAL_5FALLOCATION_5FDESC" id="r_VIRTUAL_5FALLOCATION_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">VIRTUAL_ALLOCATION_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parameters of created virtual allocation to be passed to <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a9281daf76e888ea1bd5247d5732e8179" title="Creates new allocation.">VirtualBlock::Allocate()</a>. <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#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">VIRTUAL_ALLOCATION_INFO</a></td></tr>
+<tr class="memitem:VIRTUAL_5FALLOCATION_5FINFO" id="r_VIRTUAL_5FALLOCATION_5FINFO"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">VIRTUAL_ALLOCATION_INFO</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parameters of an existing virtual allocation, returned by <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ac605dce05ca0d411e46079f0bad765d1" title="Returns information about an allocation - its offset, size and custom pointer.">VirtualBlock::GetAllocationInfo()</a>. <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___i_n_f_o.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">VIRTUAL_BLOCK_DESC</a></td></tr>
+<tr class="memitem:VIRTUAL_5FBLOCK_5FDESC" id="r_VIRTUAL_5FBLOCK_5FDESC"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><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">VIRTUAL_BLOCK_DESC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">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="#ab024647ae85ee63e2fa2c1c4beac6d98" title="Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.">CreateVirtualBlock()</a>. <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#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html">VirtualAllocation</a></td></tr>
+<tr class="memitem:VirtualAllocation" id="r_VirtualAllocation"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html">VirtualAllocation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents single memory allocation done inside <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,...">VirtualBlock</a>. <a href="struct_d3_d12_m_a_1_1_virtual_allocation.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a></td></tr>
+<tr class="memitem:VirtualBlock" id="r_VirtualBlock"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents pure allocation algorithm and a data structure with allocations in some memory block, without actually allocating any GPU memory. <a href="class_d3_d12_m_a_1_1_virtual_block.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a15e349adce86a40e0417d405aef1af80" id="r_a15e349adce86a40e0417d405aef1af80"><td class="memItemLeft" align="right" valign="top">typedef UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a15e349adce86a40e0417d405aef1af80">AllocHandle</a></td></tr>
<tr class="memdesc:a15e349adce86a40e0417d405aef1af80"><td class="mdescLeft"> </td><td class="mdescRight">Unique identifier of single allocation done inside the memory heap. <br /></td></tr>
-<tr class="separator:a15e349adce86a40e0417d405aef1af80"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad998d40b4601b84dbc538694b1faf4d5" id="r_ad998d40b4601b84dbc538694b1faf4d5"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad998d40b4601b84dbc538694b1faf4d5">ALLOCATE_FUNC_PTR</a> = void* (*)(size_t Size, size_t Alignment, void* pPrivateData)</td></tr>
<tr class="memdesc:ad998d40b4601b84dbc538694b1faf4d5"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to custom callback function that allocates CPU memory. <br /></td></tr>
-<tr class="separator:ad998d40b4601b84dbc538694b1faf4d5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7c61f55eeb64451cb0c08c0461bbe1a3" id="r_a7c61f55eeb64451cb0c08c0461bbe1a3"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7c61f55eeb64451cb0c08c0461bbe1a3">FREE_FUNC_PTR</a> = void (*)(void* pMemory, void* pPrivateData)</td></tr>
<tr class="memdesc:a7c61f55eeb64451cb0c08c0461bbe1a3"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to custom callback function that deallocates CPU memory. <br /></td></tr>
-<tr class="separator:a7c61f55eeb64451cb0c08c0461bbe1a3"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:abbad31a7e0b3d09d77f3fb704b77645e" id="r_abbad31a7e0b3d09d77f3fb704b77645e"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#abbad31a7e0b3d09d77f3fb704b77645e">ALLOCATION_FLAGS</a> { <br />
  <a class="el" href="#abbad31a7e0b3d09d77f3fb704b77645ea0bf578b096d6ea73cea86b031541733e">ALLOCATION_FLAG_NONE</a> = 0
@@ -203,20 +162,17 @@
<br />
}</td></tr>
<tr class="memdesc:abbad31a7e0b3d09d77f3fb704b77645e"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with ALLOCATION_DESC::Flags. <a href="#abbad31a7e0b3d09d77f3fb704b77645e">More...</a><br /></td></tr>
-<tr class="separator:abbad31a7e0b3d09d77f3fb704b77645e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab433989212ee6736bf9d63c5bc565df4" id="r_ab433989212ee6736bf9d63c5bc565df4"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab433989212ee6736bf9d63c5bc565df4">DEFRAGMENTATION_FLAGS</a> { <a class="el" href="#ab433989212ee6736bf9d63c5bc565df4a9d0301a81136ca79e3ba52542c6d2e13">DEFRAGMENTATION_FLAG_ALGORITHM_FAST</a> = 0x1
, <a class="el" href="#ab433989212ee6736bf9d63c5bc565df4ace3a84861ed6a1b8066fa9c12c7e89b9">DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED</a> = 0x2
, <a class="el" href="#ab433989212ee6736bf9d63c5bc565df4af205647f08a5c2cddced83ed66892467">DEFRAGMENTATION_FLAG_ALGORITHM_FULL</a> = 0x4
, <a class="el" href="#ab433989212ee6736bf9d63c5bc565df4a567e0fe890cc07d8dd6576584e8d9f2d">DEFRAGMENTATION_FLAG_ALGORITHM_MASK</a>
}</td></tr>
<tr class="memdesc:ab433989212ee6736bf9d63c5bc565df4"><td class="mdescLeft"> </td><td class="mdescRight">Flags to be passed as DEFRAGMENTATION_DESC::Flags. <a href="#ab433989212ee6736bf9d63c5bc565df4">More...</a><br /></td></tr>
-<tr class="separator:ab433989212ee6736bf9d63c5bc565df4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a82bb787a69699a877b4166789a30e602" id="r_a82bb787a69699a877b4166789a30e602"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#a82bb787a69699a877b4166789a30e602">DEFRAGMENTATION_MOVE_OPERATION</a> { <a class="el" href="#a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac">DEFRAGMENTATION_MOVE_OPERATION_COPY</a> = 0
, <a class="el" href="#a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6">DEFRAGMENTATION_MOVE_OPERATION_IGNORE</a> = 1
, <a class="el" href="#a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242">DEFRAGMENTATION_MOVE_OPERATION_DESTROY</a> = 2
}</td></tr>
<tr class="memdesc:a82bb787a69699a877b4166789a30e602"><td class="mdescLeft"> </td><td class="mdescRight">Operation performed on single defragmentation move. <a href="#a82bb787a69699a877b4166789a30e602">More...</a><br /></td></tr>
-<tr class="separator:a82bb787a69699a877b4166789a30e602"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a919d8545365d6b7209a964f2b99936d1" id="r_a919d8545365d6b7209a964f2b99936d1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#a919d8545365d6b7209a964f2b99936d1">POOL_FLAGS</a> { <br />
  <a class="el" href="#a919d8545365d6b7209a964f2b99936d1a5d8dc91add3423140809a550c7224d02">POOL_FLAG_NONE</a> = 0
, <a class="el" href="#a919d8545365d6b7209a964f2b99936d1aa37a0103f511954ea42a1d0bba286b6a">POOL_FLAG_ALGORITHM_LINEAR</a> = 0x1
@@ -227,7 +183,6 @@
<br />
}</td></tr>
<tr class="memdesc:a919d8545365d6b7209a964f2b99936d1"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with POOL_DESC::Flags. <a href="#a919d8545365d6b7209a964f2b99936d1">More...</a><br /></td></tr>
-<tr class="separator:a919d8545365d6b7209a964f2b99936d1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad5ae5a5e42b878f2e18ab5d1fbfb9916" id="r_ad5ae5a5e42b878f2e18ab5d1fbfb9916"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad5ae5a5e42b878f2e18ab5d1fbfb9916">ALLOCATOR_FLAGS</a> { <br />
  <a class="el" href="#ad5ae5a5e42b878f2e18ab5d1fbfb9916a2fb30967b492c27823a80b5de3aea26f">ALLOCATOR_FLAG_NONE</a> = 0
, <a class="el" href="#ad5ae5a5e42b878f2e18ab5d1fbfb9916a1b06bb21df006f76a9ed1bc41838bc52">ALLOCATOR_FLAG_SINGLETHREADED</a> = 0x1
@@ -239,13 +194,11 @@
<br />
}</td></tr>
<tr class="memdesc:ad5ae5a5e42b878f2e18ab5d1fbfb9916"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with ALLOCATOR_DESC::Flags. <a href="#ad5ae5a5e42b878f2e18ab5d1fbfb9916">More...</a><br /></td></tr>
-<tr class="separator:ad5ae5a5e42b878f2e18ab5d1fbfb9916"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a578329923a103be086ac52e3bed2085d" id="r_a578329923a103be086ac52e3bed2085d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#a578329923a103be086ac52e3bed2085d">VIRTUAL_BLOCK_FLAGS</a> { <a class="el" href="#a578329923a103be086ac52e3bed2085dafc882884f8bacd5cab3087567df8c53d">VIRTUAL_BLOCK_FLAG_NONE</a> = 0
, <a class="el" href="#a578329923a103be086ac52e3bed2085dabd9968af113acc9a756254ab9f1dc13d">VIRTUAL_BLOCK_FLAG_ALGORITHM_LINEAR</a> = POOL_FLAG_ALGORITHM_LINEAR
, <a class="el" href="#a578329923a103be086ac52e3bed2085da0fee243cbf2902a68123ac85caa21e3e">VIRTUAL_BLOCK_FLAG_ALGORITHM_MASK</a> = POOL_FLAG_ALGORITHM_MASK
}</td></tr>
<tr class="memdesc:a578329923a103be086ac52e3bed2085d"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with VIRTUAL_BLOCK_DESC::Flags. <a href="#a578329923a103be086ac52e3bed2085d">More...</a><br /></td></tr>
-<tr class="separator:a578329923a103be086ac52e3bed2085d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7e4152ccaf661f5398b24a23cbe9ae72" id="r_a7e4152ccaf661f5398b24a23cbe9ae72"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7e4152ccaf661f5398b24a23cbe9ae72">VIRTUAL_ALLOCATION_FLAGS</a> { <br />
  <a class="el" href="#a7e4152ccaf661f5398b24a23cbe9ae72a03576295004dec9dc8f99a895d232027">VIRTUAL_ALLOCATION_FLAG_NONE</a> = 0
, <a class="el" href="#a7e4152ccaf661f5398b24a23cbe9ae72a86beebcb80a1a10cb5525e2c9ed1435e">VIRTUAL_ALLOCATION_FLAG_UPPER_ADDRESS</a> = ALLOCATION_FLAG_UPPER_ADDRESS
@@ -257,18 +210,15 @@
<br />
}</td></tr>
<tr class="memdesc:a7e4152ccaf661f5398b24a23cbe9ae72"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with VIRTUAL_ALLOCATION_DESC::Flags. <a href="#a7e4152ccaf661f5398b24a23cbe9ae72">More...</a><br /></td></tr>
-<tr class="separator:a7e4152ccaf661f5398b24a23cbe9ae72"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab7a1cd1683986d75ce1488b0920f4cb0" id="r_ab7a1cd1683986d75ce1488b0920f4cb0"><td class="memItemLeft" align="right" valign="top">D3D12MA_API HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab7a1cd1683986d75ce1488b0920f4cb0">CreateAllocator</a> (const <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">ALLOCATOR_DESC</a> *pDesc, <a class="el" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a> **ppAllocator)</td></tr>
-<tr class="memdesc:ab7a1cd1683986d75ce1488b0920f4cb0"><td class="mdescLeft"> </td><td class="mdescRight">Creates new main <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> object and returns it through <code>ppAllocator</code>. <br /></td></tr>
-<tr class="separator:ab7a1cd1683986d75ce1488b0920f4cb0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:ab7a1cd1683986d75ce1488b0920f4cb0"><td class="mdescLeft"> </td><td class="mdescRight">Creates new main <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> object and returns it through <span class="tt">ppAllocator</span>. <br /></td></tr>
<tr class="memitem:ab024647ae85ee63e2fa2c1c4beac6d98" id="r_ab024647ae85ee63e2fa2c1c4beac6d98"><td class="memItemLeft" align="right" valign="top">D3D12MA_API HRESULT </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab024647ae85ee63e2fa2c1c4beac6d98">CreateVirtualBlock</a> (const <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">VIRTUAL_BLOCK_DESC</a> *pDesc, <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a> **ppVirtualBlock)</td></tr>
-<tr class="memdesc:ab024647ae85ee63e2fa2c1c4beac6d98"><td class="mdescLeft"> </td><td class="mdescRight">Creates new <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 and returns it through <code>ppVirtualBlock</code>. <br /></td></tr>
-<tr class="separator:ab024647ae85ee63e2fa2c1c4beac6d98"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:ab024647ae85ee63e2fa2c1c4beac6d98"><td class="mdescLeft"> </td><td class="mdescRight">Creates new <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 and returns it through <span class="tt">ppVirtualBlock</span>. <br /></td></tr>
</table>
-<h2 class="groupheader">Typedef Documentation</h2>
+<a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
<a id="ad998d40b4601b84dbc538694b1faf4d5" name="ad998d40b4601b84dbc538694b1faf4d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad998d40b4601b84dbc538694b1faf4d5">◆ </a></span>ALLOCATE_FUNC_PTR</h2>
@@ -314,11 +264,11 @@
</div><div class="memdoc">
<p>Pointer to custom callback function that deallocates CPU memory. </p>
-<p><code>pMemory = null</code> should be accepted and ignored. </p>
+<p><span class="tt">pMemory = null</span> should be accepted and ignored. </p>
</div>
</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a name="doc-enum-members" id="doc-enum-members"></a><h2 id="header-doc-enum-members" class="groupheader">Enumeration Type Documentation</h2>
<a id="abbad31a7e0b3d09d77f3fb704b77645e" name="abbad31a7e0b3d09d77f3fb704b77645e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbad31a7e0b3d09d77f3fb704b77645e">◆ </a></span>ALLOCATION_FLAGS</h2>
@@ -338,21 +288,21 @@
<tr><td class="fieldname"><a id="abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675" name="abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675"></a>ALLOCATION_FLAG_COMMITTED </td><td class="fielddoc"><p>Set this flag if the allocation should have its own dedicated memory allocation (committed resource with implicit heap).</p>
<p>Use it for special, big resources, like fullscreen textures used as render targets.</p>
<ul>
-<li>When used with functions like <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>, it will use <code>ID3D12Device::CreateCommittedResource</code>, so the created allocation will contain a resource (<a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ad00308118252f82d8f803c623c67bf18" title="Returns D3D12 resource associated with this object.">D3D12MA::Allocation::GetResource()</a> <code>!= NULL</code>) but will not have a heap (<a class="el" href="class_d3_d12_m_a_1_1_allocation.html#adca8d5a82bed492fe7265fcda6e53da2" title="Returns memory heap that the resource is created in.">D3D12MA::Allocation::GetHeap()</a> <code>== NULL</code>), as the heap is implicit.</li>
-<li>When used with raw memory allocation like <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2" title="Allocates memory without creating any resource placed in it.">D3D12MA::Allocator::AllocateMemory</a>, it will use <code>ID3D12Device::CreateHeap</code>, so the created allocation will contain a heap (<a class="el" href="class_d3_d12_m_a_1_1_allocation.html#adca8d5a82bed492fe7265fcda6e53da2" title="Returns memory heap that the resource is created in.">D3D12MA::Allocation::GetHeap()</a> <code>!= NULL</code>) and its offset will always be 0. </li>
+<li>When used with functions like <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>, it will use <span class="tt">ID3D12Device::CreateCommittedResource</span>, so the created allocation will contain a resource (<a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ad00308118252f82d8f803c623c67bf18" title="Returns D3D12 resource associated with this object.">D3D12MA::Allocation::GetResource()</a> <span class="tt">!= NULL</span>) but will not have a heap (<a class="el" href="class_d3_d12_m_a_1_1_allocation.html#adca8d5a82bed492fe7265fcda6e53da2" title="Returns memory heap that the resource is created in.">D3D12MA::Allocation::GetHeap()</a> <span class="tt">== NULL</span>), as the heap is implicit.</li>
+<li>When used with raw memory allocation like <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2" title="Allocates memory without creating any resource placed in it.">D3D12MA::Allocator::AllocateMemory</a>, it will use <span class="tt">ID3D12Device::CreateHeap</span>, so the created allocation will contain a heap (<a class="el" href="class_d3_d12_m_a_1_1_allocation.html#adca8d5a82bed492fe7265fcda6e53da2" title="Returns memory heap that the resource is created in.">D3D12MA::Allocation::GetHeap()</a> <span class="tt">!= NULL</span>) and its offset will always be 0. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628" name="abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628"></a>ALLOCATION_FLAG_NEVER_ALLOCATE </td><td class="fielddoc"><p>Set this flag to only try to allocate from existing memory heaps and never create new such heap.</p>
-<p>If new allocation cannot be placed in any of the existing heaps, allocation fails with <code>E_OUTOFMEMORY</code> error.</p>
+<p>If new allocation cannot be placed in any of the existing heaps, allocation fails with <span class="tt">E_OUTOFMEMORY</span> error.</p>
<p>You should not use <a class="el" href="#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a> and <a class="el" href="#abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628">D3D12MA::ALLOCATION_FLAG_NEVER_ALLOCATE</a> at the same time. It makes no sense. </p>
</td></tr>
-<tr><td class="fieldname"><a id="abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6" name="abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6"></a>ALLOCATION_FLAG_WITHIN_BUDGET </td><td class="fielddoc"><p>Create allocation only if additional memory required for it, if any, won't exceed memory budget. Otherwise return <code>E_OUTOFMEMORY</code>. </p>
+<tr><td class="fieldname"><a id="abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6" name="abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6"></a>ALLOCATION_FLAG_WITHIN_BUDGET </td><td class="fielddoc"><p>Create allocation only if additional memory required for it, if any, won't exceed memory budget. Otherwise return <span class="tt">E_OUTOFMEMORY</span>. </p>
</td></tr>
<tr><td class="fieldname"><a id="abbad31a7e0b3d09d77f3fb704b77645eafb0e2dacce691336e717550a1df72474" name="abbad31a7e0b3d09d77f3fb704b77645eafb0e2dacce691336e717550a1df72474"></a>ALLOCATION_FLAG_UPPER_ADDRESS </td><td class="fielddoc"><p><a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">Allocation</a> will be created from upper stack in a double stack pool.</p>
<p>This flag is only allowed for custom pools created with <a class="el" href="#a919d8545365d6b7209a964f2b99936d1aa37a0103f511954ea42a1d0bba286b6a">POOL_FLAG_ALGORITHM_LINEAR</a> flag. </p>
</td></tr>
<tr><td class="fieldname"><a id="abbad31a7e0b3d09d77f3fb704b77645ea4d6808f27de6d0ae57014ec1f4d54326" name="abbad31a7e0b3d09d77f3fb704b77645ea4d6808f27de6d0ae57014ec1f4d54326"></a>ALLOCATION_FLAG_CAN_ALIAS </td><td class="fielddoc"><p>Set this flag if the allocated memory will have aliasing resources.</p>
-<p>Use this when calling <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> and similar to guarantee creation of explicit heap for desired allocation and prevent it from using <code>CreateCommittedResource</code>, so that new allocation object will always have <code>allocation->GetHeap() != NULL</code>. </p>
+<p>Use this when calling <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> and similar to guarantee creation of explicit heap for desired allocation and prevent it from using <span class="tt">CreateCommittedResource</span>, so that new allocation object will always have <span class="tt">allocation->GetHeap() != NULL</span>. </p>
</td></tr>
<tr><td class="fieldname"><a id="abbad31a7e0b3d09d77f3fb704b77645ea4b4fa95bb0daf6a80add7fb292aa63ae" name="abbad31a7e0b3d09d77f3fb704b77645ea4b4fa95bb0daf6a80add7fb292aa63ae"></a>ALLOCATION_FLAG_STRATEGY_MIN_MEMORY </td><td class="fielddoc"><p>Allocation strategy that chooses smallest possible free range for the allocation to minimize memory usage and fragmentation, possibly at the expense of allocation time. </p>
</td></tr>
@@ -364,7 +314,7 @@
</td></tr>
<tr><td class="fieldname"><a id="abbad31a7e0b3d09d77f3fb704b77645ea103ff3115f3c2126779c25be435bf6aa" name="abbad31a7e0b3d09d77f3fb704b77645ea103ff3115f3c2126779c25be435bf6aa"></a>ALLOCATION_FLAG_STRATEGY_FIRST_FIT </td><td class="fielddoc"><p>Alias to <a class="el" href="#abbad31a7e0b3d09d77f3fb704b77645eaa3ded8847563c24b4522af0586dbd2cb">ALLOCATION_FLAG_STRATEGY_MIN_TIME</a>. </p>
</td></tr>
-<tr><td class="fieldname"><a id="abbad31a7e0b3d09d77f3fb704b77645ea3e29297ad3c6cf9d9bb61b6d27a13ab3" name="abbad31a7e0b3d09d77f3fb704b77645ea3e29297ad3c6cf9d9bb61b6d27a13ab3"></a>ALLOCATION_FLAG_STRATEGY_MASK </td><td class="fielddoc"><p>A bit mask to extract only <code>STRATEGY</code> bits from entire set of flags. </p>
+<tr><td class="fieldname"><a id="abbad31a7e0b3d09d77f3fb704b77645ea3e29297ad3c6cf9d9bb61b6d27a13ab3" name="abbad31a7e0b3d09d77f3fb704b77645ea3e29297ad3c6cf9d9bb61b6d27a13ab3"></a>ALLOCATION_FLAG_STRATEGY_MASK </td><td class="fielddoc"><p>A bit mask to extract only <span class="tt">STRATEGY</span> bits from entire set of flags. </p>
</td></tr>
</table>
@@ -392,10 +342,10 @@
<tr><td class="fieldname"><a id="ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb" name="ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb"></a>ALLOCATOR_FLAG_ALWAYS_COMMITTED </td><td class="fielddoc"><p>Every allocation will be created as a committed resource - will have its own memory block.</p>
<p>Affects both default pools and custom pools. To be used for debugging purposes only. There is also an equivalent flag for custom pools: <a class="el" href="#a919d8545365d6b7209a964f2b99936d1a15b7a6f8bfb6e4d534143f8adb6ac7ba">D3D12MA::POOL_FLAG_ALWAYS_COMMITTED</a>. </p>
</td></tr>
-<tr><td class="fieldname"><a id="ad5ae5a5e42b878f2e18ab5d1fbfb9916ae7dc7ab9168148281ebfe1586f554335" name="ad5ae5a5e42b878f2e18ab5d1fbfb9916ae7dc7ab9168148281ebfe1586f554335"></a>ALLOCATOR_FLAG_DEFAULT_POOLS_NOT_ZEROED </td><td class="fielddoc"><p>Heaps created for the default pools will be created with flag <code>D3D12_HEAP_FLAG_CREATE_NOT_ZEROED</code>, allowing for their memory to be not zeroed by the system if possible, which can speed up allocation.</p>
+<tr><td class="fieldname"><a id="ad5ae5a5e42b878f2e18ab5d1fbfb9916ae7dc7ab9168148281ebfe1586f554335" name="ad5ae5a5e42b878f2e18ab5d1fbfb9916ae7dc7ab9168148281ebfe1586f554335"></a>ALLOCATOR_FLAG_DEFAULT_POOLS_NOT_ZEROED </td><td class="fielddoc"><p>Heaps created for the default pools will be created with flag <span class="tt">D3D12_HEAP_FLAG_CREATE_NOT_ZEROED</span>, allowing for their memory to be not zeroed by the system if possible, which can speed up allocation.</p>
<p>Only affects default pools. To use the flag with <a class="el" href="custom_pools.html">Custom memory pools</a>, you need to add it manually:</p>
<div class="fragment"><div class="line">poolDesc.heapFlags |= D3D12_HEAP_FLAG_CREATE_NOT_ZEROED;</div>
-</div><!-- fragment --><p>Only avaiable if <code>ID3D12Device8</code> is present. Otherwise, the flag is ignored. </p>
+</div><!-- fragment --><p>Only avaiable if <span class="tt">ID3D12Device8</span> is present. Otherwise, the flag is ignored. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad5ae5a5e42b878f2e18ab5d1fbfb9916adfbfd20d716f2a46f74d6226056fef1e" name="ad5ae5a5e42b878f2e18ab5d1fbfb9916adfbfd20d716f2a46f74d6226056fef1e"></a>ALLOCATOR_FLAG_MSAA_TEXTURES_ALWAYS_COMMITTED </td><td class="fielddoc"><p>Optimization, allocate MSAA textures as committed resources always.</p>
<p>Specify this flag to create MSAA textures with implicit heaps, as if they were created with flag <a class="el" href="#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a>. Usage of this flags enables all default pools to create its heaps on smaller alignment not suitable for MSAA textures.</p>
@@ -424,11 +374,11 @@
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab433989212ee6736bf9d63c5bc565df4a9d0301a81136ca79e3ba52542c6d2e13" name="ab433989212ee6736bf9d63c5bc565df4a9d0301a81136ca79e3ba52542c6d2e13"></a>DEFRAGMENTATION_FLAG_ALGORITHM_FAST </td><td class="fielddoc"><p>Use simple but fast algorithm for defragmentation. May not achieve best results but will require least time to compute and least allocations to copy. </p>
</td></tr>
-<tr><td class="fieldname"><a id="ab433989212ee6736bf9d63c5bc565df4ace3a84861ed6a1b8066fa9c12c7e89b9" name="ab433989212ee6736bf9d63c5bc565df4ace3a84861ed6a1b8066fa9c12c7e89b9"></a>DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED </td><td class="fielddoc"><p>Default defragmentation algorithm, applied also when no <code>ALGORITHM</code> flag is specified. Offers a balance between defragmentation quality and the amount of allocations and bytes that need to be moved. </p>
+<tr><td class="fieldname"><a id="ab433989212ee6736bf9d63c5bc565df4ace3a84861ed6a1b8066fa9c12c7e89b9" name="ab433989212ee6736bf9d63c5bc565df4ace3a84861ed6a1b8066fa9c12c7e89b9"></a>DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED </td><td class="fielddoc"><p>Default defragmentation algorithm, applied also when no <span class="tt">ALGORITHM</span> flag is specified. Offers a balance between defragmentation quality and the amount of allocations and bytes that need to be moved. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab433989212ee6736bf9d63c5bc565df4af205647f08a5c2cddced83ed66892467" name="ab433989212ee6736bf9d63c5bc565df4af205647f08a5c2cddced83ed66892467"></a>DEFRAGMENTATION_FLAG_ALGORITHM_FULL </td><td class="fielddoc"><p>Perform full defragmentation of memory. Can result in notably more time to compute and allocations to copy, but will achieve best memory packing. </p>
</td></tr>
-<tr><td class="fieldname"><a id="ab433989212ee6736bf9d63c5bc565df4a567e0fe890cc07d8dd6576584e8d9f2d" name="ab433989212ee6736bf9d63c5bc565df4a567e0fe890cc07d8dd6576584e8d9f2d"></a>DEFRAGMENTATION_FLAG_ALGORITHM_MASK </td><td class="fielddoc"><p>A bit mask to extract only <code>ALGORITHM</code> bits from entire set of flags. </p>
+<tr><td class="fieldname"><a id="ab433989212ee6736bf9d63c5bc565df4a567e0fe890cc07d8dd6576584e8d9f2d" name="ab433989212ee6736bf9d63c5bc565df4a567e0fe890cc07d8dd6576584e8d9f2d"></a>DEFRAGMENTATION_FLAG_ALGORITHM_MASK </td><td class="fielddoc"><p>A bit mask to extract only <span class="tt">ALGORITHM</span> bits from entire set of flags. </p>
</td></tr>
</table>
@@ -448,11 +398,11 @@
<p>Operation performed on single defragmentation move. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac" name="a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac"></a>DEFRAGMENTATION_MOVE_OPERATION_COPY </td><td class="fielddoc"><p>Resource has been recreated at <code>pDstTmpAllocation</code>, data has been copied, old resource has been destroyed. <code>pSrcAllocation</code> will be changed to point to the new place. This is the default value set by <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1606c015d02edc094bb246986159d592" title="Starts single defragmentation pass.">DefragmentationContext::BeginPass()</a>. </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac" name="a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac"></a>DEFRAGMENTATION_MOVE_OPERATION_COPY </td><td class="fielddoc"><p>Resource has been recreated at <span class="tt">pDstTmpAllocation</span>, data has been copied, old resource has been destroyed. <span class="tt">pSrcAllocation</span> will be changed to point to the new place. This is the default value set by <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1606c015d02edc094bb246986159d592" title="Starts single defragmentation pass.">DefragmentationContext::BeginPass()</a>. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6" name="a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6"></a>DEFRAGMENTATION_MOVE_OPERATION_IGNORE </td><td class="fielddoc"><p>Set this value if you cannot move the allocation. New place reserved at <code>pDstTmpAllocation</code> will be freed. <code>pSrcAllocation</code> will remain unchanged. </p>
+<tr><td class="fieldname"><a id="a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6" name="a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6"></a>DEFRAGMENTATION_MOVE_OPERATION_IGNORE </td><td class="fielddoc"><p>Set this value if you cannot move the allocation. New place reserved at <span class="tt">pDstTmpAllocation</span> will be freed. <span class="tt">pSrcAllocation</span> will remain unchanged. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242" name="a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242"></a>DEFRAGMENTATION_MOVE_OPERATION_DESTROY </td><td class="fielddoc"><p>Set this value if you decide to abandon the allocation and you destroyed the resource. New place reserved <code>pDstTmpAllocation</code> will be freed, along with <code>pSrcAllocation</code>. </p>
+<tr><td class="fieldname"><a id="a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242" name="a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242"></a>DEFRAGMENTATION_MOVE_OPERATION_DESTROY </td><td class="fielddoc"><p>Set this value if you decide to abandon the allocation and you destroyed the resource. New place reserved <span class="tt">pDstTmpAllocation</span> will be freed, along with <span class="tt">pSrcAllocation</span>. </p>
</td></tr>
</table>
@@ -515,7 +465,7 @@
</td></tr>
<tr><td class="fieldname"><a id="a7e4152ccaf661f5398b24a23cbe9ae72abd8063a364dba797e928b6aaa85dd5f0" name="a7e4152ccaf661f5398b24a23cbe9ae72abd8063a364dba797e928b6aaa85dd5f0"></a>VIRTUAL_ALLOCATION_FLAG_STRATEGY_MIN_OFFSET </td><td class="fielddoc"><p>Allocation strategy that chooses always the lowest offset in available space. This is not the most efficient strategy but achieves highly packed data. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a7e4152ccaf661f5398b24a23cbe9ae72a6a78fdd4c16ef443e9353622caf7efb9" name="a7e4152ccaf661f5398b24a23cbe9ae72a6a78fdd4c16ef443e9353622caf7efb9"></a>VIRTUAL_ALLOCATION_FLAG_STRATEGY_MASK </td><td class="fielddoc"><p>A bit mask to extract only <code>STRATEGY</code> bits from entire set of flags. </p>
+<tr><td class="fieldname"><a id="a7e4152ccaf661f5398b24a23cbe9ae72a6a78fdd4c16ef443e9353622caf7efb9" name="a7e4152ccaf661f5398b24a23cbe9ae72a6a78fdd4c16ef443e9353622caf7efb9"></a>VIRTUAL_ALLOCATION_FLAG_STRATEGY_MASK </td><td class="fielddoc"><p>A bit mask to extract only <span class="tt">STRATEGY</span> bits from entire set of flags. </p>
<p>These strategy flags are binary compatible with equivalent flags in <a class="el" href="#abbad31a7e0b3d09d77f3fb704b77645e" title="Bit flags to be used with ALLOCATION_DESC::Flags.">ALLOCATION_FLAGS</a>. </p>
</td></tr>
</table>
@@ -547,7 +497,7 @@
</div>
</div>
-<h2 class="groupheader">Function Documentation</h2>
+<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
<a id="ab7a1cd1683986d75ce1488b0920f4cb0" name="ab7a1cd1683986d75ce1488b0920f4cb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7a1cd1683986d75ce1488b0920f4cb0">◆ </a></span>CreateAllocator()</h2>
@@ -567,8 +517,8 @@
</table>
</div><div class="memdoc">
-<p>Creates new main <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> object and returns it through <code>ppAllocator</code>. </p>
-<p>You normally only need to call it once and keep a single <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 for your <code>ID3D12Device</code>. </p>
+<p>Creates new main <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> object and returns it through <span class="tt">ppAllocator</span>. </p>
+<p>You normally only need to call it once and keep a single <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 for your <span class="tt">ID3D12Device</span>. </p>
</div>
</div>
@@ -591,7 +541,7 @@
</table>
</div><div class="memdoc">
-<p>Creates new <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 and returns it through <code>ppVirtualBlock</code>. </p>
+<p>Creates new <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 and returns it through <span class="tt">ppVirtualBlock</span>. </p>
<p>Note you don't need to create <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> to use virtual blocks. </p>
</div>
@@ -599,7 +549,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/namespacemembers.html b/docs/html/namespacemembers.html
index 6881ab0..4cadc29 100644
--- a/docs/html/namespacemembers.html
+++ b/docs/html/namespacemembers.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Namespace Members</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -86,7 +73,7 @@
<div class="contents">
<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div>
-<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
+<h3 class="doxsection"><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>ALLOCATE_FUNC_PTR : <a class="el" href="namespace_d3_d12_m_a.html#ad998d40b4601b84dbc538694b1faf4d5">D3D12MA</a></li>
<li>ALLOCATION_FLAG_CAN_ALIAS : <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea4d6808f27de6d0ae57014ec1f4d54326">D3D12MA</a></li>
<li>ALLOCATION_FLAG_COMMITTED : <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA</a></li>
@@ -112,13 +99,13 @@
</ul>
-<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
+<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>CreateAllocator() : <a class="el" href="namespace_d3_d12_m_a.html#ab7a1cd1683986d75ce1488b0920f4cb0">D3D12MA</a></li>
<li>CreateVirtualBlock() : <a class="el" href="namespace_d3_d12_m_a.html#ab024647ae85ee63e2fa2c1c4beac6d98">D3D12MA</a></li>
</ul>
-<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
+<h3 class="doxsection"><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED : <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4ace3a84861ed6a1b8066fa9c12c7e89b9">D3D12MA</a></li>
<li>DEFRAGMENTATION_FLAG_ALGORITHM_FAST : <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4a9d0301a81136ca79e3ba52542c6d2e13">D3D12MA</a></li>
<li>DEFRAGMENTATION_FLAG_ALGORITHM_FULL : <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4af205647f08a5c2cddced83ed66892467">D3D12MA</a></li>
@@ -131,12 +118,12 @@
</ul>
-<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
+<h3 class="doxsection"><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>FREE_FUNC_PTR : <a class="el" href="namespace_d3_d12_m_a.html#a7c61f55eeb64451cb0c08c0461bbe1a3">D3D12MA</a></li>
</ul>
-<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
+<h3 class="doxsection"><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>POOL_FLAG_ALGORITHM_LINEAR : <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1aa37a0103f511954ea42a1d0bba286b6a">D3D12MA</a></li>
<li>POOL_FLAG_ALGORITHM_MASK : <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1aec9d4939b8cc5438545b9df840b5f5f7">D3D12MA</a></li>
<li>POOL_FLAG_ALWAYS_COMMITTED : <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1a15b7a6f8bfb6e4d534143f8adb6ac7ba">D3D12MA</a></li>
@@ -146,7 +133,7 @@
</ul>
-<h3><a id="index_v" name="index_v"></a>- v -</h3><ul>
+<h3 class="doxsection"><a id="index_v" name="index_v"></a>- v -</h3><ul>
<li>VIRTUAL_ALLOCATION_FLAG_NONE : <a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72a03576295004dec9dc8f99a895d232027">D3D12MA</a></li>
<li>VIRTUAL_ALLOCATION_FLAG_STRATEGY_MASK : <a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72a6a78fdd4c16ef443e9353622caf7efb9">D3D12MA</a></li>
<li>VIRTUAL_ALLOCATION_FLAG_STRATEGY_MIN_MEMORY : <a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72affe589cb8817363fed0d207c3a5f2ad9">D3D12MA</a></li>
@@ -162,7 +149,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/namespacemembers_enum.html b/docs/html/namespacemembers_enum.html
index 5723a6b..90ffd55 100644
--- a/docs/html/namespacemembers_enum.html
+++ b/docs/html/namespacemembers_enum.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Namespace Members</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -96,7 +83,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/namespacemembers_eval.html b/docs/html/namespacemembers_eval.html
index 365527c..4a4922b 100644
--- a/docs/html/namespacemembers_eval.html
+++ b/docs/html/namespacemembers_eval.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Namespace Members</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -86,7 +73,7 @@
<div class="contents">
<div class="textblock">Here is a list of all namespace enum values with links to the namespace documentation for each enum value:</div>
-<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
+<h3 class="doxsection"><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>ALLOCATION_FLAG_CAN_ALIAS : <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea4d6808f27de6d0ae57014ec1f4d54326">D3D12MA</a></li>
<li>ALLOCATION_FLAG_COMMITTED : <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA</a></li>
<li>ALLOCATION_FLAG_NEVER_ALLOCATE : <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628">D3D12MA</a></li>
@@ -108,7 +95,7 @@
</ul>
-<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
+<h3 class="doxsection"><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED : <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4ace3a84861ed6a1b8066fa9c12c7e89b9">D3D12MA</a></li>
<li>DEFRAGMENTATION_FLAG_ALGORITHM_FAST : <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4a9d0301a81136ca79e3ba52542c6d2e13">D3D12MA</a></li>
<li>DEFRAGMENTATION_FLAG_ALGORITHM_FULL : <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4af205647f08a5c2cddced83ed66892467">D3D12MA</a></li>
@@ -119,7 +106,7 @@
</ul>
-<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
+<h3 class="doxsection"><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>POOL_FLAG_ALGORITHM_LINEAR : <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1aa37a0103f511954ea42a1d0bba286b6a">D3D12MA</a></li>
<li>POOL_FLAG_ALGORITHM_MASK : <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1aec9d4939b8cc5438545b9df840b5f5f7">D3D12MA</a></li>
<li>POOL_FLAG_ALWAYS_COMMITTED : <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1a15b7a6f8bfb6e4d534143f8adb6ac7ba">D3D12MA</a></li>
@@ -128,7 +115,7 @@
</ul>
-<h3><a id="index_v" name="index_v"></a>- v -</h3><ul>
+<h3 class="doxsection"><a id="index_v" name="index_v"></a>- v -</h3><ul>
<li>VIRTUAL_ALLOCATION_FLAG_NONE : <a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72a03576295004dec9dc8f99a895d232027">D3D12MA</a></li>
<li>VIRTUAL_ALLOCATION_FLAG_STRATEGY_MASK : <a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72a6a78fdd4c16ef443e9353622caf7efb9">D3D12MA</a></li>
<li>VIRTUAL_ALLOCATION_FLAG_STRATEGY_MIN_MEMORY : <a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72affe589cb8817363fed0d207c3a5f2ad9">D3D12MA</a></li>
@@ -142,7 +129,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/namespacemembers_func.html b/docs/html/namespacemembers_func.html
index 02a9cdd..c8a70c7 100644
--- a/docs/html/namespacemembers_func.html
+++ b/docs/html/namespacemembers_func.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Namespace Members</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -91,7 +78,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/namespacemembers_type.html b/docs/html/namespacemembers_type.html
index b56e9c4..e9561e2 100644
--- a/docs/html/namespacemembers_type.html
+++ b/docs/html/namespacemembers_type.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Namespace Members</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -92,7 +79,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/namespaces.html b/docs/html/namespaces.html
index fe8ddce..acd9768 100644
--- a/docs/html/namespaces.html
+++ b/docs/html/namespaces.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Namespace List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,35 +31,24 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -95,7 +82,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/navtree.css b/docs/html/navtree.css
index 69211d4..0ea3a07 100644
--- a/docs/html/navtree.css
+++ b/docs/html/navtree.css
@@ -11,8 +11,8 @@
#nav-tree li {
white-space:nowrap;
- margin:0px;
- padding:0px;
+ margin:0;
+ padding:0;
}
#nav-tree .plus {
@@ -20,15 +20,10 @@
}
#nav-tree .selected {
- background-image: url('tab_a.png');
- background-repeat:repeat-x;
- color: var(--nav-text-active-color);
- text-shadow: var(--nav-text-active-shadow);
-}
-
-#nav-tree .selected .arrow {
- color: var(--nav-arrow-selected-color);
- text-shadow: none;
+ position: relative;
+ background-color: var(--nav-menu-active-bg);
+ border-radius: 0 6px 6px 0;
+ /*margin-right: 5px;*/
}
#nav-tree img {
@@ -48,6 +43,7 @@
margin:0px;
padding:0px;
font: 12px var(--font-family-nav);
+ line-height: 22px;
}
#nav-tree .label a {
@@ -56,7 +52,7 @@
#nav-tree .selected a {
text-decoration:none;
- color:var(--nav-text-active-color);
+ color:var(--page-link-color);
}
#nav-tree .children_ul {
@@ -65,8 +61,9 @@
}
#nav-tree .item {
- margin:0px;
- padding:0px;
+ margin: 0 6px 0 -5px;
+ padding: 0 0 0 5px;
+ height: 22px;
}
#nav-tree {
@@ -89,7 +86,6 @@
display:block;
position: absolute;
left: 0px;
- width: $width;
overflow : hidden;
}
@@ -98,15 +94,31 @@
}
.ui-resizable-e {
- background-image:var(--nav-splitbar-image);
- background-size:100%;
- background-repeat:repeat-y;
- background-attachment: scroll;
- cursor:ew-resize;
+ transition: opacity 0.5s ease;
+ background-color: var(--nav-splitbar-bg-color);
+ opacity:0;
+ cursor:col-resize;
height:100%;
right:0;
top:0;
width:6px;
+ position: relative;
+}
+
+.ui-resizable-e:after {
+ content: '';
+ display: block;
+ top: 50%;
+ left: 1px;
+ width: 2px;
+ height: 15px;
+ border-left: 1px solid var(--nav-splitbar-handle-color);
+ border-right: 1px solid var(--nav-splitbar-handle-color);
+ position: absolute;
+}
+
+.ui-resizable-e:hover {
+ opacity: 1;
}
.ui-resizable-handle {
@@ -121,24 +133,97 @@
}
#nav-tree {
- background-repeat:repeat-x;
background-color: var(--nav-background-color);
-webkit-overflow-scrolling : touch; /* iOS 5+ */
+ scrollbar-width: thin;
+ border-right: 1px solid var(--nav-border-color);
+ padding-left: 5px;
}
#nav-sync {
position:absolute;
- top:5px;
- right:24px;
- z-index:0;
+ top:0px;
+ right:0px;
+ z-index:1;
}
#nav-sync img {
opacity:0.3;
}
-#nav-sync img:hover {
- opacity:0.9;
+div.nav-sync-icon {
+ position: relative;
+ width: 24px;
+ height: 17px;
+ left: -6px;
+ top: -1px;
+ opacity: 0.7;
+ display: inline-block;
+ background-color: var(--sync-icon-background-color);
+ border: 1px solid var(--sync-icon-border-color);
+ box-sizing: content-box;
+}
+
+div.nav-sync-icon:hover {
+ background-color: var(--sync-icon-selected-background-color);
+ opacity: 1.0;
+}
+
+div.nav-sync-icon.active:after {
+ content: '';
+ background-color: var(--sync-icon-background-color);
+ border-top: 2px solid var(--sync-icon-color);
+ position: absolute;
+ width: 16px;
+ height: 0px;
+ top: 7px;
+ left: 4px;
+}
+
+div.nav-sync-icon.active:hover:after {
+ border-top: 2px solid var(--sync-icon-selected-color);
+}
+
+span.sync-icon-left {
+ position: absolute;
+ padding: 0;
+ margin: 0;
+ top: 3px;
+ left: 4px;
+ display: inline-block;
+ width: 8px;
+ height: 8px;
+ border-left: 2px solid var(--sync-icon-color);
+ border-top: 2px solid var(--sync-icon-color);
+ transform: rotate(-45deg);
+}
+
+span.sync-icon-right {
+ position: absolute;
+ padding: 0;
+ margin: 0;
+ top: 3px;
+ left: 10px;
+ display: inline-block;
+ width: 8px;
+ height: 8px;
+ border-right: 2px solid var(--sync-icon-color);
+ border-bottom: 2px solid var(--sync-icon-color);
+ transform: rotate(-45deg);
+}
+
+div.nav-sync-icon:hover span.sync-icon-left {
+ border-left: 2px solid var(--sync-icon-selected-color);
+ border-top: 2px solid var(--sync-icon-selected-color);
+}
+
+div.nav-sync-icon:hover span.sync-icon-right {
+ border-right: 2px solid var(--sync-icon-selected-color);
+ border-bottom: 2px solid var(--sync-icon-selected-color);
+}
+
+#nav-path ul {
+ border-top: 1px solid var(--nav-breadcrumb-separator-color);
}
@media print
@@ -147,3 +232,96 @@
div.ui-resizable-handle { display: none; position: relative; }
}
+/*---------------------------*/
+#container {
+ display: grid;
+ grid-template-columns: auto auto;
+ overflow: hidden;
+}
+
+#page-nav {
+ background: var(--nav-background-color);
+ display: block;
+ width: 250px;
+ box-sizing: content-box;
+ position: relative;
+ border-left: 1px solid var(--nav-border-color);
+}
+
+#page-nav-tree {
+ display: inline-block;
+}
+
+#page-nav-resize-handle {
+ transition: opacity 0.5s ease;
+ background-color: var(--nav-splitbar-bg-color);
+ opacity:0;
+ cursor:col-resize;
+ height:100%;
+ right:0;
+ top:0;
+ width:6px;
+ position: relative;
+ z-index: 1;
+ user-select: none;
+}
+
+#page-nav-resize-handle:after {
+ content: '';
+ display: block;
+ top: 50%;
+ left: 1px;
+ width: 2px;
+ height: 15px;
+ border-left: 1px solid var(--nav-splitbar-handle-color);
+ border-right: 1px solid var(--nav-splitbar-handle-color);
+ position: absolute;
+}
+
+#page-nav-resize-handle.dragging,
+#page-nav-resize-handle:hover {
+ opacity: 1;
+}
+
+#page-nav-contents {
+ padding: 0;
+ margin: 0;
+ display: block;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+ position: absolute;
+ overflow: auto;
+ scrollbar-width: thin;
+ -webkit-overflow-scrolling : touch; /* iOS 5+ */
+}
+
+ul.page-outline,
+ul.page-outline ul {
+ text-indent: 0;
+ list-style: none outside none;
+ padding: 0 0 0 4px;
+}
+
+ul.page-outline {
+ margin: 0 4px 4px 6px;
+}
+
+ul.page-outline div.item {
+ font: 12px var(--font-family-nav);
+ line-height: 22px;
+}
+
+ul.page-outline li {
+ white-space: nowrap;
+}
+
+ul.page-outline li.vis {
+ background-color: var(--nav-breadcrumb-active-bg);
+}
+
+#container.resizing {
+ cursor: col-resize;
+ user-select: none;
+}
diff --git a/docs/html/optimal_allocation.html b/docs/html/optimal_allocation.html
index 627471c..88f3e62 100644
--- a/docs/html/optimal_allocation.html
+++ b/docs/html/optimal_allocation.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Optimal resource allocation</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,20 +70,20 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">Optimal resource allocation</div></div>
+ <div class="headertitle"><div class="title">Optimal resource allocation </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This library tries to automatically make optimal choices for the resources you create, so you don't need to care about them. There are some advanced features of Direct3D 12 that you may use to optimize your memory management. There are also some settings in D3D12MA that you may change to alter its default behavior. This page provides miscellaneous advice about features of D3D12 and D3D12MA that are non-essential, but may improve the stability or performance of your app.</p>
-<h1><a class="anchor" id="optimal_allocation_avoiding_running_out_of_memory"></a>
+<h1 class="doxsection"><a class="anchor" id="optimal_allocation_avoiding_running_out_of_memory"></a>
Avoiding running out of memory</h1>
<p>When trying to allocate more memory than available in the current heap (e.g., video memory on the graphics card, system memory), one of few bad things can happen:</p>
<ul>
-<li>The allocation (resource creation) function call can fail with <code>HRESULT</code> value other than <code>S_OK</code>.</li>
+<li>The allocation (resource creation) function call can fail with <span class="tt">HRESULT</span> value other than <span class="tt">S_OK</span>.</li>
<li>The allocation may succeed, but take long time (even a significant fraction of a second).</li>
<li>Some resources are automatically demoted from video memory to system memory, degrading the app performance.</li>
<li>Even a crash of the entire graphics driver can happen, resulting in the D3D12 "device removal", which is usually catastrophic for the application.</li>
@@ -113,34 +100,34 @@
<div class="ttc" id="astruct_d3_d12_m_a_1_1_budget_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_budget.html">D3D12MA::Budget</a></div><div class="ttdoc">Statistics of current memory usage and available budget for a specific memory segment group.</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:474</div></div>
<div class="ttc" id="astruct_d3_d12_m_a_1_1_budget_html_a326515f08d89ee2e31dcfdd5c1e8ac71"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_budget.html#a326515f08d89ee2e31dcfdd5c1e8ac71">D3D12MA::Budget::BudgetBytes</a></div><div class="ttdeci">UINT64 BudgetBytes</div><div class="ttdoc">Estimated amount of memory available to the program.</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:497</div></div>
<div class="ttc" id="astruct_d3_d12_m_a_1_1_budget_html_a77a8c9e32d6602f95b7d1c285cddd253"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_budget.html#a77a8c9e32d6602f95b7d1c285cddd253">D3D12MA::Budget::UsageBytes</a></div><div class="ttdeci">UINT64 UsageBytes</div><div class="ttdoc">Estimated current memory usage of the program.</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:486</div></div>
-</div><!-- fragment --><dl class="section user"><dt>Implementation detail</dt><dd>DXGI interface offers function <code>IDXGIAdapter3::QueryVideoMemoryInfo</code> that queries the current memory usage and budget. This library automatically makes use of it when available (when you use recent enough version of the DirectX SDK). If not, it falls back to estimating the usage and budget based on the total amount of the allocated memory and 80% of the full memory capacity, respectively.</dd></dl>
+</div><!-- fragment --><dl class="section user"><dt>Implementation detail</dt><dd>DXGI interface offers function <span class="tt">IDXGIAdapter3::QueryVideoMemoryInfo</span> that queries the current memory usage and budget. This library automatically makes use of it when available (when you use recent enough version of the DirectX SDK). If not, it falls back to estimating the usage and budget based on the total amount of the allocated memory and 80% of the full memory capacity, respectively.</dd></dl>
<dl class="section user"><dt>Implementation detail</dt><dd>Allocating large heaps and creating placed resources in them is one of the main features of this library. However, if allocating new such block would exceed the budget, it will automatically prefer creating the resource as committed to have exactly the right size, which can lower the chance of getting into trouble in case of over-commitment.</dd></dl>
<p>When creating non-essential resources, you can use <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6">D3D12MA::ALLOCATION_FLAG_WITHIN_BUDGET</a>. Then, in case the allocation would exceed the budget, the library will return failure from the function without attempting to allocate the actual D3D12 memory.</p>
-<p>It may also be a good idea to support failed resource creation. For non-essential resources, when function <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> fails with a result other than <code>S_OK</code>, it is worth implementing some way of recovery instead of terminating or crashing the entire app.</p>
-<h1><a class="anchor" id="optimal_allocation_allocation_Performance"></a>
+<p>It may also be a good idea to support failed resource creation. For non-essential resources, when function <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> fails with a result other than <span class="tt">S_OK</span>, it is worth implementing some way of recovery instead of terminating or crashing the entire app.</p>
+<h1 class="doxsection"><a class="anchor" id="optimal_allocation_allocation_Performance"></a>
Allocation performance</h1>
<p>Creating D3D12 resources (buffers and textures) can be a time-consuming operation. The duration can be unpredictable, spanning from a small fraction of a millisecond to a significant fraction of a second. Thus, it is recommended to allocate all the memory and create all the resources needed upfront rather than doing it during application runtime. For example, a video game can try to create its resources on startup or when loading a new level. Of course, is is not always possible. For example, open-world games may require loading and unloading some graphical assets in the background (often called "streaming").</p>
-<p>Creating and releasing D3D12 resources <b>on a separate thread</b> in the background may help. Both <code>ID3D12Device</code> and <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> objects are thread-safe, synchronized internally. However, cases were observed where resource creation calls like <code>ID3D12Device::CreateCommittedResource</code> were blocking other D3D12 calls like <code>ExecuteCommandLists</code> or <code>Present</code> somewhere inside the graphics driver, so hitches can happen even when using multithreading.</p>
-<p>The most expensive part is typically <b>the allocation of a new D3D12 memory heap</b>. This library tackles this problem by automatically allocating large heaps (64 MB by default) and creating resources as placed inside of them. When a new requested resource can be placed in a free space of an existing heap and doesn't require allocating a new heap, this operation is typically much faster, as it only requires creating a new <code>ID3D12Resource</code> object and not allocating new memory. This is the main benefit of using D3D12MA compared to the naive approach of using Direct3D 12 directly and creating each resource as committed with <code>CreateCommittedResource</code>, which would result in a separate allocation of an implicit heap every time.</p>
-<p>When <b>a large number of small buffers</b> needs to be created, the overhead of creating even just separate <code>ID3D12Resource</code> objects can be significant. It can be avoided by creating one or few larger buffers and manually sub-allocating parts of them for specific needs. This library can also help with it. See section "Sub-allocating buffers" below.</p>
+<p>Creating and releasing D3D12 resources <b>on a separate thread</b> in the background may help. Both <span class="tt">ID3D12Device</span> and <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> objects are thread-safe, synchronized internally. However, cases were observed where resource creation calls like <span class="tt">ID3D12Device::CreateCommittedResource</span> were blocking other D3D12 calls like <span class="tt">ExecuteCommandLists</span> or <span class="tt">Present</span> somewhere inside the graphics driver, so hitches can happen even when using multithreading.</p>
+<p>The most expensive part is typically <b>the allocation of a new D3D12 memory heap</b>. This library tackles this problem by automatically allocating large heaps (64 MB by default) and creating resources as placed inside of them. When a new requested resource can be placed in a free space of an existing heap and doesn't require allocating a new heap, this operation is typically much faster, as it only requires creating a new <span class="tt">ID3D12Resource</span> object and not allocating new memory. This is the main benefit of using D3D12MA compared to the naive approach of using Direct3D 12 directly and creating each resource as committed with <span class="tt">CreateCommittedResource</span>, which would result in a separate allocation of an implicit heap every time.</p>
+<p>When <b>a large number of small buffers</b> needs to be created, the overhead of creating even just separate <span class="tt">ID3D12Resource</span> objects can be significant. It can be avoided by creating one or few larger buffers and manually sub-allocating parts of them for specific needs. This library can also help with it. See section "Sub-allocating buffers" below.</p>
<dl class="section user"><dt>Implementation detail</dt><dd>The CPU performance overhead of using this library is low. It uses a high-quality allocation algorithm called Two-Level Segregated Fit (TLSF), which in most cases can find a free place for a new allocation in few steps. The library also doesn't perform too many CPU heap allocations. In may cases, the allocation happens with 0 new CPU heap allocations performed by the library. Even the creation of a <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> object itself doesn't typically feature an CPU allocation, because these objects are returned out of a dedicated memory pool.</dd></dl>
<p>Another reason for the slowness of D3D12 memory allocation is the guarantee that the <b>newly allocated memory is filled with zeros</b>. When creating and destroying resources placed in an existing heap, this overhead is not present, and the memory is not zeroed - it may contain random data left by the resource previously allocated in that place. In recent versions of the DirectX 12 SDK, clearing the memory of the newly created D3D12 heaps can also be disabled for the improved performance. D3D12MA can use this feature when:</p>
<ul>
<li><a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916ae7dc7ab9168148281ebfe1586f554335">D3D12MA::ALLOCATOR_FLAG_DEFAULT_POOLS_NOT_ZEROED</a> is used during the creation of the main allocator object.</li>
-<li><code>D3D12_HEAP_FLAG_CREATE_NOT_ZEROED</code> is passed to <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc" title="Heap flags to be used when allocating heaps of this pool.">D3D12MA::POOL_DESC::HeapFlags</a> during the creation of a custom pool.</li>
+<li><span class="tt">D3D12_HEAP_FLAG_CREATE_NOT_ZEROED</span> is passed to <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc" title="Heap flags to be used when allocating heaps of this pool.">D3D12MA::POOL_DESC::HeapFlags</a> during the creation of a custom pool.</li>
</ul>
<p>It is recommended to always use these flags. The downside is that when the memory is not filled with zeros, while you don't properly clear it or otherwise initialize its content before use (which is required by D3D12), you may observe incorrect behavior. This problem mostly affects render-target and depth-stencil textures.</p>
<p>When an allocation needs to be made in a performance-critical code, you can use <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645eaa3ded8847563c24b4522af0586dbd2cb">D3D12MA::ALLOCATION_FLAG_STRATEGY_MIN_TIME</a>. In influences multiple heuristics inside the library to prefer faster allocation at the expense of possibly less optimal placement in the memory.</p>
<p>If the resource to be created is non-essential, while the performance is paramount, you can also use <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628">D3D12MA::ALLOCATION_FLAG_NEVER_ALLOCATE</a>. It will create the resource only if it can be placed inside and existing memory heap and return failure from the function if a new heap would need to be allocated, which should guarantee good performance of such function call.</p>
-<h1><a class="anchor" id="optimal_allocation_suballocating_buffers"></a>
+<h1 class="doxsection"><a class="anchor" id="optimal_allocation_suballocating_buffers"></a>
Sub-allocating buffers</h1>
-<p>When a large number of small buffers needs to be created, the overhead of creating separate <code>ID3D12Resource</code> objects can be significant. It can also cause a significant waste of memory, as placed buffers need to be aligned to <code>D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT</code> = 64 KB by default. These problems can be avoided by creating one or few larger buffers and manually sub-allocating parts of them for specific needs.</p>
+<p>When a large number of small buffers needs to be created, the overhead of creating separate <span class="tt">ID3D12Resource</span> objects can be significant. It can also cause a significant waste of memory, as placed buffers need to be aligned to <span class="tt">D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT</span> = 64 KB by default. These problems can be avoided by creating one or few larger buffers and manually sub-allocating parts of them for specific needs.</p>
<p>It requires implementing a custom allocator for the data inside the buffer and using offsets to individual regions. When all the regions can be allocated linearly and freed all at once, implementing such allocator is trivial. When every region has the same size, implementing an allocator is also quite simple when using a "free list" algorithm. However, when regions can have different sizes and can be allocated and freed in random order, it requires a full allocation algorithm. D3D12MA can help with it by exposing its core allocation algorithm for custom usages. For more details and example code, see chapter: <a class="el" href="virtual_allocator.html">Virtual allocator</a>. It can be used for all the cases mentioned above without too much performance overhead, because the <a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html" title="Represents single memory allocation done inside VirtualBlock.">D3D12MA::VirtualAllocation</a> object is just a lightweight handle.</p>
-<p>When sub-allocating a buffer, you need to remember to explicitly request proper alignment required for each region. For example, data used as a constant buffer must be aligned to <code>D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT</code> = 256 B.</p>
-<h1><a class="anchor" id="optimal_allocation_residency_priority"></a>
+<p>When sub-allocating a buffer, you need to remember to explicitly request proper alignment required for each region. For example, data used as a constant buffer must be aligned to <span class="tt">D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT</span> = 256 B.</p>
+<h1 class="doxsection"><a class="anchor" id="optimal_allocation_residency_priority"></a>
Residency priority</h1>
<p>When too much video memory is allocated, one of the things that can happen is the system demoting some heaps to the system memory. Moving data between memory pools or reaching out directly to the system memory through PCI Express bus can have large performance overhead, which can slow down the application, or even make the game unplayable any more. Unfortunately, it is not possible to fully control or prevent this demotion. Best thing to do is avoiding memory over-commitment. For more information, see section "Avoiding running out of memory" above.</p>
-<p>Recent versions of DirectX 12 SDK offer function <code>ID3D12Device1::SetResidencyPriority</code> that sets a hint about the priority of a resource - how important it is to stay resident in the video memory. Setting the priority happens at the level of an entire memory heap. D3D12MA offers an interface to set this priority in form of <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a2e6074af8c8ff7b957fe8d4b5036a5e6" title="Residency priority to be set for all allocations made in this pool. Optional.">D3D12MA::POOL_DESC::ResidencyPriority</a> parameter. It affects all allocations made out of the custom pool created with it, both placed inside large heaps and created as committed.</p>
+<p>Recent versions of DirectX 12 SDK offer function <span class="tt">ID3D12Device1::SetResidencyPriority</span> that sets a hint about the priority of a resource - how important it is to stay resident in the video memory. Setting the priority happens at the level of an entire memory heap. D3D12MA offers an interface to set this priority in form of <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a2e6074af8c8ff7b957fe8d4b5036a5e6" title="Residency priority to be set for all allocations made in this pool. Optional.">D3D12MA::POOL_DESC::ResidencyPriority</a> parameter. It affects all allocations made out of the custom pool created with it, both placed inside large heaps and created as committed.</p>
<p>It is recommended to create a custom pool for the purpose of using high residency priority of all resources that are critical for the performance, especially those that are written by the GPU, like render-target, depth-stencil textures, UAV textures and buffers. It is also worth creating them as committed, so that each one will have its own implicit heap. This can minimize the chance that an entire large heap is demoted to system memory, degrading performance of all the resources placed in it.</p>
<p>Example:</p>
<div class="fragment"><div class="line"><a class="code hl_struct" href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html">D3D12MA::CPOOL_DESC</a> poolDesc = <a class="code hl_struct" href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html">D3D12MA::CPOOL_DESC</a>{</div>
@@ -175,14 +162,14 @@
<div class="line">D3D12_RESIDENCY_PRIORITY priority = D3D12_RESIDENCY_PRIORITY_HIGH;</div>
<div class="line">device1->SetResidencyPriority(1, &res, &priority);</div>
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_ad00308118252f82d8f803c623c67bf18"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#ad00308118252f82d8f803c623c67bf18">D3D12MA::Allocation::GetResource</a></div><div class="ttdeci">ID3D12Resource * GetResource() const</div><div class="ttdoc">Returns D3D12 resource associated with this object.</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:552</div></div>
-</div><!-- fragment --><p>Note this is not the same as explicit eviction controlled using <code>ID3D12Device::Evict</code> and <code>MakeResident</code> functions. Resources evicted explicitly are illegal to access until they are made resident again, while the demotion described here happens automatically and only slows down the execution.</p>
-<h1><a class="anchor" id="optimal_allocation_gpu_upload_heap"></a>
+</div><!-- fragment --><p>Note this is not the same as explicit eviction controlled using <span class="tt">ID3D12Device::Evict</span> and <span class="tt">MakeResident</span> functions. Resources evicted explicitly are illegal to access until they are made resident again, while the demotion described here happens automatically and only slows down the execution.</p>
+<h1 class="doxsection"><a class="anchor" id="optimal_allocation_gpu_upload_heap"></a>
GPU upload heap</h1>
<p>Direct3D 12 offers a fixed set of memory heap types:</p>
<ul>
-<li><code>D3D12_HEAP_TYPE_DEFAULT</code>: Represents the video memory. It is available and fast to access for the GPU. It should be used for all resources that are written by the GPU (like render-target and depth-stencil textures, UAV) and resources that are frequently read by the GPU (like textures intended for sampling, vertex, index, and constant buffers).</li>
-<li><code>D3D12_HEAP_TYPE_UPLOAD</code>: Represents the system memory that is uncached and write-combined. It can be mapped and accessed by the CPU code using a pointer. It supports only buffers, not textures. It is intended for "staging buffers" that are filled by the CPU code and then used as a source of copy operations to the <code>DEFAULT</code> heap. It can also be accessed directly by the GPU - shaders can read from buffers created in this memory.</li>
-<li><code>D3D12_HEAP_TYPE_READBACK</code>: Represents the system memory that is cached. It is intended for buffers used as a destination of copy operations from the <code>DEFAULT</code> heap.</li>
+<li><span class="tt">D3D12_HEAP_TYPE_DEFAULT</span>: Represents the video memory. It is available and fast to access for the GPU. It should be used for all resources that are written by the GPU (like render-target and depth-stencil textures, UAV) and resources that are frequently read by the GPU (like textures intended for sampling, vertex, index, and constant buffers).</li>
+<li><span class="tt">D3D12_HEAP_TYPE_UPLOAD</span>: Represents the system memory that is uncached and write-combined. It can be mapped and accessed by the CPU code using a pointer. It supports only buffers, not textures. It is intended for "staging buffers" that are filled by the CPU code and then used as a source of copy operations to the <span class="tt">DEFAULT</span> heap. It can also be accessed directly by the GPU - shaders can read from buffers created in this memory.</li>
+<li><span class="tt">D3D12_HEAP_TYPE_READBACK</span>: Represents the system memory that is cached. It is intended for buffers used as a destination of copy operations from the <span class="tt">DEFAULT</span> heap.</li>
</ul>
<p>Note that in systems with a discrete graphics card, access to system memory is fast from the CPU code (like the C++ code mapping D3D12 buffers and accessing them through a pointer), while access to the video memory is fast from the GPU code (like shaders reading and writing buffers and textures). Any copy operation or direct access between these memory heap types happens through PCI Express bus, which can be relatively slow.</p>
<p>Modern systems offer a feature called <b>Resizable BAR (ReBAR)</b> that gives the CPU direct access to the full video memory. To be available, this feature needs to be supported by the whole hardware-software environment, including:</p>
@@ -192,20 +179,20 @@
<li>Supporting operating system.</li>
<li>The feature needs to be enabled in the UEFI settings. It is typically called "Above 4G Decoding" and "Resizable Bar".</li>
</ul>
-<p>Recent versions of DirectX 12 SDK give access to this feature in form of a new, 4th memory pool: <code>D3D12_HEAP_TYPE_GPU_UPLOAD</code>. Resources created in it behave logically similar to the <code>D3D12_HEAP_TYPE_UPLOAD</code> heap:</p>
+<p>Recent versions of DirectX 12 SDK give access to this feature in form of a new, 4th memory pool: <span class="tt">D3D12_HEAP_TYPE_GPU_UPLOAD</span>. Resources created in it behave logically similar to the <span class="tt">D3D12_HEAP_TYPE_UPLOAD</span> heap:</p>
<ul>
<li>They support mapping and direct access from the CPU code through a pointer.</li>
-<li>The mapped memory is uncached and write-combined, so it should be only written sequentially (e.g., number-by-number or using <code>memcpy</code>). It shouldn't be accessed randomly or read, because it is extremely slow for uncached memory.</li>
+<li>The mapped memory is uncached and write-combined, so it should be only written sequentially (e.g., number-by-number or using <span class="tt">memcpy</span>). It shouldn't be accessed randomly or read, because it is extremely slow for uncached memory.</li>
<li>Only buffers are supported.</li>
<li>Those buffers can be used as a source of copy operations or directly accessed by the GPU.</li>
</ul>
-<p>The main difference is that resources created in the new <code>D3D12_HEAP_TYPE_GPU_UPLOAD</code> are placed in the video memory, while resources created in the old <code>D3D12_HEAP_TYPE_UPLOAD</code> are placed in the system memory. This implies which budgets are consumed by new resources allocated in those heaps. This also implies which operations involve transferring data through the PCI Express bus.</p>
+<p>The main difference is that resources created in the new <span class="tt">D3D12_HEAP_TYPE_GPU_UPLOAD</span> are placed in the video memory, while resources created in the old <span class="tt">D3D12_HEAP_TYPE_UPLOAD</span> are placed in the system memory. This implies which budgets are consumed by new resources allocated in those heaps. This also implies which operations involve transferring data through the PCI Express bus.</p>
<ul>
-<li>As <code>D3D12_HEAP_TYPE_UPLOAD</code> uses the system memory, writes from the CPU code through a mapped pointer are faster, while copies or direct access from the GPU are slower because they need to go through PCIe.</li>
-<li>As the new <code>D3D12_HEAP_TYPE_GPU_UPLOAD</code> uses the video memory, copies or direct access from the GPU are faster, while writes from the CPU code through a mapped pointer can be slower, because they need to go through PCIe. For maximum performance of copy operations from this heap, a graphics or compute queue should be used, not a copy queue.</li>
+<li>As <span class="tt">D3D12_HEAP_TYPE_UPLOAD</span> uses the system memory, writes from the CPU code through a mapped pointer are faster, while copies or direct access from the GPU are slower because they need to go through PCIe.</li>
+<li>As the new <span class="tt">D3D12_HEAP_TYPE_GPU_UPLOAD</span> uses the video memory, copies or direct access from the GPU are faster, while writes from the CPU code through a mapped pointer can be slower, because they need to go through PCIe. For maximum performance of copy operations from this heap, a graphics or compute queue should be used, not a copy queue.</li>
</ul>
<p>GPU Upload Heap can be used for performance optimization of some resources that need to be written by the CPU and read by the GPU. It can be beneficial especially for resources that need to change frequently (often called "dynamic").</p>
-<p>D3D12MA supports GPU upload heap when recent enough version of DirectX 12 SDK is used and when the current system supports it. The support can be queried using function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a3f3fd1e88cf2cd02257fe272e08a273c" title="Returns true if GPU Upload Heaps are supported on the current system.">D3D12MA::Allocator::IsGPUUploadHeapSupported()</a>. When it returns <code>TRUE</code>, you can create resources using <code>D3D12_HEAP_TYPE_GPU_UPLOAD</code>. You can also just try creating such resource. Example:</p>
+<p>D3D12MA supports GPU upload heap when recent enough version of DirectX 12 SDK is used and when the current system supports it. The support can be queried using function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a3f3fd1e88cf2cd02257fe272e08a273c" title="Returns true if GPU Upload Heaps are supported on the current system.">D3D12MA::Allocator::IsGPUUploadHeapSupported()</a>. When it returns <span class="tt">TRUE</span>, you can create resources using <span class="tt">D3D12_HEAP_TYPE_GPU_UPLOAD</span>. You can also just try creating such resource. Example:</p>
<div class="fragment"><div class="line"><a class="code hl_struct" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::CALLOCATION_DESC</a> allocDesc = <a class="code hl_struct" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">D3D12MA::CALLOCATION_DESC</a>{</div>
<div class="line"> D3D12_HEAP_TYPE_GPU_UPLOAD }; <span class="comment">// !!!</span></div>
<div class="line"> </div>
@@ -240,13 +227,13 @@
<div class="line"><span class="keywordflow">else</span></div>
<div class="line"> <span class="comment">// Some other error code e.g., out of memory...</span></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:347</div></div>
-</div><!-- fragment --><h1><a class="anchor" id="optimal_allocation_committed_vs_placed"></a>
+</div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="optimal_allocation_committed_vs_placed"></a>
Committed versus placed resources</h1>
<p>When using D3D12 API directly, there are 3 ways of creating resources:</p>
<ol type="1">
-<li><b>Committed</b>, using function <code>ID3D12Device::CreateCommittedResource</code>. It creates the resource with its own memory heap, which is called an "implicit heap" and cannot be accessed directly.</li>
-<li><b>Placed</b>, using function <code>ID3D12Device::CreatePlacedResource</code>. A <code>ID3D12Heap</code> needs to be created beforehand using <code>ID3D12Device::CreateHeap</code>. Then, the resource can be created as placed inside the heap at a specific offset.</li>
-<li><b>Reserved</b>, using function <code>ID3D12Device::CreateReservedResource</code>. This library doesn't support them directly.</li>
+<li><b>Committed</b>, using function <span class="tt">ID3D12Device::CreateCommittedResource</span>. It creates the resource with its own memory heap, which is called an "implicit heap" and cannot be accessed directly.</li>
+<li><b>Placed</b>, using function <span class="tt">ID3D12Device::CreatePlacedResource</span>. A <span class="tt">ID3D12Heap</span> needs to be created beforehand using <span class="tt">ID3D12Device::CreateHeap</span>. Then, the resource can be created as placed inside the heap at a specific offset.</li>
+<li><b>Reserved</b>, using function <span class="tt">ID3D12Device::CreateReservedResource</span>. This library doesn't support them directly.</li>
</ol>
<p>A naive solution would be to create all the resources as committed. It works, because in D3D12 there is no strict limit on the number of resources or heaps that can be created. However, there are certain advantages and disadvantages of using committed versus placed resources:</p>
<ul>
@@ -261,7 +248,7 @@
</ul>
</li>
<li>The advantage of committed resources is that they are always created with a new heap, which is initialized with zeros. When a resource is created as placed, the memory may contain random data left by the resource previously allocated in that place. When the memory is not filled with zeros, while you don't properly clear it or otherwise initialize its content before use (which is required by D3D12), you may observe incorrect behavior. On the other hand, using committed resources and having every new resource filled with zeros can leave this kind of bugs undetected.</li>
-<li>Manual eviction with <code>ID3D12Device::Evict</code> and <code>MakeResident</code> functions work at the level of the entire heap, and so does <code>ID3D12Device1::SetResidencyPriority</code>, so creating resources as committed allows more fine-grained control over the eviction and residency priority of individual resources.</li>
+<li>Manual eviction with <span class="tt">ID3D12Device::Evict</span> and <span class="tt">MakeResident</span> functions work at the level of the entire heap, and so does <span class="tt">ID3D12Device1::SetResidencyPriority</span>, so creating resources as committed allows more fine-grained control over the eviction and residency priority of individual resources.</li>
<li>The advantage of placed resources is that they can be created in a region of a heap overlapping with some other resources. This approach is commonly called "aliasing". It can save memory, but it needs careful control over the resources that overlap in memory to make sure they are not used at the same time, there is an aliasing barrier issued between their usage, and the resource used after aliasing is correctly cleared every time. Committed resources don't offer this possibility, because every committed resource has its own exclusive memory heap. For more information, see chapter <a class="el" href="resource_aliasing.html">Resource aliasing (overlap)</a>.</li>
</ul>
<p>When creating resources with the help of D3D12MA using function <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>, you typically don't need to care about all this. The library automatically makes the choice of creating the new resource as committed or placed. However, in cases when you need the information or the control over this choice between committed and placed, the library offers facilities to do that, described below.</p>
@@ -303,18 +290,18 @@
<div class="ttc" id="astruct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c_html_af7284cc51a8ed5b551075584256de23c"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#af7284cc51a8ed5b551075584256de23c">D3D12MA::POOL_DESC::BlockSize</a></div><div class="ttdeci">UINT64 BlockSize</div><div class="ttdoc">Size of a single heap (memory block) to be allocated as part of this pool, in bytes....</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:933</div></div>
</div><!-- fragment --><p><b>You can request a new resource to be created as placed</b> by using <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea4d6808f27de6d0ae57014ec1f4d54326">D3D12MA::ALLOCATION_FLAG_CAN_ALIAS</a>. This is required especially if you plan to create another resource in the same region of memory, aliasing with your resource - hence the name of this flag.</p>
<p>Note <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea4d6808f27de6d0ae57014ec1f4d54326">D3D12MA::ALLOCATION_FLAG_CAN_ALIAS</a> can be even combined with <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a>. In this case, the resource is not created as committed, but it is also not placed as part of a larger heap. What happens instead is that a new heap is created with the exact size required for the resource, and the resource is created in it, placed at offset 0.</p>
-<h1><a class="anchor" id="optimal_allocation_resource_alignment"></a>
+<h1 class="doxsection"><a class="anchor" id="optimal_allocation_resource_alignment"></a>
Resource alignment</h1>
<p>Certain types of resources require certain alignment in memory. An alignment is a requirement for the address or offset to the beginning of the resource to be a multiply of some value, which is always a power of 2. For committed resources, the problem is non-existent, because committed resources have their own implicit heaps where they are created at offset 0, which meets any alignment requirement. For placed resources, D3D12MA takes care of the alignment automatically.</p>
-<dl class="section user"><dt>Implementation detail</dt><dd>Default alignment required MSAA textures is <code>D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT</code> = 4 MB. Default alignment required for buffers and other textures is <code>D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT</code> = 64 KB.</dd></dl>
+<dl class="section user"><dt>Implementation detail</dt><dd>Default alignment required MSAA textures is <span class="tt">D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT</span> = 4 MB. Default alignment required for buffers and other textures is <span class="tt">D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT</span> = 64 KB.</dd></dl>
<p>Because the alignment required for buffers is 64 KB, <b>small buffers</b> can waste a lot of memory in between when created as placed. When such small buffers are created as committed, some graphics drivers are able to pack them better. D3D12MA automatically takes advantage of this by preferring to create small buffers as committed. This heuristics is enabled by default. It is also a tradeoff - it can make the allocation of these buffers slower. It can be disabled for an individual resource by using <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645eaa3ded8847563c24b4522af0586dbd2cb">D3D12MA::ALLOCATION_FLAG_STRATEGY_MIN_TIME</a> and for the entire allocator by using <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a15c1ba5fbc182ac927b3011e23e74a72">D3D12MA::ALLOCATOR_FLAG_DONT_PREFER_SMALL_BUFFERS_COMMITTED</a>.</p>
-<p>For certain textures that meet a complex set of requirements, special <b>"small alignment"</b> can be applied. Details can be found in Microsoft documentation of the <code>D3D12_RESOURCE_DESC</code> structure. For MSAA textures, the small alignment is <code>D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT</code> = 64 KB. For other textures, the small alignment is <code>D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT</code> = 4 KB. D3D12MA uses this feature automatically. Detailed behavior can be disabled or controlled by predefining macro <a class="el" href="_d3_d12_mem_alloc_8h.html#ad04069a2e2bbc53b7d65f85a04a2dcbc" title="When defined to value other than 0, the library will try to use D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNM...">D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT</a>.</p>
-<p>D3D12 also has a concept of <b>alignment of the entire heap</b>, passed through <code>D3D12_HEAP_DESC::Alignment</code>. This library automatically sets the alignment as small as possible. Unfortunately, any heap that has a chance of hosting an MSAA texture needs to have the alignment set to 4 MB. This problem can be overcome by passing <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916adfbfd20d716f2a46f74d6226056fef1e">D3D12MA::ALLOCATOR_FLAG_MSAA_TEXTURES_ALWAYS_COMMITTED</a> on the creation of the main allocator object and <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1acc379a89755438c0f76667783b778baa">D3D12MA::POOL_FLAG_MSAA_TEXTURES_ALWAYS_COMMITTED</a> on the creation of any custom heap that supports textures, not only buffers. With those flags, the alignment of the heaps created by D3D12MA can be lower, but any MSAA textures are created as committed. You should always use these flags in your code unless you really need to create some MSAA textures as placed. </p>
+<p>For certain textures that meet a complex set of requirements, special <b>"small alignment"</b> can be applied. Details can be found in Microsoft documentation of the <span class="tt">D3D12_RESOURCE_DESC</span> structure. For MSAA textures, the small alignment is <span class="tt">D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT</span> = 64 KB. For other textures, the small alignment is <span class="tt">D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT</span> = 4 KB. D3D12MA uses this feature automatically. Detailed behavior can be disabled or controlled by predefining macro <a class="el" href="_d3_d12_mem_alloc_8h.html#ad04069a2e2bbc53b7d65f85a04a2dcbc" title="When defined to value other than 0, the library will try to use D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNM...">D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT</a>.</p>
+<p>D3D12 also has a concept of <b>alignment of the entire heap</b>, passed through <span class="tt">D3D12_HEAP_DESC::Alignment</span>. This library automatically sets the alignment as small as possible. Unfortunately, any heap that has a chance of hosting an MSAA texture needs to have the alignment set to 4 MB. This problem can be overcome by passing <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916adfbfd20d716f2a46f74d6226056fef1e">D3D12MA::ALLOCATOR_FLAG_MSAA_TEXTURES_ALWAYS_COMMITTED</a> on the creation of the main allocator object and <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1acc379a89755438c0f76667783b778baa">D3D12MA::POOL_FLAG_MSAA_TEXTURES_ALWAYS_COMMITTED</a> on the creation of any custom heap that supports textures, not only buffers. With those flags, the alignment of the heaps created by D3D12MA can be lower, but any MSAA textures are created as committed. You should always use these flags in your code unless you really need to create some MSAA textures as placed. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/quick_start.html b/docs/html/quick_start.html
index f9219d2..4eba7e6 100644
--- a/docs/html/quick_start.html
+++ b/docs/html/quick_start.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Quick start</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,25 +70,25 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">Quick start</div></div>
+ <div class="headertitle"><div class="title">Quick start </div></div>
</div><!--header-->
<div class="contents">
-<div class="textblock"><h1><a class="anchor" id="quick_start_project_setup"></a>
+<div class="textblock"><h1 class="doxsection"><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 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 2022, 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>
-<p>(2.) Make <code>D3D12MemAlloc.cpp</code> compiling as part of the project, as C++ code.</p>
+<p>(1.) Copy files <span class="tt">D3D12MemAlloc.cpp</span>, <span class="tt">D3D12MemAlloc.h</span> to your project.</p>
+<p>(2.) Make <span class="tt">D3D12MemAlloc.cpp</span> compiling as part of the project, as C++ code.</p>
<p>(3.) Include library header in each CPP file that needs to use the library.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include "<a class="code" href="_d3_d12_mem_alloc_8h.html">D3D12MemAlloc.h</a>"</span></div>
<div class="ttc" id="a_d3_d12_mem_alloc_8h_html"><div class="ttname"><a href="_d3_d12_mem_alloc_8h.html">D3D12MemAlloc.h</a></div></div>
-</div><!-- fragment --><p>(4.) Right after you created <code>ID3D12Device</code>, fill <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> structure and call function <a class="el" href="namespace_d3_d12_m_a.html#ab7a1cd1683986d75ce1488b0920f4cb0" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">D3D12MA::CreateAllocator</a> to create the main <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> object.</p>
+</div><!-- fragment --><p>(4.) Right after you created <span class="tt">ID3D12Device</span>, fill <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> structure and call function <a class="el" href="namespace_d3_d12_m_a.html#ab7a1cd1683986d75ce1488b0920f4cb0" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">D3D12MA::CreateAllocator</a> to create the main <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> object.</p>
<p>Please note that all symbols of the library are declared inside <a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a> namespace.</p>
<div class="fragment"><div class="line">IDXGIAdapter* adapter = ...</div>
<div class="line">ID3D12Device* device = ...</div>
@@ -119,12 +106,12 @@
<div class="ttc" id="anamespace_d3_d12_m_a_html_ab7a1cd1683986d75ce1488b0920f4cb0"><div class="ttname"><a href="namespace_d3_d12_m_a.html#ab7a1cd1683986d75ce1488b0920f4cb0">D3D12MA::CreateAllocator</a></div><div class="ttdeci">D3D12MA_API 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><!-- fragment --><p>(5.) Right before destroying the D3D12 device, destroy the allocator object.</p>
<div class="fragment"><div class="line">allocator->Release();</div>
-</div><!-- fragment --><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>
-<h1><a class="anchor" id="quick_start_creating_resources"></a>
+</div><!-- fragment --><p>Objects of this library must be destroyed by calling <span class="tt">Release</span> method. They are somewhat compatible with COM: they implement <span class="tt">IUnknown</span> interface with its virtual methods: <span class="tt">AddRef</span>, <span class="tt">Release</span>, <span class="tt">QueryInterface</span>, and they are reference-counted internally. You can use smart pointers designed for COM with objects of this library - e.g. <span class="tt">CComPtr</span> or <span class="tt">Microsoft::WRL::ComPtr</span>. The reference counter is thread-safe. <span class="tt">QueryInterface</span> method supports only <span class="tt">IUnknown</span>, as classes of this library don't define their own GUIDs.</p>
+<h1 class="doxsection"><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>
-<p>The function has similar syntax, but it expects structure <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" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.">D3D12MA::ALLOCATION_DESC</a> to be passed along with <code>D3D12_RESOURCE_DESC</code> and other parameters for created resource. This structure describes parameters of the desired memory allocation, including choice of <code>D3D12_HEAP_TYPE</code>.</p>
-<p>The function returns a new object of type <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a>. It represents allocated memory and can be queried for size, offset, <code>ID3D12Heap</code>. It also holds a reference to the <code>ID3D12Resource</code>, which can be accessed by calling <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ad00308118252f82d8f803c623c67bf18" title="Returns D3D12 resource associated with this object.">D3D12MA::Allocation::GetResource()</a>.</p>
+<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 <span class="tt">ID3D12Device::CreateCommittedResource</span>.</p>
+<p>The function has similar syntax, but it expects structure <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" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.">D3D12MA::ALLOCATION_DESC</a> to be passed along with <span class="tt">D3D12_RESOURCE_DESC</span> and other parameters for created resource. This structure describes parameters of the desired memory allocation, including choice of <span class="tt">D3D12_HEAP_TYPE</span>.</p>
+<p>The function returns a new object of type <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a>. It represents allocated memory and can be queried for size, offset, <span class="tt">ID3D12Heap</span>. It also holds a reference to the <span class="tt">ID3D12Resource</span>, which can be accessed by calling <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#ad00308118252f82d8f803c623c67bf18" title="Returns D3D12 resource associated with this object.">D3D12MA::Allocation::GetResource()</a>.</p>
<div class="fragment"><div class="line">D3D12_RESOURCE_DESC resourceDesc = {};</div>
<div class="line">resourceDesc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;</div>
<div class="line">resourceDesc.Alignment = 0;</div>
@@ -160,13 +147,13 @@
<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:347</div></div>
</div><!-- fragment --><p>You need to release the allocation object when no longer needed. This will also release the D3D12 resource.</p>
<div class="fragment"><div class="line">allocation->Release();</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 == 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>
-<h1><a class="anchor" id="quick_start_resource_reference_counting"></a>
+</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 <span class="tt">ID3D12Device::CreateHeap</span> and place multiple resources in it, at different offsets, using <span class="tt">ID3D12Device::CreatePlacedResource</span>. 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 (<span class="tt">ClearRenderTargetView</span>), Discard (<span class="tt">DiscardResource</span>), or Copy (<span class="tt">CopyResource</span>).</p>
+<p>The library also automatically handles resource heap tier. When <span class="tt">D3D12_FEATURE_DATA_D3D12_OPTIONS::ResourceHeapTier == D3D12_RESOURCE_HEAP_TIER_1</span>, resources of 3 types: buffers, textures that are render targets or depth-stencil, and other textures must be kept in separate heaps. When <span class="tt">D3D12_RESOURCE_HEAP_TIER_2</span>, they can be kept together. By using this library, you don't need to handle this manually.</p>
+<h1 class="doxsection"><a class="anchor" id="quick_start_resource_reference_counting"></a>
Resource reference counting</h1>
-<p><code>ID3D12Resource</code> and other interfaces of Direct3D 12 use COM, so they are reference-counted. Objects of this library are reference-counted as well. An object of type <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> remembers the resource (buffer or texture) that was created together with this memory allocation and holds a reference to the <code>ID3D12Resource</code> object. (Note this is a difference to Vulkan Memory Allocator, where a <code>VmaAllocation</code> object has no connection with the buffer or image that was created with it.) Thus, it is important to manage the resource reference counter properly.</p>
-<p><b>The simplest use case</b> is shown in the code snippet above. When only <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> object is obtained from a function call like <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>, it remembers the <code>ID3D12Resource</code> that was created with it and holds a reference to it. The resource can be obtained by calling <code>allocation->GetResource()</code>, which doesn't increment the resource reference counter. Calling <code>allocation->Release()</code> will decrease the resource reference counter, which is 1 in this case, so the resource will be released.</p>
+<p><span class="tt">ID3D12Resource</span> and other interfaces of Direct3D 12 use COM, so they are reference-counted. Objects of this library are reference-counted as well. An object of type <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> remembers the resource (buffer or texture) that was created together with this memory allocation and holds a reference to the <span class="tt">ID3D12Resource</span> object. (Note this is a difference to Vulkan Memory Allocator, where a <span class="tt">VmaAllocation</span> object has no connection with the buffer or image that was created with it.) Thus, it is important to manage the resource reference counter properly.</p>
+<p><b>The simplest use case</b> is shown in the code snippet above. When only <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> object is obtained from a function call like <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>, it remembers the <span class="tt">ID3D12Resource</span> that was created with it and holds a reference to it. The resource can be obtained by calling <span class="tt">allocation->GetResource()</span>, which doesn't increment the resource reference counter. Calling <span class="tt">allocation->Release()</span> will decrease the resource reference counter, which is 1 in this case, so the resource will be released.</p>
<p><b>Second option</b> is to retrieve a pointer to the resource along with <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a>. Last parameters of the resource creation function can be used for this purpose.</p>
<div class="fragment"><div class="line"><a class="code hl_class" href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a>* allocation;</div>
<div class="line">ID3D12Resource* resource;</div>
@@ -179,15 +166,15 @@
<div class="line"> IID_PPV_ARGS(&resource));</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Use resource...</span></div>
-</div><!-- fragment --><p>In this case, returned pointer <code>resource</code> is equal to <code>allocation->GetResource()</code>, but the creation function additionally increases resource reference counter for the purpose of returning it from this call (it actually calls <code>QueryInterface</code> internally), so the resource will have the counter = 2. The resource then need to be released along with the allocation, in this particular order, to make sure the resource is destroyed before its memory heap can potentially be freed.</p>
+</div><!-- fragment --><p>In this case, returned pointer <span class="tt">resource</span> is equal to <span class="tt">allocation->GetResource()</span>, but the creation function additionally increases resource reference counter for the purpose of returning it from this call (it actually calls <span class="tt">QueryInterface</span> internally), so the resource will have the counter = 2. The resource then need to be released along with the allocation, in this particular order, to make sure the resource is destroyed before its memory heap can potentially be freed.</p>
<div class="fragment"><div class="line">resource->Release();</div>
<div class="line">allocation->Release();</div>
-</div><!-- fragment --><p><b>More advanced use cases</b> are possible when we consider that an <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> object can just hold a reference to any resource. It can be changed by calling <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a414a088c22bae0f29b1038f5f9346d14" title="Releases the resource currently pointed by the allocation (if not null), sets it to new one,...">D3D12MA::Allocation::SetResource</a>. This function releases the old resource and calls <code>AddRef</code> on the new one.</p>
-<p>Special care must be taken when performing <b>defragmentation</b>. The new resource created at the destination place should be set as <code>pass.pMoves[i].pDstTmpAllocation->SetResource(newRes)</code>, but it is moved to the source allocation at end of the defragmentation pass, while the old resource accessible through <code>pass.pMoves[i].pSrcAllocation->GetResource()</code> is then released. For more information, see documentation chapter <a class="el" href="defragmentation.html">Defragmentation</a>.</p>
-<h1><a class="anchor" id="quick_start_mapping_memory"></a>
+</div><!-- fragment --><p><b>More advanced use cases</b> are possible when we consider that an <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> object can just hold a reference to any resource. It can be changed by calling <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a414a088c22bae0f29b1038f5f9346d14" title="Releases the resource currently pointed by the allocation (if not null), sets it to new one,...">D3D12MA::Allocation::SetResource</a>. This function releases the old resource and calls <span class="tt">AddRef</span> on the new one.</p>
+<p>Special care must be taken when performing <b>defragmentation</b>. The new resource created at the destination place should be set as <span class="tt">pass.pMoves[i].pDstTmpAllocation->SetResource(newRes)</span>, but it is moved to the source allocation at end of the defragmentation pass, while the old resource accessible through <span class="tt">pass.pMoves[i].pSrcAllocation->GetResource()</span> is then released. For more information, see documentation chapter <a class="el" href="defragmentation.html">Defragmentation</a>.</p>
+<h1 class="doxsection"><a class="anchor" id="quick_start_mapping_memory"></a>
Mapping memory</h1>
-<p>The process of getting regular CPU-side pointer to the memory of a resource in Direct3D is called "mapping". There are rules and restrictions to this process, as described in D3D12 documentation of <code>ID3D12Resource::Map</code> method.</p>
-<p>Mapping happens on the level of particular resources, not entire memory heaps, and so it is out of scope of this library. Just as the documentation of the <code>Map</code> function says:</p>
+<p>The process of getting regular CPU-side pointer to the memory of a resource in Direct3D is called "mapping". There are rules and restrictions to this process, as described in D3D12 documentation of <span class="tt">ID3D12Resource::Map</span> method.</p>
+<p>Mapping happens on the level of particular resources, not entire memory heaps, and so it is out of scope of this library. Just as the documentation of the <span class="tt">Map</span> function says:</p>
<ul>
<li>Returned pointer refers to data of particular subresource, not entire memory heap.</li>
<li>You can map same resource multiple times. It is ref-counted internally.</li>
@@ -196,7 +183,7 @@
<li>Unmapping may not be required before using written data - some heap types on some platforms support resources persistently mapped.</li>
</ul>
<p>When using this library, you can map and use your resources normally without considering whether they are created as committed resources or placed resources in one large heap.</p>
-<p>Example for buffer created and filled in <code>UPLOAD</code> heap type:</p>
+<p>Example for buffer created and filled in <span class="tt">UPLOAD</span> heap type:</p>
<div class="fragment"><div class="line"><span class="keyword">const</span> UINT64 bufSize = 65536;</div>
<div class="line"><span class="keyword">const</span> <span class="keywordtype">float</span>* bufData = ...;</div>
<div class="line"> </div>
@@ -233,17 +220,17 @@
<div class="line">memcpy(mappedPtr, bufData, bufSize);</div>
<div class="line"> </div>
<div class="line">resource->Unmap(0, NULL);</div>
-</div><!-- fragment --><h1><a class="anchor" id="quick_start_helper_structures"></a>
+</div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="quick_start_helper_structures"></a>
Helper structures</h1>
-<p>DirectX 12 Agility SDK offers a library of helpers in files "build\native\include\d3dx12\*.h". They include structures that help with complete and concise initialization of the core D3D12 <code>*_DESC</code> structures by using some basic C++ features (constructors, static methods, default parameters). They inherit from these structures, so they support implicit casting to them. For example, structure <code>CD3DX12_RESOURCE_DESC</code> can be used to conveniently fill in structure <code>D3D12_RESOURCE_DESC</code>.</p>
-<p>Similarly, this library provides a set of helper structures that aid in initialization of some of the <code>*_DESC</code> structures defined in the library. These are:</p>
+<p>DirectX 12 Agility SDK offers a library of helpers in files "build\native\include\d3dx12\*.h". They include structures that help with complete and concise initialization of the core D3D12 <span class="tt">*_DESC</span> structures by using some basic C++ features (constructors, static methods, default parameters). They inherit from these structures, so they support implicit casting to them. For example, structure <span class="tt">CD3DX12_RESOURCE_DESC</span> can be used to conveniently fill in structure <span class="tt">D3D12_RESOURCE_DESC</span>.</p>
+<p>Similarly, this library provides a set of helper structures that aid in initialization of some of the <span class="tt">*_DESC</span> structures defined in the library. These are:</p>
<ul>
<li><a class="el" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html" title="Helper structure that helps with complete and conscise initialization of the D3D12MA::ALLOCATION_DESC...">D3D12MA::CALLOCATION_DESC</a>, which inherits from <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" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.">D3D12MA::ALLOCATION_DESC</a>.</li>
<li><a class="el" href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html" title="Helper structure that helps with complete and conscise initialization of the D3D12MA::POOL_DESC struc...">D3D12MA::CPOOL_DESC</a>, which inherits from <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html" title="Parameters of created D3D12MA::Pool object. To be used with D3D12MA::Allocator::CreatePool.">D3D12MA::POOL_DESC</a>.</li>
<li><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html" title="Helper structure that helps with complete and conscise initialization of the D3D12MA::VIRTUAL_BLOCK_D...">D3D12MA::CVIRTUAL_BLOCK_DESC</a>, which inherits from <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>.</li>
<li><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html" title="Helper structure that helps with complete and conscise initialization of the D3D12MA::VIRTUAL_ALLOCAT...">D3D12MA::CVIRTUAL_ALLOCATION_DESC</a>, which inherits from <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" title="Parameters of created virtual allocation to be passed to VirtualBlock::Allocate().">D3D12MA::VIRTUAL_ALLOCATION_DESC</a>.</li>
</ul>
-<p>For example, when you want to create a buffer in the <code>UPLAOD</code> heap using minimal allocation time, you can use base structures:</p>
+<p>For example, when you want to create a buffer in the <span class="tt">UPLAOD</span> heap using minimal allocation time, you can use base structures:</p>
<div class="fragment"><div class="line"><a class="code hl_struct" 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> allocDesc;</div>
<div class="line">allocDesc.<a class="code hl_variable" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a92dec49b788a334fc91c55340dfbace6">Flags</a> = <a class="code hl_enumvalue" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645eaa3ded8847563c24b4522af0586dbd2cb">D3D12MA::ALLOCATION_FLAG_STRATEGY_MIN_TIME</a>;</div>
<div class="line">allocDesc.<a class="code hl_variable" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aa46b3c0456e5a23edef3328607ebf4d7">HeapType</a> = D3D12_HEAP_TYPE_UPLOAD;</div>
@@ -291,7 +278,7 @@
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/resource_aliasing.html b/docs/html/resource_aliasing.html
index c89a007..1275544 100644
--- a/docs/html/resource_aliasing.html
+++ b/docs/html/resource_aliasing.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Resource aliasing (overlap)</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,12 +70,12 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li><li class="navelem"><a class="el" href="optimal_allocation.html">Optimal resource allocation</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li><li class="navelem"><a href="optimal_allocation.html">Optimal resource allocation</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">Resource aliasing (overlap)</div></div>
+ <div class="headertitle"><div class="title">Resource aliasing (overlap) </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>New explicit graphics APIs (Vulkan and Direct3D 12), thanks to manual memory management, give an opportunity to alias (overlap) multiple resources in the same region of memory - a feature not available in the old APIs (Direct3D 11, OpenGL). It can be useful to save video memory, but it must be used with caution.</p>
@@ -171,18 +158,18 @@
<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:338</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:363</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:347</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>
+</div><!-- fragment --><p>Remember that using resouces that alias in memory requires proper synchronization. You need to issue a special barrier of type <span class="tt">D3D12_RESOURCE_BARRIER_TYPE_ALIASING</span>. You also need to treat a resource after aliasing as uninitialized - containing garbage data. For example, if you use <span class="tt">res1</span> and then want to use <span class="tt">res2</span>, you need to first initialize <span class="tt">res2</span> using either Clear, Discard, or Copy to the entire resource.</p>
<p>Additional considerations:</p>
<ul>
<li>D3D12 also allows to interpret contents of memory between aliasing resources consistently in some cases, which is called "data inheritance". For details, see Microsoft documentation chapter "Memory Aliasing and Data Inheritance".</li>
-<li>You can create more complex layout where different textures and buffers are bound at different offsets inside one large allocation. For example, one can imagine a big texture used in some render passes, aliasing with a set of many small buffers used in some further passes. To bind a resource at non-zero offset of an allocation, call <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#ab45536f92410aedb7be44ea36b1b4717" title="Creates a new resource in place of an existing allocation. This is useful for memory aliasing.">D3D12MA::Allocator::CreateAliasingResource</a> with appropriate value of <code>AllocationLocalOffset</code> parameter.</li>
-<li>Resources of the three categories: buffers, textures with <code>RENDER_TARGET</code> or <code>DEPTH_STENCIL</code> flags, and all other textures, can be placed in the same memory only when <code>allocator->GetD3D12Options().ResourceHeapTier >= D3D12_RESOURCE_HEAP_TIER_2</code>. Otherwise they must be placed in different memory heap types, and thus aliasing them is not possible. </li>
+<li>You can create more complex layout where different textures and buffers are bound at different offsets inside one large allocation. For example, one can imagine a big texture used in some render passes, aliasing with a set of many small buffers used in some further passes. To bind a resource at non-zero offset of an allocation, call <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#ab45536f92410aedb7be44ea36b1b4717" title="Creates a new resource in place of an existing allocation. This is useful for memory aliasing.">D3D12MA::Allocator::CreateAliasingResource</a> with appropriate value of <span class="tt">AllocationLocalOffset</span> parameter.</li>
+<li>Resources of the three categories: buffers, textures with <span class="tt">RENDER_TARGET</span> or <span class="tt">DEPTH_STENCIL</span> flags, and all other textures, can be placed in the same memory only when <span class="tt">allocator->GetD3D12Options().ResourceHeapTier >= D3D12_RESOURCE_HEAP_TIER_2</span>. Otherwise they must be placed in different memory heap types, and thus aliasing them is not possible. </li>
</ul>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/search/pages_0.js b/docs/html/search/pages_0.js
index 6c4bc1e..4e13aaf 100644
--- a/docs/html/search/pages_0.js
+++ b/docs/html/search/pages_0.js
@@ -1,10 +1,23 @@
var searchData=
[
- ['algorithm_0',['Linear allocation algorithm',['../linear_algorithm.html',1,'index']]],
- ['aliasing_20overlap_1',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'optimal_allocation']]],
- ['allocation_2',['Optimal resource allocation',['../optimal_allocation.html',1,'index']]],
- ['allocation_20algorithm_3',['Linear allocation algorithm',['../linear_algorithm.html',1,'index']]],
- ['allocator_4',['D3D12 Memory Allocator',['../index.html',1,'']]],
- ['allocator_5',['Virtual allocator',['../virtual_allocator.html',1,'optimal_allocation']]],
- ['asked_20questions_6',['Frequently asked questions',['../faq.html',1,'index']]]
+ ['additional_20considerations_0',['Additional considerations',['../linear_algorithm.html#linear_algorithm_additional_considerations',1,'Additional considerations'],['../virtual_allocator.html#virtual_allocator_additional_considerations',1,'Additional considerations']]],
+ ['algorithm_1',['Linear allocation algorithm',['../linear_algorithm.html',1,'index']]],
+ ['aliasing_20overlap_2',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'optimal_allocation']]],
+ ['alignment_3',['Resource alignment',['../optimal_allocation.html#optimal_allocation_resource_alignment',1,'']]],
+ ['alignment_20and_20units_4',['Alignment and units',['../virtual_allocator.html#virtual_allocator_alignment_and_units',1,'']]],
+ ['allocating_20buffers_5',['Sub-allocating buffers',['../optimal_allocation.html#optimal_allocation_suballocating_buffers',1,'']]],
+ ['allocation_6',['Optimal resource allocation',['../optimal_allocation.html',1,'index']]],
+ ['allocation_20algorithm_7',['Linear allocation algorithm',['../linear_algorithm.html',1,'index']]],
+ ['allocation_20parameters_8',['Allocation parameters',['../virtual_allocator.html#virtual_allocator_allocation_parameters',1,'']]],
+ ['allocation_20performance_9',['Allocation performance',['../optimal_allocation.html#optimal_allocation_allocation_Performance',1,'']]],
+ ['allocations_10',['Making virtual allocations',['../virtual_allocator.html#virtual_allocator_making_virtual_allocations',1,'']]],
+ ['allocator_11',['D3D12 Memory Allocator',['../index.html',1,'']]],
+ ['allocator_12',['allocator',['../configuration.html#custom_memory_allocator',1,'Custom CPU memory allocator'],['../virtual_allocator.html',1,'Virtual allocator']]],
+ ['and_20benefits_13',['Features and benefits',['../custom_pools.html#custom_pools_features_and_benefits',1,'']]],
+ ['and_20compatibility_14',['Versioning and compatibility',['../general_considerations.html#general_considerations_versioning_and_compatibility',1,'']]],
+ ['and_20initialization_15',['Project setup and initialization',['../quick_start.html#quick_start_project_setup',1,'']]],
+ ['and_20units_16',['Alignment and units',['../virtual_allocator.html#virtual_allocator_alignment_and_units',1,'']]],
+ ['asked_20questions_17',['Frequently asked questions',['../faq.html',1,'index']]],
+ ['at_20once_18',['Free-at-once',['../linear_algorithm.html#linear_algorithm_free_at_once',1,'']]],
+ ['avoiding_20running_20out_20of_20memory_19',['Avoiding running out of memory',['../optimal_allocation.html#optimal_allocation_avoiding_running_out_of_memory',1,'']]]
];
diff --git a/docs/html/search/pages_1.js b/docs/html/search/pages_1.js
index 91cb574..d34b057 100644
--- a/docs/html/search/pages_1.js
+++ b/docs/html/search/pages_1.js
@@ -1,6 +1,7 @@
var searchData=
[
- ['configuration_0',['Configuration',['../configuration.html',1,'index']]],
- ['considerations_1',['General considerations',['../general_considerations.html',1,'index']]],
- ['custom_20memory_20pools_2',['Custom memory pools',['../custom_pools.html',1,'optimal_allocation']]]
+ ['benefits_0',['Features and benefits',['../custom_pools.html#custom_pools_features_and_benefits',1,'']]],
+ ['block_1',['Creating virtual block',['../virtual_allocator.html#virtual_allocator_creating_virtual_block',1,'']]],
+ ['buffer_2',['Ring buffer',['../linear_algorithm.html#linear_algorithm_ring_buffer',1,'']]],
+ ['buffers_3',['Sub-allocating buffers',['../optimal_allocation.html#optimal_allocation_suballocating_buffers',1,'']]]
];
diff --git a/docs/html/search/pages_10.js b/docs/html/search/pages_10.js
new file mode 100644
index 0000000..af3b029
--- /dev/null
+++ b/docs/html/search/pages_10.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+ ['safety_0',['Thread safety',['../general_considerations.html#general_considerations_thread_safety',1,'']]],
+ ['setup_20and_20initialization_1',['Project setup and initialization',['../quick_start.html#quick_start_project_setup',1,'']]],
+ ['stack_2',['Stack',['../linear_algorithm.html#linear_algorithm_stack',1,'']]],
+ ['stack_3',['Double stack',['../linear_algorithm.html#linear_algorithm_double_stack',1,'']]],
+ ['start_4',['Quick start',['../quick_start.html',1,'index']]],
+ ['statistics_5',['Statistics',['../statistics.html',1,'Statistics'],['../virtual_allocator.html#virtual_allocator_statistics',1,'Statistics']]],
+ ['statistics_6',['Numeric statistics',['../statistics.html#statistics_numeric_statistics',1,'']]],
+ ['structures_7',['Helper structures',['../quick_start.html#quick_start_helper_structures',1,'']]],
+ ['sub_20allocating_20buffers_8',['Sub-allocating buffers',['../optimal_allocation.html#optimal_allocation_suballocating_buffers',1,'']]],
+ ['supported_9',['Features not supported',['../general_considerations.html#general_considerations_features_not_supported',1,'']]]
+];
diff --git a/docs/html/search/pages_11.js b/docs/html/search/pages_11.js
new file mode 100644
index 0000000..ce665b6
--- /dev/null
+++ b/docs/html/search/pages_11.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['table_20of_20contents_0',['Table of contents',['../index.html#main_table_of_contents',1,'']]],
+ ['thread_20safety_1',['Thread safety',['../general_considerations.html#general_considerations_thread_safety',1,'']]]
+];
diff --git a/docs/html/search/pages_12.js b/docs/html/search/pages_12.js
new file mode 100644
index 0000000..32f0ad5
--- /dev/null
+++ b/docs/html/search/pages_12.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['units_0',['Alignment and units',['../virtual_allocator.html#virtual_allocator_alignment_and_units',1,'']]],
+ ['upload_20heap_1',['GPU upload heap',['../optimal_allocation.html#optimal_allocation_gpu_upload_heap',1,'']]],
+ ['usage_2',['Usage',['../custom_pools.html#custom_pools_usage',1,'']]]
+];
diff --git a/docs/html/search/pages_13.js b/docs/html/search/pages_13.js
new file mode 100644
index 0000000..aa04e5d
--- /dev/null
+++ b/docs/html/search/pages_13.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['versioning_20and_20compatibility_0',['Versioning and compatibility',['../general_considerations.html#general_considerations_versioning_and_compatibility',1,'']]],
+ ['versus_20placed_20resources_1',['Committed versus placed resources',['../optimal_allocation.html#optimal_allocation_committed_vs_placed',1,'']]],
+ ['virtual_20allocations_2',['Making virtual allocations',['../virtual_allocator.html#virtual_allocator_making_virtual_allocations',1,'']]],
+ ['virtual_20allocator_3',['Virtual allocator',['../virtual_allocator.html',1,'optimal_allocation']]],
+ ['virtual_20block_4',['Creating virtual block',['../virtual_allocator.html#virtual_allocator_creating_virtual_block',1,'']]]
+];
diff --git a/docs/html/search/pages_14.js b/docs/html/search/pages_14.js
new file mode 100644
index 0000000..8225a92
--- /dev/null
+++ b/docs/html/search/pages_14.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['web_20links_0',['Web links',['../index.html#main_see_also',1,'']]]
+];
diff --git a/docs/html/search/pages_2.js b/docs/html/search/pages_2.js
index 8aa1a38..7553f75 100644
--- a/docs/html/search/pages_2.js
+++ b/docs/html/search/pages_2.js
@@ -1,5 +1,14 @@
var searchData=
[
- ['d3d12_20memory_20allocator_0',['D3D12 Memory Allocator',['../index.html',1,'']]],
- ['defragmentation_1',['Defragmentation',['../defragmentation.html',1,'optimal_allocation']]]
+ ['committed_20versus_20placed_20resources_0',['Committed versus placed resources',['../optimal_allocation.html#optimal_allocation_committed_vs_placed',1,'']]],
+ ['compatibility_1',['Versioning and compatibility',['../general_considerations.html#general_considerations_versioning_and_compatibility',1,'']]],
+ ['configuration_2',['Configuration',['../configuration.html',1,'index']]],
+ ['considerations_3',['considerations',['../linear_algorithm.html#linear_algorithm_additional_considerations',1,'Additional considerations'],['../virtual_allocator.html#virtual_allocator_additional_considerations',1,'Additional considerations'],['../general_considerations.html',1,'General considerations']]],
+ ['contents_4',['Table of contents',['../index.html#main_table_of_contents',1,'']]],
+ ['counting_5',['Resource reference counting',['../quick_start.html#quick_start_resource_reference_counting',1,'']]],
+ ['cpu_20memory_20allocator_6',['Custom CPU memory allocator',['../configuration.html#custom_memory_allocator',1,'']]],
+ ['creating_20resources_7',['Creating resources',['../quick_start.html#quick_start_creating_resources',1,'']]],
+ ['creating_20virtual_20block_8',['Creating virtual block',['../virtual_allocator.html#virtual_allocator_creating_virtual_block',1,'']]],
+ ['custom_20cpu_20memory_20allocator_9',['Custom CPU memory allocator',['../configuration.html#custom_memory_allocator',1,'']]],
+ ['custom_20memory_20pools_10',['Custom memory pools',['../custom_pools.html',1,'optimal_allocation']]]
];
diff --git a/docs/html/search/pages_3.js b/docs/html/search/pages_3.js
index 842b2bb..89d174b 100644
--- a/docs/html/search/pages_3.js
+++ b/docs/html/search/pages_3.js
@@ -1,4 +1,9 @@
var searchData=
[
- ['frequently_20asked_20questions_0',['Frequently asked questions',['../faq.html',1,'index']]]
+ ['d3d12_20memory_20allocator_0',['D3D12 Memory Allocator',['../index.html',1,'']]],
+ ['deallocation_1',['Deallocation',['../virtual_allocator.html#virtual_allocator_deallocation',1,'']]],
+ ['debug_20margins_2',['Debug margins',['../configuration.html#debug_margins',1,'']]],
+ ['defragmentation_3',['Defragmentation',['../defragmentation.html',1,'optimal_allocation']]],
+ ['double_20stack_4',['Double stack',['../linear_algorithm.html#linear_algorithm_double_stack',1,'']]],
+ ['dump_5',['JSON dump',['../statistics.html#statistics_json_dump',1,'']]]
];
diff --git a/docs/html/search/pages_4.js b/docs/html/search/pages_4.js
index 1aed57d..6f9860c 100644
--- a/docs/html/search/pages_4.js
+++ b/docs/html/search/pages_4.js
@@ -1,4 +1,7 @@
var searchData=
[
- ['general_20considerations_0',['General considerations',['../general_considerations.html',1,'index']]]
+ ['features_20and_20benefits_0',['Features and benefits',['../custom_pools.html#custom_pools_features_and_benefits',1,'']]],
+ ['features_20not_20supported_1',['Features not supported',['../general_considerations.html#general_considerations_features_not_supported',1,'']]],
+ ['free_20at_20once_2',['Free-at-once',['../linear_algorithm.html#linear_algorithm_free_at_once',1,'']]],
+ ['frequently_20asked_20questions_3',['Frequently asked questions',['../faq.html',1,'index']]]
];
diff --git a/docs/html/search/pages_5.js b/docs/html/search/pages_5.js
index b965ff9..b85c57f 100644
--- a/docs/html/search/pages_5.js
+++ b/docs/html/search/pages_5.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['linear_20allocation_20algorithm_0',['Linear allocation algorithm',['../linear_algorithm.html',1,'index']]]
+ ['general_20considerations_0',['General considerations',['../general_considerations.html',1,'index']]],
+ ['gpu_20upload_20heap_1',['GPU upload heap',['../optimal_allocation.html#optimal_allocation_gpu_upload_heap',1,'']]]
];
diff --git a/docs/html/search/pages_6.js b/docs/html/search/pages_6.js
index 2fa4310..6386d6c 100644
--- a/docs/html/search/pages_6.js
+++ b/docs/html/search/pages_6.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['memory_20allocator_0',['D3D12 Memory Allocator',['../index.html',1,'']]],
- ['memory_20pools_1',['Custom memory pools',['../custom_pools.html',1,'optimal_allocation']]]
+ ['heap_0',['GPU upload heap',['../optimal_allocation.html#optimal_allocation_gpu_upload_heap',1,'']]],
+ ['helper_20structures_1',['Helper structures',['../quick_start.html#quick_start_helper_structures',1,'']]]
];
diff --git a/docs/html/search/pages_7.js b/docs/html/search/pages_7.js
index 0c3cb7f..75d0639 100644
--- a/docs/html/search/pages_7.js
+++ b/docs/html/search/pages_7.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['optimal_20resource_20allocation_0',['Optimal resource allocation',['../optimal_allocation.html',1,'index']]],
- ['overlap_1',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'optimal_allocation']]]
+ ['initialization_0',['Project setup and initialization',['../quick_start.html#quick_start_project_setup',1,'']]]
];
diff --git a/docs/html/search/pages_8.js b/docs/html/search/pages_8.js
index f4128dd..2f270a2 100644
--- a/docs/html/search/pages_8.js
+++ b/docs/html/search/pages_8.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['pools_0',['Custom memory pools',['../custom_pools.html',1,'optimal_allocation']]]
+ ['json_20dump_0',['JSON dump',['../statistics.html#statistics_json_dump',1,'']]]
];
diff --git a/docs/html/search/pages_9.js b/docs/html/search/pages_9.js
index c9afe7b..9cdb234 100644
--- a/docs/html/search/pages_9.js
+++ b/docs/html/search/pages_9.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['questions_0',['Frequently asked questions',['../faq.html',1,'index']]],
- ['quick_20start_1',['Quick start',['../quick_start.html',1,'index']]]
+ ['linear_20allocation_20algorithm_0',['Linear allocation algorithm',['../linear_algorithm.html',1,'index']]],
+ ['links_1',['Web links',['../index.html#main_see_also',1,'']]]
];
diff --git a/docs/html/search/pages_a.js b/docs/html/search/pages_a.js
index 53f0a34..0ce8dfd 100644
--- a/docs/html/search/pages_a.js
+++ b/docs/html/search/pages_a.js
@@ -1,5 +1,10 @@
var searchData=
[
- ['resource_20aliasing_20overlap_0',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'optimal_allocation']]],
- ['resource_20allocation_1',['Optimal resource allocation',['../optimal_allocation.html',1,'index']]]
+ ['making_20virtual_20allocations_0',['Making virtual allocations',['../virtual_allocator.html#virtual_allocator_making_virtual_allocations',1,'']]],
+ ['mapping_20memory_1',['Mapping memory',['../quick_start.html#quick_start_mapping_memory',1,'']]],
+ ['margins_2',['Debug margins',['../configuration.html#debug_margins',1,'']]],
+ ['memory_3',['memory',['../optimal_allocation.html#optimal_allocation_avoiding_running_out_of_memory',1,'Avoiding running out of memory'],['../quick_start.html#quick_start_mapping_memory',1,'Mapping memory']]],
+ ['memory_20allocator_4',['D3D12 Memory Allocator',['../index.html',1,'']]],
+ ['memory_20allocator_5',['Custom CPU memory allocator',['../configuration.html#custom_memory_allocator',1,'']]],
+ ['memory_20pools_6',['Custom memory pools',['../custom_pools.html',1,'optimal_allocation']]]
];
diff --git a/docs/html/search/pages_b.js b/docs/html/search/pages_b.js
index d4b7ec0..a1fc386 100644
--- a/docs/html/search/pages_b.js
+++ b/docs/html/search/pages_b.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['start_0',['Quick start',['../quick_start.html',1,'index']]],
- ['statistics_1',['Statistics',['../statistics.html',1,'optimal_allocation']]]
+ ['not_20supported_0',['Features not supported',['../general_considerations.html#general_considerations_features_not_supported',1,'']]],
+ ['numeric_20statistics_1',['Numeric statistics',['../statistics.html#statistics_numeric_statistics',1,'']]]
];
diff --git a/docs/html/search/pages_c.js b/docs/html/search/pages_c.js
index 6f1ceb8..2036541 100644
--- a/docs/html/search/pages_c.js
+++ b/docs/html/search/pages_c.js
@@ -1,4 +1,9 @@
var searchData=
[
- ['virtual_20allocator_0',['Virtual allocator',['../virtual_allocator.html',1,'optimal_allocation']]]
+ ['of_20contents_0',['Table of contents',['../index.html#main_table_of_contents',1,'']]],
+ ['of_20memory_1',['Avoiding running out of memory',['../optimal_allocation.html#optimal_allocation_avoiding_running_out_of_memory',1,'']]],
+ ['once_2',['Free-at-once',['../linear_algorithm.html#linear_algorithm_free_at_once',1,'']]],
+ ['optimal_20resource_20allocation_3',['Optimal resource allocation',['../optimal_allocation.html',1,'index']]],
+ ['out_20of_20memory_4',['Avoiding running out of memory',['../optimal_allocation.html#optimal_allocation_avoiding_running_out_of_memory',1,'']]],
+ ['overlap_5',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'optimal_allocation']]]
];
diff --git a/docs/html/search/pages_d.js b/docs/html/search/pages_d.js
new file mode 100644
index 0000000..61cd771
--- /dev/null
+++ b/docs/html/search/pages_d.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['parameters_0',['Allocation parameters',['../virtual_allocator.html#virtual_allocator_allocation_parameters',1,'']]],
+ ['performance_1',['Allocation performance',['../optimal_allocation.html#optimal_allocation_allocation_Performance',1,'']]],
+ ['placed_20resources_2',['Committed versus placed resources',['../optimal_allocation.html#optimal_allocation_committed_vs_placed',1,'']]],
+ ['pools_3',['Custom memory pools',['../custom_pools.html',1,'optimal_allocation']]],
+ ['priority_4',['Residency priority',['../optimal_allocation.html#optimal_allocation_residency_priority',1,'']]],
+ ['project_20setup_20and_20initialization_5',['Project setup and initialization',['../quick_start.html#quick_start_project_setup',1,'']]]
+];
diff --git a/docs/html/search/pages_e.js b/docs/html/search/pages_e.js
new file mode 100644
index 0000000..c9afe7b
--- /dev/null
+++ b/docs/html/search/pages_e.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['questions_0',['Frequently asked questions',['../faq.html',1,'index']]],
+ ['quick_20start_1',['Quick start',['../quick_start.html',1,'index']]]
+];
diff --git a/docs/html/search/pages_f.js b/docs/html/search/pages_f.js
new file mode 100644
index 0000000..97e8dbf
--- /dev/null
+++ b/docs/html/search/pages_f.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['reference_20counting_0',['Resource reference counting',['../quick_start.html#quick_start_resource_reference_counting',1,'']]],
+ ['residency_20priority_1',['Residency priority',['../optimal_allocation.html#optimal_allocation_residency_priority',1,'']]],
+ ['resource_20aliasing_20overlap_2',['Resource aliasing (overlap)',['../resource_aliasing.html',1,'optimal_allocation']]],
+ ['resource_20alignment_3',['Resource alignment',['../optimal_allocation.html#optimal_allocation_resource_alignment',1,'']]],
+ ['resource_20allocation_4',['Optimal resource allocation',['../optimal_allocation.html',1,'index']]],
+ ['resource_20reference_20counting_5',['Resource reference counting',['../quick_start.html#quick_start_resource_reference_counting',1,'']]],
+ ['resources_6',['resources',['../optimal_allocation.html#optimal_allocation_committed_vs_placed',1,'Committed versus placed resources'],['../quick_start.html#quick_start_creating_resources',1,'Creating resources']]],
+ ['ring_20buffer_7',['Ring buffer',['../linear_algorithm.html#linear_algorithm_ring_buffer',1,'']]],
+ ['running_20out_20of_20memory_8',['Avoiding running out of memory',['../optimal_allocation.html#optimal_allocation_avoiding_running_out_of_memory',1,'']]]
+];
diff --git a/docs/html/search/search.css b/docs/html/search/search.css
index 19f76f9..956f31f 100644
--- a/docs/html/search/search.css
+++ b/docs/html/search/search.css
@@ -5,8 +5,8 @@
display: flex;
justify-content: center;
align-items: center;
- height: 36px;
- margin-right: 1em;
+ height: 43px;
+ margin-right: 0;
}
/*---------------- Search box styling */
@@ -27,43 +27,23 @@
white-space : nowrap;
background: var(--search-background-color);
border-radius: 0.65em;
- box-shadow: var(--search-box-shadow);
+ border: 1px solid var(--search-box-border-color);
z-index: 102;
+ margin-right: 4px;
}
#MSearchBox .left {
display: inline-block;
vertical-align: middle;
- height: 1.4em;
+ height: 1.6em;
}
-#MSearchSelect {
- display: inline-block;
- vertical-align: middle;
- width: 20px;
- height: 19px;
- background-image: var(--search-magnification-select-image);
- margin: 0 0 0 0.3em;
- padding: 0;
-}
-
-#MSearchSelectExt {
- display: inline-block;
- vertical-align: middle;
- width: 10px;
- height: 19px;
- background-image: var(--search-magnification-image);
- margin: 0 0 0 0.5em;
- padding: 0;
-}
-
-
#MSearchField {
display: inline-block;
- vertical-align: middle;
+ vertical-align: top;
width: 7.5em;
- height: 19px;
- margin: 0 0.15em;
+ height: 22px;
+ margin: 0 0 0 0.15em;
padding: 0;
line-height: 1em;
border:none;
@@ -86,7 +66,7 @@
display: inline-block;
vertical-align: middle;
width: 1.4em;
- height: 1.4em;
+ height: 1.6em;
}
#MSearchClose {
@@ -101,14 +81,100 @@
}
#MSearchCloseImg {
- padding: 0.3em;
- margin: 0;
+ margin: 6px 0 0 4px;
}
+.close-icon {
+ width: 11px;
+ height: 11px;
+ background-color: var(--search-close-icon-bg-color);
+ border-radius: 50%;
+ position: relative;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ box-sizing: content-box;
+}
+
+.close-icon:before,
+.close-icon:after {
+ content: '';
+ position: absolute;
+ width: 7px;
+ height: 1px;
+ background-color: var(--search-close-icon-fg-color);
+}
+
+.close-icon:before {
+ transform: rotate(45deg);
+}
+
+.close-icon:after {
+ transform: rotate(-45deg);
+}
+
+
.MSearchBoxActive #MSearchField {
color: var(--search-active-color);
}
+.search-icon {
+ width: 20px;
+ height: 20px;
+ display: inline-block;
+ position: relative;
+ margin-left: 3px;
+}
+
+#MSearchSelectExt.search-icon {
+ width: 10px;
+}
+
+#MSearchSelectExt + input {
+ margin-left: 5px;
+}
+
+.search-icon::before, .search-icon::after {
+ content: '';
+ position: absolute;
+ border: 1.5px solid var(--search-foreground-color);
+ box-sizing: content-box;
+}
+
+.search-icon::before {
+ width: 6px;
+ height: 6px;
+ border-radius: 50%;
+ top: 7px;
+ left: 2px;
+ background: var(--search-background-color);
+}
+
+.search-icon::after {
+ border: 1px solid var(--search-foreground-color);
+ width: 0px;
+ height: 3px;
+ border-radius: 2px;
+ top: 15px;
+ left: 8px;
+ transform: rotate(-45deg);
+ transform-origin: top left;
+}
+
+.search-icon-dropdown {
+ content: '';
+ width: 0;
+ height: 0;
+ border-left: 3px solid transparent;
+ border-right: 3px solid transparent;
+ border-top: 3px solid var(--search-foreground-color);
+ top: 8px;
+ left: 15px;
+ transform: translateX(-50%);
+ position: absolute;
+}
+
+
/*---------------- Search filter selection */
@@ -119,15 +185,12 @@
left: 0; top: 0;
border: 1px solid var(--search-filter-border-color);
background-color: var(--search-filter-background-color);
+ backdrop-filter: var(--search-filter-backdrop-filter);
+ -webkit-backdrop-filter: var(--search-filter-backdrop-filter);
z-index: 10001;
padding-top: 4px;
padding-bottom: 4px;
- -moz-border-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- -webkit-border-bottom-left-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-radius: 4px;
}
.SelectItem {
@@ -176,18 +239,39 @@
height: 15em;
}
+@keyframes slideInSearchResults {
+ from {
+ opacity: 0;
+ transform: translate(0, 15px);
+ }
+
+ to {
+ opacity: 1;
+ transform: translate(0, 20px);
+ }
+}
+
#MSearchResultsWindow {
display: none;
position: absolute;
- left: 0; top: 0;
+ left: auto;
+ right: 4px;
+ top: 0;
border: 1px solid var(--search-results-border-color);
background-color: var(--search-results-background-color);
+ backdrop-filter: var(--search-results-backdrop-filter);
+ -webkit-backdrop-filter: var(--search-results-backdrop-filter);
z-index:10000;
width: 300px;
height: 400px;
overflow: auto;
+ border-radius: 8px;
+ transform: translate(0, 20px);
+ animation: ease-out 280ms slideInSearchResults;
+ box-shadow: 0 2px 8px 0 rgba(0,0,0,.075);
}
+
/* ----------------------------------- */
@@ -201,13 +285,13 @@
}
.SRPage .SREntry {
- font-size: 8pt;
- padding: 1px 5px;
+ font-size: 10pt;
+ padding: 2px 5px;
}
div.SRPage {
margin: 5px 2px;
- background-color: var(--search-results-background-color);
+ /*background-color: var(--search-results-background-color);*/
}
.SRChildren {
@@ -261,14 +345,17 @@
margin-right: 10px;
}
+#searchBoxPos1 dark-mode-toggle {
+ margin-top: 4px;
+}
+
/*---------------- External search page results */
.pages b {
- color: white;
+ color: var(--nav-foreground-color);
padding: 5px 5px 3px 5px;
- background-image: var(--nav-gradient-active-image-parent);
- background-repeat: repeat-x;
- text-shadow: 0 1px 1px #000000;
+ background-color: var(--nav-menu-active-bg);
+ border-radius: 4px;
}
.pages {
diff --git a/docs/html/search/search.js b/docs/html/search/search.js
index 666af01..dc14410 100644
--- a/docs/html/search/search.js
+++ b/docs/html/search/search.js
@@ -607,6 +607,12 @@
elem.setAttribute('className',attr);
}
+ const decodeHtml = (html) => {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = html;
+ return txt.value;
+ };
+
const results = document.getElementById("SRResults");
results.innerHTML = '';
searchData.forEach((elem,index) => {
@@ -620,10 +626,14 @@
srLink.setAttribute('id','Item'+index);
setKeyActions(srLink,'return searchResults.Nav(event,'+index+')');
setClassAttr(srLink,'SRSymbol');
- srLink.innerHTML = elem[1][0];
+ srLink.innerHTML = decodeHtml(elem[1][0]);
srEntry.appendChild(srLink);
if (elem[1].length==2) { // single result
- srLink.setAttribute('href',resultsPath+elem[1][1][0]);
+ if (elem[1][1][0].startsWith('http://') || elem[1][1][0].startsWith('https://')) { // absolute path
+ srLink.setAttribute('href',elem[1][1][0]);
+ } else { // relative path
+ srLink.setAttribute('href',resultsPath+elem[1][1][0]);
+ }
srLink.setAttribute('onclick','searchBox.CloseResultsWindow()');
if (elem[1][1][1]) {
srLink.setAttribute('target','_parent');
@@ -632,7 +642,7 @@
}
const srScope = document.createElement('span');
setClassAttr(srScope,'SRScope');
- srScope.innerHTML = elem[1][1][2];
+ srScope.innerHTML = decodeHtml(elem[1][1][2]);
srEntry.appendChild(srScope);
} else { // multiple results
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
@@ -643,14 +653,18 @@
srChild.setAttribute('id','Item'+index+'_c'+c);
setKeyActions(srChild,'return searchResults.NavChild(event,'+index+','+c+')');
setClassAttr(srChild,'SRScope');
- srChild.setAttribute('href',resultsPath+elem[1][c+1][0]);
+ if (elem[1][c+1][0].startsWith('http://') || elem[1][c+1][0].startsWith('https://')) { // absolute path
+ srChild.setAttribute('href',elem[1][c+1][0]);
+ } else { // relative path
+ srChild.setAttribute('href',resultsPath+elem[1][c+1][0]);
+ }
srChild.setAttribute('onclick','searchBox.CloseResultsWindow()');
if (elem[1][c+1][1]) {
srChild.setAttribute('target','_parent');
} else {
srChild.setAttribute('target','_blank');
}
- srChild.innerHTML = elem[1][c+1][2];
+ srChild.innerHTML = decodeHtml(elem[1][c+1][2]);
srChildren.appendChild(srChild);
}
srEntry.appendChild(srChildren);
diff --git a/docs/html/search/searchdata.js b/docs/html/search/searchdata.js
index 1b7813a..2029dc1 100644
--- a/docs/html/search/searchdata.js
+++ b/docs/html/search/searchdata.js
@@ -11,7 +11,7 @@
8: "adpv",
9: "cd",
10: "d",
- 11: "acdfglmopqrsv"
+ 11: "abcdfghijlmnopqrstuvw"
};
var indexSectionNames =
diff --git a/docs/html/statistics.html b/docs/html/statistics.html
index f261c65..b9b1e29 100644
--- a/docs/html/statistics.html
+++ b/docs/html/statistics.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Statistics</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,16 +70,16 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li><li class="navelem"><a class="el" href="optimal_allocation.html">Optimal resource allocation</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li><li class="navelem"><a href="optimal_allocation.html">Optimal resource allocation</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">Statistics</div></div>
+ <div class="headertitle"><div class="title">Statistics </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This library contains several functions that return information about its internal state, especially the amount of memory allocated from D3D12.</p>
-<h1><a class="anchor" id="statistics_numeric_statistics"></a>
+<h1 class="doxsection"><a class="anchor" id="statistics_numeric_statistics"></a>
Numeric statistics</h1>
<p>If you need to obtain basic statistics about memory usage per memory segment group, together with current budget, you can call function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a1ac113daec5f6ef28ecb1786cf544144" title="Retrieves information about current memory usage and budget.">D3D12MA::Allocator::GetBudget()</a> and inspect structure <a class="el" href="struct_d3_d12_m_a_1_1_budget.html" title="Statistics of current memory usage and available budget for a specific memory segment group.">D3D12MA::Budget</a>. This is useful to keep track of memory usage and stay withing budget. Example:</p>
<div class="fragment"><div class="line"><a class="code hl_struct" href="struct_d3_d12_m_a_1_1_budget.html">D3D12MA::Budget</a> localBudget;</div>
@@ -112,8 +99,8 @@
<div class="ttc" id="astruct_d3_d12_m_a_1_1_budget_html_a77a8c9e32d6602f95b7d1c285cddd253"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_budget.html#a77a8c9e32d6602f95b7d1c285cddd253">D3D12MA::Budget::UsageBytes</a></div><div class="ttdeci">UINT64 UsageBytes</div><div class="ttdoc">Estimated current memory usage of the program.</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:486</div></div>
</div><!-- fragment --><p>You can query for more detailed statistics per heap type, memory segment group, and totals, including minimum and maximum allocation size and unused range size, by calling function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a99db00df909963573a976c203b107d22" title="Retrieves statistics from current state of the allocator.">D3D12MA::Allocator::CalculateStatistics()</a> and inspecting structure <a class="el" href="struct_d3_d12_m_a_1_1_total_statistics.html" title="General statistics from current state of the allocator - total memory usage across all memory heaps a...">D3D12MA::TotalStatistics</a>. This function is slower though, as it has to traverse all the internal data structures, so it should be used only for debugging purposes.</p>
<p>You can query for statistics of a custom pool using function <a class="el" href="class_d3_d12_m_a_1_1_pool.html#aa9d849dc4667314b2a53eddf02f5af91" title="Retrieves basic statistics of the custom pool that are fast to calculate.">D3D12MA::Pool::GetStatistics()</a> or <a class="el" href="class_d3_d12_m_a_1_1_pool.html#ad07999ac5dc8f0c63187afd45d551910" title="Retrieves detailed statistics of the custom pool that are slower to calculate.">D3D12MA::Pool::CalculateStatistics()</a>.</p>
-<p>You can query for information about a specific allocation using functions of the <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> class, e.g. <code>GetSize()</code>, <code>GetOffset()</code>, <code>GetHeap()</code>.</p>
-<h1><a class="anchor" id="statistics_json_dump"></a>
+<p>You can query for information about a specific allocation using functions of the <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> class, e.g. <span class="tt">GetSize()</span>, <span class="tt">GetOffset()</span>, <span class="tt">GetHeap()</span>.</p>
+<h1 class="doxsection"><a class="anchor" id="statistics_json_dump"></a>
JSON dump</h1>
<p>You can dump internal state of the allocator to a string in JSON format using function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a29716b3084916abed7793bf2ec4b65db" title="Builds and returns statistics as a string in JSON format.">D3D12MA::Allocator::BuildStatsString()</a>. The result is guaranteed to be correct JSON. It uses Windows Unicode (UTF-16) encoding. Any strings provided by user (see <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac" title="Associates a name with the allocation object. This name is for use in debug diagnostics and tools.">D3D12MA::Allocation::SetName()</a>) are copied as-is and properly escaped for JSON. It must be freed using function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a8392663494384c16d8bfa12b827b4f9c" title="Frees memory of a string returned from Allocator::BuildStatsString.">D3D12MA::Allocator::FreeStatsString()</a>.</p>
<p>The format of this JSON string is not part of official documentation of the library, but it will not change in backward-incompatible way without increasing library major version number and appropriate mention in changelog.</p>
@@ -122,7 +109,7 @@
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/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-members.html b/docs/html/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-members.html
index 223cc58..f967c0c 100644
--- a/docs/html/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-members.html
+++ b/docs/html/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-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">ALLOCATION_CALLBACKS</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">ALLOCATION_CALLBACKS</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,7 +87,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/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 b/docs/html/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
index bb90eaa..495fe3f 100644
--- a/docs/html/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
+++ b/docs/html/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
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::ALLOCATION_CALLBACKS Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">ALLOCATION_CALLBACKS</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">ALLOCATION_CALLBACKS</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,21 +87,18 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:af4d6436455728696fefd503869226436" id="r_af4d6436455728696fefd503869226436"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#ad998d40b4601b84dbc538694b1faf4d5">ALLOCATE_FUNC_PTR</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#af4d6436455728696fefd503869226436">pAllocate</a></td></tr>
<tr class="memdesc:af4d6436455728696fefd503869226436"><td class="mdescLeft"> </td><td class="mdescRight">Allocation function. <br /></td></tr>
-<tr class="separator:af4d6436455728696fefd503869226436"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a114e6c4d63d6b020e01f526a975d6849" id="r_a114e6c4d63d6b020e01f526a975d6849"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#a7c61f55eeb64451cb0c08c0461bbe1a3">FREE_FUNC_PTR</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a114e6c4d63d6b020e01f526a975d6849">pFree</a></td></tr>
<tr class="memdesc:a114e6c4d63d6b020e01f526a975d6849"><td class="mdescLeft"> </td><td class="mdescRight">Dellocation function. <br /></td></tr>
-<tr class="separator:a114e6c4d63d6b020e01f526a975d6849"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a98173cc9e239a84c2ce369854966e1e3" id="r_a98173cc9e239a84c2ce369854966e1e3"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a98173cc9e239a84c2ce369854966e1e3">pPrivateData</a></td></tr>
-<tr class="memdesc:a98173cc9e239a84c2ce369854966e1e3"><td class="mdescLeft"> </td><td class="mdescRight">Custom data that will be passed to allocation and deallocation functions as <code>pUserData</code> parameter. <br /></td></tr>
-<tr class="separator:a98173cc9e239a84c2ce369854966e1e3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a98173cc9e239a84c2ce369854966e1e3"><td class="mdescLeft"> </td><td class="mdescRight">Custom data that will be passed to allocation and deallocation functions as <span class="tt">pUserData</span> parameter. <br /></td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Custom callbacks to CPU memory allocation functions. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="af4d6436455728696fefd503869226436" name="af4d6436455728696fefd503869226436"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4d6436455728696fefd503869226436">◆ </a></span>pAllocate</h2>
@@ -159,7 +143,7 @@
</table>
</div><div class="memdoc">
-<p>Custom data that will be passed to allocation and deallocation functions as <code>pUserData</code> parameter. </p>
+<p>Custom data that will be passed to allocation and deallocation functions as <span class="tt">pUserData</span> parameter. </p>
</div>
</div>
@@ -169,7 +153,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html b/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html
index 0dd1a39..f398da5 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">ALLOCATION_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">ALLOCATION_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -102,7 +89,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html b/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html
index 5363747..d914ec6 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::ALLOCATION_DESC Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">ALLOCATION_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">ALLOCATION_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -103,33 +90,28 @@
Inheritance diagram for D3D12MA::ALLOCATION_DESC:</div>
<div class="dyncontent">
<div class="center">
- <img src="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.png" usemap="#D3D12MA::ALLOCATION_5FDESC_map" alt=""/>
- <map id="D3D12MA::ALLOCATION_5FDESC_map" name="D3D12MA::ALLOCATION_5FDESC_map">
+ <img src="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.png" usemap="#D3D12MA_3A_3AALLOCATION_5FDESC_map" alt=""/>
+ <map id="D3D12MA_3A_3AALLOCATION_5FDESC_map" name="D3D12MA_3A_3AALLOCATION_5FDESC_map">
<area href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html" title="Helper structure that helps with complete and conscise initialization of the D3D12MA::ALLOCATION_DESC..." alt="D3D12MA::CALLOCATION_DESC" shape="rect" coords="0,56,207,80"/>
</map>
</div></div>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a92dec49b788a334fc91c55340dfbace6" id="r_a92dec49b788a334fc91c55340dfbace6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">ALLOCATION_FLAGS</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a92dec49b788a334fc91c55340dfbace6">Flags</a></td></tr>
<tr class="memdesc:a92dec49b788a334fc91c55340dfbace6"><td class="mdescLeft"> </td><td class="mdescRight">Flags for the allocation. <br /></td></tr>
-<tr class="separator:a92dec49b788a334fc91c55340dfbace6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa46b3c0456e5a23edef3328607ebf4d7" id="r_aa46b3c0456e5a23edef3328607ebf4d7"><td class="memItemLeft" align="right" valign="top">D3D12_HEAP_TYPE </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa46b3c0456e5a23edef3328607ebf4d7">HeapType</a></td></tr>
<tr class="memdesc:aa46b3c0456e5a23edef3328607ebf4d7"><td class="mdescLeft"> </td><td class="mdescRight">The type of memory heap where the new allocation should be placed. <br /></td></tr>
-<tr class="separator:aa46b3c0456e5a23edef3328607ebf4d7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a97878838f976b2d1e6b1a76881035690" id="r_a97878838f976b2d1e6b1a76881035690"><td class="memItemLeft" align="right" valign="top">D3D12_HEAP_FLAGS </td><td class="memItemRight" valign="bottom"><a class="el" href="#a97878838f976b2d1e6b1a76881035690">ExtraHeapFlags</a></td></tr>
<tr class="memdesc:a97878838f976b2d1e6b1a76881035690"><td class="mdescLeft"> </td><td class="mdescRight">Additional heap flags to be used when allocating memory. <br /></td></tr>
-<tr class="separator:a97878838f976b2d1e6b1a76881035690"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab06b85f3cf3254f855b29264477e3934" id="r_ab06b85f3cf3254f855b29264477e3934"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">Pool</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab06b85f3cf3254f855b29264477e3934">CustomPool</a></td></tr>
<tr class="memdesc:ab06b85f3cf3254f855b29264477e3934"><td class="mdescLeft"> </td><td class="mdescRight">Custom pool to place the new resource in. Optional. <br /></td></tr>
-<tr class="separator:ab06b85f3cf3254f855b29264477e3934"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac638dd987f1326e2fdab91892d994d35" id="r_ac638dd987f1326e2fdab91892d994d35"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac638dd987f1326e2fdab91892d994d35">pPrivateData</a></td></tr>
<tr class="memdesc:ac638dd987f1326e2fdab91892d994d35"><td class="mdescLeft"> </td><td class="mdescRight">Custom general-purpose pointer that will be stored in <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a>. <br /></td></tr>
-<tr class="separator:ac638dd987f1326e2fdab91892d994d35"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>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>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="ab06b85f3cf3254f855b29264477e3934" name="ab06b85f3cf3254f855b29264477e3934"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab06b85f3cf3254f855b29264477e3934">◆ </a></span>CustomPool</h2>
@@ -143,7 +125,7 @@
</div><div class="memdoc">
<p>Custom pool to place the new resource in. Optional. </p>
-<p>When not null, the resource will be created inside specified custom pool. Members <code>HeapType</code>, <code>ExtraHeapFlags</code> are then ignored. </p>
+<p>When not null, the resource will be created inside specified custom pool. Members <span class="tt">HeapType</span>, <span class="tt">ExtraHeapFlags</span> are then ignored. </p>
</div>
</div>
@@ -162,9 +144,9 @@
<p>Additional heap flags to be used when allocating memory. </p>
<p>In most cases it can be 0.</p>
<ul>
-<li>If you use <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>, you don't need to care. Necessary flag <code>D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS</code>, <code>D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES</code>, or <code>D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES</code> is added automatically.</li>
-<li>If you use <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2" title="Allocates memory without creating any resource placed in it.">D3D12MA::Allocator::AllocateMemory()</a>, you should specify one of those <code>ALLOW_ONLY</code> flags. Except when you validate that <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#ae276d2358a58a36f8c6639f837f29be5" title="Returns cached options retrieved from D3D12 device.">D3D12MA::Allocator::GetD3D12Options()</a><code>.ResourceHeapTier == D3D12_RESOURCE_HEAP_TIER_1</code> - then you can leave it 0.</li>
-<li>You can specify additional flags if needed. Then the memory will always be allocated as separate block using <code>D3D12Device::CreateCommittedResource</code> or <code>CreateHeap</code>, not as part of an existing larget block.</li>
+<li>If you use <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>, you don't need to care. Necessary flag <span class="tt">D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS</span>, <span class="tt">D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES</span>, or <span class="tt">D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES</span> is added automatically.</li>
+<li>If you use <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2" title="Allocates memory without creating any resource placed in it.">D3D12MA::Allocator::AllocateMemory()</a>, you should specify one of those <span class="tt">ALLOW_ONLY</span> flags. Except when you validate that <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#ae276d2358a58a36f8c6639f837f29be5" title="Returns cached options retrieved from D3D12 device.">D3D12MA::Allocator::GetD3D12Options()</a><span class="tt">.ResourceHeapTier == D3D12_RESOURCE_HEAP_TIER_1</span> - then you can leave it 0.</li>
+<li>You can specify additional flags if needed. Then the memory will always be allocated as separate block using <span class="tt">D3D12Device::CreateCommittedResource</span> or <span class="tt">CreateHeap</span>, not as part of an existing larget block.</li>
</ul>
<p>When <a class="el" href="#ab06b85f3cf3254f855b29264477e3934" title="Custom pool to place the new resource in. Optional.">D3D12MA::ALLOCATION_DESC::CustomPool</a> != NULL this member is ignored. </p>
@@ -199,7 +181,7 @@
</div><div class="memdoc">
<p>The type of memory heap where the new allocation should be placed. </p>
-<p>It must be one of: <code>D3D12_HEAP_TYPE_DEFAULT</code>, <code>D3D12_HEAP_TYPE_UPLOAD</code>, <code>D3D12_HEAP_TYPE_READBACK</code>.</p>
+<p>It must be one of: <span class="tt">D3D12_HEAP_TYPE_DEFAULT</span>, <span class="tt">D3D12_HEAP_TYPE_UPLOAD</span>, <span class="tt">D3D12_HEAP_TYPE_READBACK</span>.</p>
<p>When <a class="el" href="#ab06b85f3cf3254f855b29264477e3934" title="Custom pool to place the new resource in. Optional.">D3D12MA::ALLOCATION_DESC::CustomPool</a> != NULL this member is ignored. </p>
</div>
@@ -226,7 +208,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c-members.html b/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c-members.html
index ccc6e9d..cfc611c 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">ALLOCATOR_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html">ALLOCATOR_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -102,7 +89,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html b/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html
index 8673896..33029a6 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::ALLOCATOR_DESC Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">ALLOCATOR_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html">ALLOCATOR_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,25 +87,20 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ad8abad7c80ea0d8df27c85243ce720f3" id="r_ad8abad7c80ea0d8df27c85243ce720f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916">ALLOCATOR_FLAGS</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad8abad7c80ea0d8df27c85243ce720f3">Flags</a></td></tr>
<tr class="memdesc:ad8abad7c80ea0d8df27c85243ce720f3"><td class="mdescLeft"> </td><td class="mdescRight">Flags for the entire allocator. <br /></td></tr>
-<tr class="separator:ad8abad7c80ea0d8df27c85243ce720f3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ada1bf21205065b3aa0284b5a9ee1cb3c" id="r_ada1bf21205065b3aa0284b5a9ee1cb3c"><td class="memItemLeft" align="right" valign="top">ID3D12Device * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ada1bf21205065b3aa0284b5a9ee1cb3c">pDevice</a></td></tr>
-<tr class="separator:ada1bf21205065b3aa0284b5a9ee1cb3c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a97149c9559deae943c2cfa49aeeff8a6" id="r_a97149c9559deae943c2cfa49aeeff8a6"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a97149c9559deae943c2cfa49aeeff8a6">PreferredBlockSize</a></td></tr>
-<tr class="memdesc:a97149c9559deae943c2cfa49aeeff8a6"><td class="mdescLeft"> </td><td class="mdescRight">Preferred size of a single <code>ID3D12Heap</code> block to be allocated. <br /></td></tr>
-<tr class="separator:a97149c9559deae943c2cfa49aeeff8a6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a97149c9559deae943c2cfa49aeeff8a6"><td class="mdescLeft"> </td><td class="mdescRight">Preferred size of a single <span class="tt">ID3D12Heap</span> block to be allocated. <br /></td></tr>
<tr class="memitem:a773ecc1945eb47c20e06455c3759e4ef" id="r_a773ecc1945eb47c20e06455c3759e4ef"><td class="memItemLeft" align="right" valign="top">const <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">ALLOCATION_CALLBACKS</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a773ecc1945eb47c20e06455c3759e4ef">pAllocationCallbacks</a></td></tr>
<tr class="memdesc:a773ecc1945eb47c20e06455c3759e4ef"><td class="mdescLeft"> </td><td class="mdescRight">Custom CPU memory allocation callbacks. Optional. <br /></td></tr>
-<tr class="separator:a773ecc1945eb47c20e06455c3759e4ef"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abf9a9f87f0ffea52816efd363c5fcd7b" id="r_abf9a9f87f0ffea52816efd363c5fcd7b"><td class="memItemLeft" align="right" valign="top">IDXGIAdapter * </td><td class="memItemRight" valign="bottom"><a class="el" href="#abf9a9f87f0ffea52816efd363c5fcd7b">pAdapter</a></td></tr>
-<tr class="separator:abf9a9f87f0ffea52816efd363c5fcd7b"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>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#ab7a1cd1683986d75ce1488b0920f4cb0" title="Creates new main D3D12MA::Allocator object and returns it through ppAllocator.">CreateAllocator()</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="ad8abad7c80ea0d8df27c85243ce720f3" name="ad8abad7c80ea0d8df27c85243ce720f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8abad7c80ea0d8df27c85243ce720f3">◆ </a></span>Flags</h2>
@@ -148,7 +130,7 @@
</table>
</div><div class="memdoc">
<p>DXGI Adapter object that you use for D3D12 and this allocator.</p>
-<p><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> is doing <code>AddRef</code>/<code>Release</code> on this object. </p>
+<p><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> is doing <span class="tt">AddRef</span>/<span class="tt">Release</span> on this object. </p>
</div>
</div>
@@ -181,7 +163,7 @@
</table>
</div><div class="memdoc">
<p>Direct3D device object that the allocator should be attached to.</p>
-<p><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> is doing <code>AddRef</code>/<code>Release</code> on this object. </p>
+<p><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> is doing <span class="tt">AddRef</span>/<span class="tt">Release</span> on this object. </p>
</div>
</div>
@@ -197,7 +179,7 @@
</table>
</div><div class="memdoc">
-<p>Preferred size of a single <code>ID3D12Heap</code> block to be allocated. </p>
+<p>Preferred size of a single <span class="tt">ID3D12Heap</span> block to be allocated. </p>
<p>Set to 0 to use default, which is currently 64 MiB. </p>
</div>
@@ -208,7 +190,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_budget-members.html b/docs/html/struct_d3_d12_m_a_1_1_budget-members.html
index ddeda17..26e4bee 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_budget-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_budget-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_budget.html">Budget</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_budget.html">Budget</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,7 +87,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_budget.html b/docs/html/struct_d3_d12_m_a_1_1_budget.html
index 4798ab6..8e8f354 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_budget.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_budget.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::Budget Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_budget.html">Budget</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_budget.html">Budget</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,22 +87,19 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a1255508930766db238cfb1312b15f1cf" id="r_a1255508930766db238cfb1312b15f1cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1255508930766db238cfb1312b15f1cf">Stats</a></td></tr>
<tr class="memdesc:a1255508930766db238cfb1312b15f1cf"><td class="mdescLeft"> </td><td class="mdescRight">Statistics fetched from the library. <br /></td></tr>
-<tr class="separator:a1255508930766db238cfb1312b15f1cf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a77a8c9e32d6602f95b7d1c285cddd253" id="r_a77a8c9e32d6602f95b7d1c285cddd253"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a77a8c9e32d6602f95b7d1c285cddd253">UsageBytes</a></td></tr>
<tr class="memdesc:a77a8c9e32d6602f95b7d1c285cddd253"><td class="mdescLeft"> </td><td class="mdescRight">Estimated current memory usage of the program. <br /></td></tr>
-<tr class="separator:a77a8c9e32d6602f95b7d1c285cddd253"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a326515f08d89ee2e31dcfdd5c1e8ac71" id="r_a326515f08d89ee2e31dcfdd5c1e8ac71"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a326515f08d89ee2e31dcfdd5c1e8ac71">BudgetBytes</a></td></tr>
<tr class="memdesc:a326515f08d89ee2e31dcfdd5c1e8ac71"><td class="mdescLeft"> </td><td class="mdescRight">Estimated amount of memory available to the program. <br /></td></tr>
-<tr class="separator:a326515f08d89ee2e31dcfdd5c1e8ac71"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Statistics of current memory usage and available budget for a specific memory segment group. </p>
<p>These are fast to calculate. See function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a1ac113daec5f6ef28ecb1786cf544144" title="Retrieves information about current memory usage and budget.">D3D12MA::Allocator::GetBudget()</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a326515f08d89ee2e31dcfdd5c1e8ac71" name="a326515f08d89ee2e31dcfdd5c1e8ac71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a326515f08d89ee2e31dcfdd5c1e8ac71">◆ </a></span>BudgetBytes</h2>
@@ -129,8 +113,8 @@
</div><div class="memdoc">
<p>Estimated amount of memory available to the program. </p>
-<p>Fetched from system using <code>IDXGIAdapter3::QueryVideoMemoryInfo</code> if possible.</p>
-<p>It might be different (most probably smaller) than memory capacity returned by <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a434ae3147209953253da26687bfd62dc" title="Returns total amount of memory of specific segment group, in bytes.">D3D12MA::Allocator::GetMemoryCapacity()</a> due to factors external to the program, decided by the operating system. Difference <code>BudgetBytes - UsageBytes</code> is the amount of additional memory that can probably be allocated without problems. Exceeding the budget may result in various problems. </p>
+<p>Fetched from system using <span class="tt">IDXGIAdapter3::QueryVideoMemoryInfo</span> if possible.</p>
+<p>It might be different (most probably smaller) than memory capacity returned by <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a434ae3147209953253da26687bfd62dc" title="Returns total amount of memory of specific segment group, in bytes.">D3D12MA::Allocator::GetMemoryCapacity()</a> due to factors external to the program, decided by the operating system. Difference <span class="tt">BudgetBytes - UsageBytes</span> is the amount of additional memory that can probably be allocated without problems. Exceeding the budget may result in various problems. </p>
</div>
</div>
@@ -163,8 +147,8 @@
</div><div class="memdoc">
<p>Estimated current memory usage of the program. </p>
-<p>Fetched from system using <code>IDXGIAdapter3::QueryVideoMemoryInfo</code> if possible.</p>
-<p>It might be different than <code>BlockBytes</code> (usually higher) due to additional implicit objects also occupying the memory, like swapchain, pipeline state objects, descriptor heaps, command lists, or heaps and resources allocated outside of this library, if any. </p>
+<p>Fetched from system using <span class="tt">IDXGIAdapter3::QueryVideoMemoryInfo</span> if possible.</p>
+<p>It might be different than <span class="tt">BlockBytes</span> (usually higher) due to additional implicit objects also occupying the memory, like swapchain, pipeline state objects, descriptor heaps, command lists, or heaps and resources allocated outside of this library, if any. </p>
</div>
</div>
@@ -174,7 +158,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html b/docs/html/struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html
index 656581f..9423c7f 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CALLOCATION_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CALLOCATION_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -106,7 +93,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html b/docs/html/struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html
index 49c2950..cae7b08 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::CALLOCATION_DESC Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CALLOCATION_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CALLOCATION_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -103,49 +90,40 @@
Inheritance diagram for D3D12MA::CALLOCATION_DESC:</div>
<div class="dyncontent">
<div class="center">
- <img src="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.png" usemap="#D3D12MA::CALLOCATION_5FDESC_map" alt=""/>
- <map id="D3D12MA::CALLOCATION_5FDESC_map" name="D3D12MA::CALLOCATION_5FDESC_map">
+ <img src="struct_d3_d12_m_a_1_1_c_a_l_l_o_c_a_t_i_o_n___d_e_s_c.png" usemap="#D3D12MA_3A_3ACALLOCATION_5FDESC_map" alt=""/>
+ <map id="D3D12MA_3A_3ACALLOCATION_5FDESC_map" name="D3D12MA_3A_3ACALLOCATION_5FDESC_map">
<area href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource." alt="D3D12MA::ALLOCATION_DESC" shape="rect" coords="0,0,207,24"/>
</map>
</div></div>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a50901205f52d0c28bddaa5cc7c7a35b1" id="r_a50901205f52d0c28bddaa5cc7c7a35b1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a50901205f52d0c28bddaa5cc7c7a35b1">CALLOCATION_DESC</a> ()=default</td></tr>
<tr class="memdesc:a50901205f52d0c28bddaa5cc7c7a35b1"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. Leaves the structure uninitialized. <br /></td></tr>
-<tr class="separator:a50901205f52d0c28bddaa5cc7c7a35b1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae18d216821f86a1f35ea54bcd41c6e86" id="r_ae18d216821f86a1f35ea54bcd41c6e86"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae18d216821f86a1f35ea54bcd41c6e86">CALLOCATION_DESC</a> (const <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">ALLOCATION_DESC</a> &o) noexcept</td></tr>
<tr class="memdesc:ae18d216821f86a1f35ea54bcd41c6e86"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing from the base <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" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.">D3D12MA::ALLOCATION_DESC</a> structure. <br /></td></tr>
-<tr class="separator:ae18d216821f86a1f35ea54bcd41c6e86"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5c552f3160fb93b65ed16db4f6412a39" id="r_a5c552f3160fb93b65ed16db4f6412a39"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5c552f3160fb93b65ed16db4f6412a39">CALLOCATION_DESC</a> (<a class="el" href="class_d3_d12_m_a_1_1_pool.html">Pool</a> *customPool, <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">ALLOCATION_FLAGS</a> flags=<a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea0bf578b096d6ea73cea86b031541733e">ALLOCATION_FLAG_NONE</a>, void *privateData=NULL) noexcept</td></tr>
<tr class="memdesc:a5c552f3160fb93b65ed16db4f6412a39"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing description of an allocation to be created in a specific custom pool. <br /></td></tr>
-<tr class="separator:a5c552f3160fb93b65ed16db4f6412a39"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9f378f4e6cae4488764a879649139810" id="r_a9f378f4e6cae4488764a879649139810"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9f378f4e6cae4488764a879649139810">CALLOCATION_DESC</a> (D3D12_HEAP_TYPE heapType, <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">ALLOCATION_FLAGS</a> flags=<a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea0bf578b096d6ea73cea86b031541733e">ALLOCATION_FLAG_NONE</a>, void *privateData=NULL, D3D12_HEAP_FLAGS extraHeapFlags=<a class="el" href="_d3_d12_mem_alloc_8h.html#ac3d50f134ad24c58df4a934b87847653">D3D12MA_RECOMMENDED_HEAP_FLAGS</a>) noexcept</td></tr>
-<tr class="memdesc:a9f378f4e6cae4488764a879649139810"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing description of an allocation to be created in a default pool of a specific <code>D3D12_HEAP_TYPE</code>. <br /></td></tr>
-<tr class="separator:a9f378f4e6cae4488764a879649139810"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a9f378f4e6cae4488764a879649139810"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing description of an allocation to be created in a default pool of a specific <span class="tt">D3D12_HEAP_TYPE</span>. <br /></td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-inherited" class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
-<tr class="inherit_header pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c')"><img src="closed.png" alt="-"/> Public Attributes inherited from <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">D3D12MA::ALLOCATION_DESC</a></td></tr>
+<tr class="inherit_header pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Attributes inherited from <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">D3D12MA::ALLOCATION_DESC</a></td></tr>
<tr class="memitem:a92dec49b788a334fc91c55340dfbace6 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c" id="r_a92dec49b788a334fc91c55340dfbace6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">ALLOCATION_FLAGS</a> </td><td class="memItemRight" valign="bottom"><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#a92dec49b788a334fc91c55340dfbace6">Flags</a></td></tr>
<tr class="memdesc:a92dec49b788a334fc91c55340dfbace6 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Flags for the allocation. <br /></td></tr>
-<tr class="separator:a92dec49b788a334fc91c55340dfbace6 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa46b3c0456e5a23edef3328607ebf4d7 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c" id="r_aa46b3c0456e5a23edef3328607ebf4d7"><td class="memItemLeft" align="right" valign="top">D3D12_HEAP_TYPE </td><td class="memItemRight" valign="bottom"><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#aa46b3c0456e5a23edef3328607ebf4d7">HeapType</a></td></tr>
<tr class="memdesc:aa46b3c0456e5a23edef3328607ebf4d7 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">The type of memory heap where the new allocation should be placed. <br /></td></tr>
-<tr class="separator:aa46b3c0456e5a23edef3328607ebf4d7 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a97878838f976b2d1e6b1a76881035690 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c" id="r_a97878838f976b2d1e6b1a76881035690"><td class="memItemLeft" align="right" valign="top">D3D12_HEAP_FLAGS </td><td class="memItemRight" valign="bottom"><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#a97878838f976b2d1e6b1a76881035690">ExtraHeapFlags</a></td></tr>
<tr class="memdesc:a97878838f976b2d1e6b1a76881035690 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Additional heap flags to be used when allocating memory. <br /></td></tr>
-<tr class="separator:a97878838f976b2d1e6b1a76881035690 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab06b85f3cf3254f855b29264477e3934 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c" id="r_ab06b85f3cf3254f855b29264477e3934"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_d3_d12_m_a_1_1_pool.html">Pool</a> * </td><td class="memItemRight" valign="bottom"><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#ab06b85f3cf3254f855b29264477e3934">CustomPool</a></td></tr>
<tr class="memdesc:ab06b85f3cf3254f855b29264477e3934 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Custom pool to place the new resource in. Optional. <br /></td></tr>
-<tr class="separator:ab06b85f3cf3254f855b29264477e3934 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac638dd987f1326e2fdab91892d994d35 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c" id="r_ac638dd987f1326e2fdab91892d994d35"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><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#ac638dd987f1326e2fdab91892d994d35">pPrivateData</a></td></tr>
<tr class="memdesc:ac638dd987f1326e2fdab91892d994d35 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Custom general-purpose pointer that will be stored in <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a>. <br /></td></tr>
-<tr class="separator:ac638dd987f1326e2fdab91892d994d35 inherit pub_attribs_struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Helper structure that helps with complete and conscise initialization of the <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" title="Parameters of created D3D12MA::Allocation object. To be used with Allocator::CreateResource.">D3D12MA::ALLOCATION_DESC</a> structure. </p>
-</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+</div><a name="doc-constructors" id="doc-constructors"></a><h2 id="header-doc-constructors" class="groupheader">Constructor & Destructor Documentation</h2>
<a id="a50901205f52d0c28bddaa5cc7c7a35b1" name="a50901205f52d0c28bddaa5cc7c7a35b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50901205f52d0c28bddaa5cc7c7a35b1">◆ </a></span>CALLOCATION_DESC() <span class="overload">[1/4]</span></h2>
@@ -273,7 +251,7 @@
</table>
</div><div class="memdoc">
-<p>Constructor initializing description of an allocation to be created in a default pool of a specific <code>D3D12_HEAP_TYPE</code>. </p>
+<p>Constructor initializing description of an allocation to be created in a default pool of a specific <span class="tt">D3D12_HEAP_TYPE</span>. </p>
</div>
</div>
@@ -283,7 +261,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c-members.html b/docs/html/struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c-members.html
index 1cb0dea..66262d0 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html">CPOOL_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html">CPOOL_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -110,7 +97,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html b/docs/html/struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html
index fb6bf6f..37f7330 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::CPOOL_DESC Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html">CPOOL_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html">CPOOL_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -103,61 +90,48 @@
Inheritance diagram for D3D12MA::CPOOL_DESC:</div>
<div class="dyncontent">
<div class="center">
- <img src="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.png" usemap="#D3D12MA::CPOOL_5FDESC_map" alt=""/>
- <map id="D3D12MA::CPOOL_5FDESC_map" name="D3D12MA::CPOOL_5FDESC_map">
+ <img src="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.png" usemap="#D3D12MA_3A_3ACPOOL_5FDESC_map" alt=""/>
+ <map id="D3D12MA_3A_3ACPOOL_5FDESC_map" name="D3D12MA_3A_3ACPOOL_5FDESC_map">
<area href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html" title="Parameters of created D3D12MA::Pool object. To be used with D3D12MA::Allocator::CreatePool." alt="D3D12MA::POOL_DESC" shape="rect" coords="0,0,162,24"/>
</map>
</div></div>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afc1fdbbf07c54943a70b95f122adb0d2" id="r_afc1fdbbf07c54943a70b95f122adb0d2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#afc1fdbbf07c54943a70b95f122adb0d2">CPOOL_DESC</a> ()=default</td></tr>
<tr class="memdesc:afc1fdbbf07c54943a70b95f122adb0d2"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. Leaves the structure uninitialized. <br /></td></tr>
-<tr class="separator:afc1fdbbf07c54943a70b95f122adb0d2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab2310e41ea92aa64dfab4a3366a60cc3" id="r_ab2310e41ea92aa64dfab4a3366a60cc3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab2310e41ea92aa64dfab4a3366a60cc3">CPOOL_DESC</a> (const <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a> &o) noexcept</td></tr>
<tr class="memdesc:ab2310e41ea92aa64dfab4a3366a60cc3"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing from the base <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html" title="Parameters of created D3D12MA::Pool object. To be used with D3D12MA::Allocator::CreatePool.">D3D12MA::POOL_DESC</a> structure. <br /></td></tr>
-<tr class="separator:ab2310e41ea92aa64dfab4a3366a60cc3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5de61391fddfd37d91a0ec5cb7e84c1b" id="r_a5de61391fddfd37d91a0ec5cb7e84c1b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5de61391fddfd37d91a0ec5cb7e84c1b">CPOOL_DESC</a> (D3D12_HEAP_TYPE heapType, D3D12_HEAP_FLAGS heapFlags, <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1">POOL_FLAGS</a> flags=<a class="el" href="_d3_d12_mem_alloc_8h.html#a2679d8c9f6d900168bb45450bc88998b">D3D12MA_RECOMMENDED_POOL_FLAGS</a>, UINT64 blockSize=0, UINT minBlockCount=0, UINT maxBlockCount=UINT_MAX, D3D12_RESIDENCY_PRIORITY residencyPriority=D3D12_RESIDENCY_PRIORITY_NORMAL) noexcept</td></tr>
-<tr class="memdesc:a5de61391fddfd37d91a0ec5cb7e84c1b"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing description of a custom pool created in one of the standard <code>D3D12_HEAP_TYPE</code>. <br /></td></tr>
-<tr class="separator:a5de61391fddfd37d91a0ec5cb7e84c1b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a5de61391fddfd37d91a0ec5cb7e84c1b"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing description of a custom pool created in one of the standard <span class="tt">D3D12_HEAP_TYPE</span>. <br /></td></tr>
<tr class="memitem:a0d1e436a90bb4a07c55a5ecf60618be3" id="r_a0d1e436a90bb4a07c55a5ecf60618be3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0d1e436a90bb4a07c55a5ecf60618be3">CPOOL_DESC</a> (const D3D12_HEAP_PROPERTIES heapProperties, D3D12_HEAP_FLAGS heapFlags, <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1">POOL_FLAGS</a> flags=<a class="el" href="_d3_d12_mem_alloc_8h.html#a2679d8c9f6d900168bb45450bc88998b">D3D12MA_RECOMMENDED_POOL_FLAGS</a>, UINT64 blockSize=0, UINT minBlockCount=0, UINT maxBlockCount=UINT_MAX, D3D12_RESIDENCY_PRIORITY residencyPriority=D3D12_RESIDENCY_PRIORITY_NORMAL) noexcept</td></tr>
-<tr class="memdesc:a0d1e436a90bb4a07c55a5ecf60618be3"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing description of a custom pool created with custom <code>D3D12_HEAP_PROPERTIES</code>. <br /></td></tr>
-<tr class="separator:a0d1e436a90bb4a07c55a5ecf60618be3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a0d1e436a90bb4a07c55a5ecf60618be3"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing description of a custom pool created with custom <span class="tt">D3D12_HEAP_PROPERTIES</span>. <br /></td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-inherited" class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
-<tr class="inherit_header pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">D3D12MA::POOL_DESC</a></td></tr>
+<tr class="inherit_header pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Attributes inherited from <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">D3D12MA::POOL_DESC</a></td></tr>
<tr class="memitem:ac4ed93b0191344d68c0b4ac1a4822ff4 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c" id="r_ac4ed93b0191344d68c0b4ac1a4822ff4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1">POOL_FLAGS</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#ac4ed93b0191344d68c0b4ac1a4822ff4">Flags</a></td></tr>
<tr class="memdesc:ac4ed93b0191344d68c0b4ac1a4822ff4 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Flags for the heap. <br /></td></tr>
-<tr class="separator:ac4ed93b0191344d68c0b4ac1a4822ff4 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a06e06813bcb5206e9f7a8b0564bf1d6a inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c" id="r_a06e06813bcb5206e9f7a8b0564bf1d6a"><td class="memItemLeft" align="right" valign="top">D3D12_HEAP_PROPERTIES </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a06e06813bcb5206e9f7a8b0564bf1d6a">HeapProperties</a></td></tr>
<tr class="memdesc:a06e06813bcb5206e9f7a8b0564bf1d6a inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">The parameters of memory heap where allocations of this pool should be placed. <br /></td></tr>
-<tr class="separator:a06e06813bcb5206e9f7a8b0564bf1d6a inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3795956e4fbfe7c3a23546e02e5d28dc inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c" id="r_a3795956e4fbfe7c3a23546e02e5d28dc"><td class="memItemLeft" align="right" valign="top">D3D12_HEAP_FLAGS </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc">HeapFlags</a></td></tr>
<tr class="memdesc:a3795956e4fbfe7c3a23546e02e5d28dc inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Heap flags to be used when allocating heaps of this pool. <br /></td></tr>
-<tr class="separator:a3795956e4fbfe7c3a23546e02e5d28dc inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af7284cc51a8ed5b551075584256de23c inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c" id="r_af7284cc51a8ed5b551075584256de23c"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#af7284cc51a8ed5b551075584256de23c">BlockSize</a></td></tr>
<tr class="memdesc:af7284cc51a8ed5b551075584256de23c inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Size of a single heap (memory block) to be allocated as part of this pool, in bytes. Optional. <br /></td></tr>
-<tr class="separator:af7284cc51a8ed5b551075584256de23c inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6f10db3911a3bea1becfc9a0dfa5bac8 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c" id="r_a6f10db3911a3bea1becfc9a0dfa5bac8"><td class="memItemLeft" align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a6f10db3911a3bea1becfc9a0dfa5bac8">MinBlockCount</a></td></tr>
<tr class="memdesc:a6f10db3911a3bea1becfc9a0dfa5bac8 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Minimum number of heaps (memory blocks) to be always allocated in this pool, even if they stay empty. Optional. <br /></td></tr>
-<tr class="separator:a6f10db3911a3bea1becfc9a0dfa5bac8 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abbce3a99f253928f9c3c09fa16015f9e inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c" id="r_abbce3a99f253928f9c3c09fa16015f9e"><td class="memItemLeft" align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e">MaxBlockCount</a></td></tr>
<tr class="memdesc:abbce3a99f253928f9c3c09fa16015f9e inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of heaps (memory blocks) that can be allocated in this pool. Optional. <br /></td></tr>
-<tr class="separator:abbce3a99f253928f9c3c09fa16015f9e inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0a6283eeb1f3f99d8c4ae264aec7f749 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c" id="r_a0a6283eeb1f3f99d8c4ae264aec7f749"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a0a6283eeb1f3f99d8c4ae264aec7f749">MinAllocationAlignment</a></td></tr>
<tr class="memdesc:a0a6283eeb1f3f99d8c4ae264aec7f749 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Additional minimum alignment to be used for all allocations created from this pool. Can be 0. <br /></td></tr>
-<tr class="separator:a0a6283eeb1f3f99d8c4ae264aec7f749 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a475840ec05c19732c8d5aa8bb27270f4 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c" id="r_a475840ec05c19732c8d5aa8bb27270f4"><td class="memItemLeft" align="right" valign="top">ID3D12ProtectedResourceSession * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a475840ec05c19732c8d5aa8bb27270f4">pProtectedSession</a></td></tr>
<tr class="memdesc:a475840ec05c19732c8d5aa8bb27270f4 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Additional parameter allowing pool to create resources with passed protected session. <br /></td></tr>
-<tr class="separator:a475840ec05c19732c8d5aa8bb27270f4 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2e6074af8c8ff7b957fe8d4b5036a5e6 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c" id="r_a2e6074af8c8ff7b957fe8d4b5036a5e6"><td class="memItemLeft" align="right" valign="top">D3D12_RESIDENCY_PRIORITY </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a2e6074af8c8ff7b957fe8d4b5036a5e6">ResidencyPriority</a></td></tr>
<tr class="memdesc:a2e6074af8c8ff7b957fe8d4b5036a5e6 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Residency priority to be set for all allocations made in this pool. Optional. <br /></td></tr>
-<tr class="separator:a2e6074af8c8ff7b957fe8d4b5036a5e6 inherit pub_attribs_struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Helper structure that helps with complete and conscise initialization of the <a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html" title="Parameters of created D3D12MA::Pool object. To be used with D3D12MA::Allocator::CreatePool.">D3D12MA::POOL_DESC</a> structure. </p>
-</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+</div><a name="doc-constructors" id="doc-constructors"></a><h2 id="header-doc-constructors" class="groupheader">Constructor & Destructor Documentation</h2>
<a id="afc1fdbbf07c54943a70b95f122adb0d2" name="afc1fdbbf07c54943a70b95f122adb0d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc1fdbbf07c54943a70b95f122adb0d2">◆ </a></span>CPOOL_DESC() <span class="overload">[1/4]</span></h2>
@@ -264,7 +238,7 @@
</table>
</div><div class="memdoc">
-<p>Constructor initializing description of a custom pool created in one of the standard <code>D3D12_HEAP_TYPE</code>. </p>
+<p>Constructor initializing description of a custom pool created in one of the standard <span class="tt">D3D12_HEAP_TYPE</span>. </p>
</div>
</div>
@@ -320,7 +294,7 @@
</table>
</div><div class="memdoc">
-<p>Constructor initializing description of a custom pool created with custom <code>D3D12_HEAP_PROPERTIES</code>. </p>
+<p>Constructor initializing description of a custom pool created with custom <span class="tt">D3D12_HEAP_PROPERTIES</span>. </p>
</div>
</div>
@@ -330,7 +304,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html b/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html
index 8eb5d11..da976da 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CVIRTUAL_ALLOCATION_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CVIRTUAL_ALLOCATION_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -104,7 +91,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html b/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html
index cb1fe74..714062b 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::CVIRTUAL_ALLOCATION_DESC Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CVIRTUAL_ALLOCATION_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html">CVIRTUAL_ALLOCATION_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -103,43 +90,36 @@
Inheritance diagram for D3D12MA::CVIRTUAL_ALLOCATION_DESC:</div>
<div class="dyncontent">
<div class="center">
- <img src="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.png" usemap="#D3D12MA::CVIRTUAL_5FALLOCATION_5FDESC_map" alt=""/>
- <map id="D3D12MA::CVIRTUAL_5FALLOCATION_5FDESC_map" name="D3D12MA::CVIRTUAL_5FALLOCATION_5FDESC_map">
+ <img src="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.png" usemap="#D3D12MA_3A_3ACVIRTUAL_5FALLOCATION_5FDESC_map" alt=""/>
+ <map id="D3D12MA_3A_3ACVIRTUAL_5FALLOCATION_5FDESC_map" name="D3D12MA_3A_3ACVIRTUAL_5FALLOCATION_5FDESC_map">
<area 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" title="Parameters of created virtual allocation to be passed to VirtualBlock::Allocate()." alt="D3D12MA::VIRTUAL_ALLOCATION_DESC" shape="rect" coords="0,0,265,24"/>
</map>
</div></div>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af7262b9e3178bb70416603aa32d4e8c6" id="r_af7262b9e3178bb70416603aa32d4e8c6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#af7262b9e3178bb70416603aa32d4e8c6">CVIRTUAL_ALLOCATION_DESC</a> ()=default</td></tr>
<tr class="memdesc:af7262b9e3178bb70416603aa32d4e8c6"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. Leaves the structure uninitialized. <br /></td></tr>
-<tr class="separator:af7262b9e3178bb70416603aa32d4e8c6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abc6429b119b65f7cd3ed5c5bd4d36d85" id="r_abc6429b119b65f7cd3ed5c5bd4d36d85"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#abc6429b119b65f7cd3ed5c5bd4d36d85">CVIRTUAL_ALLOCATION_DESC</a> (const <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">VIRTUAL_ALLOCATION_DESC</a> &o) noexcept</td></tr>
<tr class="memdesc:abc6429b119b65f7cd3ed5c5bd4d36d85"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing from the base <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" title="Parameters of created virtual allocation to be passed to VirtualBlock::Allocate().">D3D12MA::VIRTUAL_ALLOCATION_DESC</a> structure. <br /></td></tr>
-<tr class="separator:abc6429b119b65f7cd3ed5c5bd4d36d85"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af72d9f4003fc6b86f76268aa8529d43a" id="r_af72d9f4003fc6b86f76268aa8529d43a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#af72d9f4003fc6b86f76268aa8529d43a">CVIRTUAL_ALLOCATION_DESC</a> (UINT64 size, UINT64 alignment, <a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72">VIRTUAL_ALLOCATION_FLAGS</a> flags=<a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72a03576295004dec9dc8f99a895d232027">VIRTUAL_ALLOCATION_FLAG_NONE</a>, void *privateData=NULL) noexcept</td></tr>
<tr class="memdesc:af72d9f4003fc6b86f76268aa8529d43a"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing description of a virtual allocation with given parameters. <br /></td></tr>
-<tr class="separator:af72d9f4003fc6b86f76268aa8529d43a"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-inherited" class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
-<tr class="inherit_header pub_attribs_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"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_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')"><img src="closed.png" alt="-"/> Public Attributes inherited from <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">D3D12MA::VIRTUAL_ALLOCATION_DESC</a></td></tr>
+<tr class="inherit_header pub_attribs_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"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_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')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Attributes inherited from <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">D3D12MA::VIRTUAL_ALLOCATION_DESC</a></td></tr>
<tr class="memitem:ab848f8ad39b5bf8a7c8c077e113e7fc9 inherit pub_attribs_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" id="r_ab848f8ad39b5bf8a7c8c077e113e7fc9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72">VIRTUAL_ALLOCATION_FLAGS</a> </td><td class="memItemRight" valign="bottom"><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#ab848f8ad39b5bf8a7c8c077e113e7fc9">Flags</a></td></tr>
<tr class="memdesc:ab848f8ad39b5bf8a7c8c077e113e7fc9 inherit pub_attribs_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"><td class="mdescLeft"> </td><td class="mdescRight">Flags for the virtual allocation. <br /></td></tr>
-<tr class="separator:ab848f8ad39b5bf8a7c8c077e113e7fc9 inherit pub_attribs_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"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a976b649e45abdd0769da0d79acde4bac inherit pub_attribs_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" id="r_a976b649e45abdd0769da0d79acde4bac"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><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#a976b649e45abdd0769da0d79acde4bac">Size</a></td></tr>
<tr class="memdesc:a976b649e45abdd0769da0d79acde4bac inherit pub_attribs_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"><td class="mdescLeft"> </td><td class="mdescRight">Size of the allocation. <br /></td></tr>
-<tr class="separator:a976b649e45abdd0769da0d79acde4bac inherit pub_attribs_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"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aaa95e62f2f399339a09dcbb312a42de0 inherit pub_attribs_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" id="r_aaa95e62f2f399339a09dcbb312a42de0"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><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#aaa95e62f2f399339a09dcbb312a42de0">Alignment</a></td></tr>
<tr class="memdesc:aaa95e62f2f399339a09dcbb312a42de0 inherit pub_attribs_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"><td class="mdescLeft"> </td><td class="mdescRight">Required alignment of the allocation. <br /></td></tr>
-<tr class="separator:aaa95e62f2f399339a09dcbb312a42de0 inherit pub_attribs_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"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa1281297154e3823e98a7cc7e23b5d6b inherit pub_attribs_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" id="r_aa1281297154e3823e98a7cc7e23b5d6b"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><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#aa1281297154e3823e98a7cc7e23b5d6b">pPrivateData</a></td></tr>
<tr class="memdesc:aa1281297154e3823e98a7cc7e23b5d6b inherit pub_attribs_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"><td class="mdescLeft"> </td><td class="mdescRight">Custom pointer to be associated with the allocation. <br /></td></tr>
-<tr class="separator:aa1281297154e3823e98a7cc7e23b5d6b inherit pub_attribs_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"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Helper structure that helps with complete and conscise initialization of the <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" title="Parameters of created virtual allocation to be passed to VirtualBlock::Allocate().">D3D12MA::VIRTUAL_ALLOCATION_DESC</a> structure. </p>
-</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+</div><a name="doc-constructors" id="doc-constructors"></a><h2 id="header-doc-constructors" class="groupheader">Constructor & Destructor Documentation</h2>
<a id="af7262b9e3178bb70416603aa32d4e8c6" name="af7262b9e3178bb70416603aa32d4e8c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7262b9e3178bb70416603aa32d4e8c6">◆ </a></span>CVIRTUAL_ALLOCATION_DESC() <span class="overload">[1/3]</span></h2>
@@ -241,7 +221,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c-members.html b/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c-members.html
index eeecc96..27af579 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html">CVIRTUAL_BLOCK_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html">CVIRTUAL_BLOCK_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -103,7 +90,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html b/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html
index 78fbb71..e24e9a8 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::CVIRTUAL_BLOCK_DESC Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html">CVIRTUAL_BLOCK_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html">CVIRTUAL_BLOCK_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -103,40 +90,34 @@
Inheritance diagram for D3D12MA::CVIRTUAL_BLOCK_DESC:</div>
<div class="dyncontent">
<div class="center">
- <img src="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.png" usemap="#D3D12MA::CVIRTUAL_5FBLOCK_5FDESC_map" alt=""/>
- <map id="D3D12MA::CVIRTUAL_5FBLOCK_5FDESC_map" name="D3D12MA::CVIRTUAL_5FBLOCK_5FDESC_map">
+ <img src="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.png" usemap="#D3D12MA_3A_3ACVIRTUAL_5FBLOCK_5FDESC_map" alt=""/>
+ <map id="D3D12MA_3A_3ACVIRTUAL_5FBLOCK_5FDESC_map" name="D3D12MA_3A_3ACVIRTUAL_5FBLOCK_5FDESC_map">
<area 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()." alt="D3D12MA::VIRTUAL_BLOCK_DESC" shape="rect" coords="0,0,227,24"/>
</map>
</div></div>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2871293dd04cadc9e8f10b5a5acb9b0c" id="r_a2871293dd04cadc9e8f10b5a5acb9b0c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2871293dd04cadc9e8f10b5a5acb9b0c">CVIRTUAL_BLOCK_DESC</a> ()=default</td></tr>
<tr class="memdesc:a2871293dd04cadc9e8f10b5a5acb9b0c"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. Leaves the structure uninitialized. <br /></td></tr>
-<tr class="separator:a2871293dd04cadc9e8f10b5a5acb9b0c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a223f6535756a128b7fe86f0aa10de9af" id="r_a223f6535756a128b7fe86f0aa10de9af"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a223f6535756a128b7fe86f0aa10de9af">CVIRTUAL_BLOCK_DESC</a> (const <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">VIRTUAL_BLOCK_DESC</a> &o) noexcept</td></tr>
<tr class="memdesc:a223f6535756a128b7fe86f0aa10de9af"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing from the base <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> structure. <br /></td></tr>
-<tr class="separator:a223f6535756a128b7fe86f0aa10de9af"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2984a0b07b432ed8baf387d5230b7112" id="r_a2984a0b07b432ed8baf387d5230b7112"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2984a0b07b432ed8baf387d5230b7112">CVIRTUAL_BLOCK_DESC</a> (UINT64 size, <a class="el" href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085d">VIRTUAL_BLOCK_FLAGS</a> flags=<a class="el" href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085dafc882884f8bacd5cab3087567df8c53d">VIRTUAL_BLOCK_FLAG_NONE</a>, const <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">ALLOCATION_CALLBACKS</a> *allocationCallbacks=NULL) noexcept</td></tr>
<tr class="memdesc:a2984a0b07b432ed8baf387d5230b7112"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing description of a virtual block with given parameters. <br /></td></tr>
-<tr class="separator:a2984a0b07b432ed8baf387d5230b7112"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-inherited" class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
-<tr class="inherit_header pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c')"><img src="closed.png" alt="-"/> Public Attributes inherited from <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">D3D12MA::VIRTUAL_BLOCK_DESC</a></td></tr>
+<tr class="inherit_header pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Attributes inherited from <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">D3D12MA::VIRTUAL_BLOCK_DESC</a></td></tr>
<tr class="memitem:a1c887a732b4db0c68a07902462e0732b inherit pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c" id="r_a1c887a732b4db0c68a07902462e0732b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085d">VIRTUAL_BLOCK_FLAGS</a> </td><td class="memItemRight" valign="bottom"><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#a1c887a732b4db0c68a07902462e0732b">Flags</a></td></tr>
<tr class="memdesc:a1c887a732b4db0c68a07902462e0732b inherit pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Flags. <br /></td></tr>
-<tr class="separator:a1c887a732b4db0c68a07902462e0732b inherit pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac56491679f276a5a9956ed99bc4654e4 inherit pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c" id="r_ac56491679f276a5a9956ed99bc4654e4"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><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">Size</a></td></tr>
<tr class="memdesc:ac56491679f276a5a9956ed99bc4654e4 inherit pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Total size of the block. <br /></td></tr>
-<tr class="separator:ac56491679f276a5a9956ed99bc4654e4 inherit pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa8ea08ad0ee64cb2d29c03b85008317f inherit pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c" id="r_aa8ea08ad0ee64cb2d29c03b85008317f"><td class="memItemLeft" align="right" valign="top">const <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">ALLOCATION_CALLBACKS</a> * </td><td class="memItemRight" valign="bottom"><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#aa8ea08ad0ee64cb2d29c03b85008317f">pAllocationCallbacks</a></td></tr>
<tr class="memdesc:aa8ea08ad0ee64cb2d29c03b85008317f inherit pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c"><td class="mdescLeft"> </td><td class="mdescRight">Custom CPU memory allocation callbacks. Optional. <br /></td></tr>
-<tr class="separator:aa8ea08ad0ee64cb2d29c03b85008317f inherit pub_attribs_struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Helper structure that helps with complete and conscise initialization of the <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> structure. </p>
-</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+</div><a name="doc-constructors" id="doc-constructors"></a><h2 id="header-doc-constructors" class="groupheader">Constructor & Destructor Documentation</h2>
<a id="a2871293dd04cadc9e8f10b5a5acb9b0c" name="a2871293dd04cadc9e8f10b5a5acb9b0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2871293dd04cadc9e8f10b5a5acb9b0c">◆ </a></span>CVIRTUAL_BLOCK_DESC() <span class="overload">[1/3]</span></h2>
@@ -233,7 +214,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c-members.html b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c-members.html
index 698ab11..69adefa 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">DEFRAGMENTATION_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">DEFRAGMENTATION_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,7 +87,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html
index c65cd1a..242a2ed 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::DEFRAGMENTATION_DESC Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">DEFRAGMENTATION_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html">DEFRAGMENTATION_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,22 +87,19 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aac9a357e679a0afa9ab84cd06057630b" id="r_aac9a357e679a0afa9ab84cd06057630b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4">DEFRAGMENTATION_FLAGS</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#aac9a357e679a0afa9ab84cd06057630b">Flags</a></td></tr>
<tr class="memdesc:aac9a357e679a0afa9ab84cd06057630b"><td class="mdescLeft"> </td><td class="mdescRight">Flags. <br /></td></tr>
-<tr class="separator:aac9a357e679a0afa9ab84cd06057630b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad8d224e0687a35898970d0a5688c6343" id="r_ad8d224e0687a35898970d0a5688c6343"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad8d224e0687a35898970d0a5688c6343">MaxBytesPerPass</a></td></tr>
<tr class="memdesc:ad8d224e0687a35898970d0a5688c6343"><td class="mdescLeft"> </td><td class="mdescRight">Maximum numbers of bytes that can be copied during single pass, while moving allocations to different places. <br /></td></tr>
-<tr class="separator:ad8d224e0687a35898970d0a5688c6343"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a83bfb404f387863eafdd6703483aed89" id="r_a83bfb404f387863eafdd6703483aed89"><td class="memItemLeft" align="right" valign="top">UINT32 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a83bfb404f387863eafdd6703483aed89">MaxAllocationsPerPass</a></td></tr>
<tr class="memdesc:a83bfb404f387863eafdd6703483aed89"><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of allocations that can be moved during single pass to a different place. <br /></td></tr>
-<tr class="separator:a83bfb404f387863eafdd6703483aed89"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Parameters for defragmentation. </p>
<p>To be used with functions <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a08e1468f1dbb63ce3bf6680e592b2143" title="Begins defragmentation process of the default pools.">Allocator::BeginDefragmentation()</a> and <a class="el" href="class_d3_d12_m_a_1_1_pool.html#adc87bb49c192de8f5a9ca0484c499575" title="Begins defragmentation process of the current pool.">Pool::BeginDefragmentation()</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="aac9a357e679a0afa9ab84cd06057630b" name="aac9a357e679a0afa9ab84cd06057630b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac9a357e679a0afa9ab84cd06057630b">◆ </a></span>Flags</h2>
@@ -172,7 +156,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e-members.html b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e-members.html
index 4fed39a..f20848d 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html">DEFRAGMENTATION_MOVE</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html">DEFRAGMENTATION_MOVE</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,7 +87,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html
index 8a8bf70..87c182e 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::DEFRAGMENTATION_MOVE Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html">DEFRAGMENTATION_MOVE</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html">DEFRAGMENTATION_MOVE</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,21 +87,18 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a5ba8d6894267ae59df4efb9972af5d81" id="r_a5ba8d6894267ae59df4efb9972af5d81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602">DEFRAGMENTATION_MOVE_OPERATION</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5ba8d6894267ae59df4efb9972af5d81">Operation</a></td></tr>
<tr class="memdesc:a5ba8d6894267ae59df4efb9972af5d81"><td class="mdescLeft"> </td><td class="mdescRight">Operation to be performed on the allocation by <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">DefragmentationContext::EndPass()</a>. Default value is <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac">DEFRAGMENTATION_MOVE_OPERATION_COPY</a>. You can modify it. <br /></td></tr>
-<tr class="separator:a5ba8d6894267ae59df4efb9972af5d81"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4946b874c958a71c21fac25b515cf5f7" id="r_a4946b874c958a71c21fac25b515cf5f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4946b874c958a71c21fac25b515cf5f7">pSrcAllocation</a></td></tr>
<tr class="memdesc:a4946b874c958a71c21fac25b515cf5f7"><td class="mdescLeft"> </td><td class="mdescRight">Allocation that should be moved. <br /></td></tr>
-<tr class="separator:a4946b874c958a71c21fac25b515cf5f7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aec0c7f51ccc870c6a88af7c7390d8eda" id="r_aec0c7f51ccc870c6a88af7c7390d8eda"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#aec0c7f51ccc870c6a88af7c7390d8eda">pDstTmpAllocation</a></td></tr>
-<tr class="memdesc:aec0c7f51ccc870c6a88af7c7390d8eda"><td class="mdescLeft"> </td><td class="mdescRight">Temporary allocation pointing to destination memory that will replace <code>pSrcAllocation</code>. <br /></td></tr>
-<tr class="separator:aec0c7f51ccc870c6a88af7c7390d8eda"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:aec0c7f51ccc870c6a88af7c7390d8eda"><td class="mdescLeft"> </td><td class="mdescRight">Temporary allocation pointing to destination memory that will replace <span class="tt">pSrcAllocation</span>. <br /></td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Single move of an allocation to be done for defragmentation. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a5ba8d6894267ae59df4efb9972af5d81" name="a5ba8d6894267ae59df4efb9972af5d81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ba8d6894267ae59df4efb9972af5d81">◆ </a></span>Operation</h2>
@@ -143,9 +127,9 @@
</table>
</div><div class="memdoc">
-<p>Temporary allocation pointing to destination memory that will replace <code>pSrcAllocation</code>. </p>
-<p>Use it to retrieve new <code>ID3D12Heap</code> and offset to create new <code>ID3D12Resource</code> and then store it here via <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a414a088c22bae0f29b1038f5f9346d14" title="Releases the resource currently pointed by the allocation (if not null), sets it to new one,...">Allocation::SetResource()</a>.</p>
-<dl class="section warning"><dt>Warning</dt><dd>Do not store this allocation in your data structures! It exists only temporarily, for the duration of the defragmentation pass, to be used for storing newly created resource. <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">DefragmentationContext::EndPass()</a> will destroy it and make <code>pSrcAllocation</code> point to this memory. </dd></dl>
+<p>Temporary allocation pointing to destination memory that will replace <span class="tt">pSrcAllocation</span>. </p>
+<p>Use it to retrieve new <span class="tt">ID3D12Heap</span> and offset to create new <span class="tt">ID3D12Resource</span> and then store it here via <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a414a088c22bae0f29b1038f5f9346d14" title="Releases the resource currently pointed by the allocation (if not null), sets it to new one,...">Allocation::SetResource()</a>.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Do not store this allocation in your data structures! It exists only temporarily, for the duration of the defragmentation pass, to be used for storing newly created resource. <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">DefragmentationContext::EndPass()</a> will destroy it and make <span class="tt">pSrcAllocation</span> point to this memory. </dd></dl>
</div>
</div>
@@ -171,7 +155,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o-members.html b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o-members.html
index 28aefc6..3e0a1e4 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">DEFRAGMENTATION_PASS_MOVE_INFO</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">DEFRAGMENTATION_PASS_MOVE_INFO</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -99,7 +86,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html
index 1212826..6e37ac2 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::DEFRAGMENTATION_PASS_MOVE_INFO Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">DEFRAGMENTATION_PASS_MOVE_INFO</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___p_a_s_s___m_o_v_e___i_n_f_o.html">DEFRAGMENTATION_PASS_MOVE_INFO</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,19 +87,17 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a8df22d990c318d82fe9fcc5f04132c04" id="r_a8df22d990c318d82fe9fcc5f04132c04"><td class="memItemLeft" align="right" valign="top">UINT32 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8df22d990c318d82fe9fcc5f04132c04">MoveCount</a></td></tr>
-<tr class="memdesc:a8df22d990c318d82fe9fcc5f04132c04"><td class="mdescLeft"> </td><td class="mdescRight">Number of elements in the <code>pMoves</code> array. <br /></td></tr>
-<tr class="separator:a8df22d990c318d82fe9fcc5f04132c04"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a8df22d990c318d82fe9fcc5f04132c04"><td class="mdescLeft"> </td><td class="mdescRight">Number of elements in the <span class="tt">pMoves</span> array. <br /></td></tr>
<tr class="memitem:a719fbdaae54251759605c41baeb24dc4" id="r_a719fbdaae54251759605c41baeb24dc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___m_o_v_e.html">DEFRAGMENTATION_MOVE</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a719fbdaae54251759605c41baeb24dc4">pMoves</a></td></tr>
<tr class="memdesc:a719fbdaae54251759605c41baeb24dc4"><td class="mdescLeft"> </td><td class="mdescRight">Array of moves to be performed by the user in the current defragmentation pass. <br /></td></tr>
-<tr class="separator:a719fbdaae54251759605c41baeb24dc4"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Parameters for incremental defragmentation steps. </p>
<p>To be used with function <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1606c015d02edc094bb246986159d592" title="Starts single defragmentation pass.">DefragmentationContext::BeginPass()</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a8df22d990c318d82fe9fcc5f04132c04" name="a8df22d990c318d82fe9fcc5f04132c04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8df22d990c318d82fe9fcc5f04132c04">◆ </a></span>MoveCount</h2>
@@ -125,7 +110,7 @@
</table>
</div><div class="memdoc">
-<p>Number of elements in the <code>pMoves</code> array. </p>
+<p>Number of elements in the <span class="tt">pMoves</span> array. </p>
</div>
</div>
@@ -142,12 +127,12 @@
</div><div class="memdoc">
<p>Array of moves to be performed by the user in the current defragmentation pass. </p>
-<p>Pointer to an array of <code>MoveCount</code> elements, owned by D3D12MA, created in <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1606c015d02edc094bb246986159d592" title="Starts single defragmentation pass.">DefragmentationContext::BeginPass()</a>, destroyed in <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">DefragmentationContext::EndPass()</a>.</p>
+<p>Pointer to an array of <span class="tt">MoveCount</span> elements, owned by D3D12MA, created in <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1606c015d02edc094bb246986159d592" title="Starts single defragmentation pass.">DefragmentationContext::BeginPass()</a>, destroyed in <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">DefragmentationContext::EndPass()</a>.</p>
<p>For each element, you should:</p>
<ol type="1">
-<li>Create a new resource in the place pointed by <code>pMoves[i].pDstTmpAllocation->GetHeap()</code> + <code>pMoves[i].pDstTmpAllocation->GetOffset()</code>.</li>
-<li>Store new resource in <code>pMoves[i].pDstTmpAllocation</code> by using <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a414a088c22bae0f29b1038f5f9346d14" title="Releases the resource currently pointed by the allocation (if not null), sets it to new one,...">Allocation::SetResource()</a>. It will later replace old resource from <code>pMoves[i].pSrcAllocation</code>.</li>
-<li>Copy data from the <code>pMoves[i].pSrcAllocation</code> e.g. using <code>D3D12GraphicsCommandList::CopyResource</code>.</li>
+<li>Create a new resource in the place pointed by <span class="tt">pMoves[i].pDstTmpAllocation->GetHeap()</span> + <span class="tt">pMoves[i].pDstTmpAllocation->GetOffset()</span>.</li>
+<li>Store new resource in <span class="tt">pMoves[i].pDstTmpAllocation</span> by using <a class="el" href="class_d3_d12_m_a_1_1_allocation.html#a414a088c22bae0f29b1038f5f9346d14" title="Releases the resource currently pointed by the allocation (if not null), sets it to new one,...">Allocation::SetResource()</a>. It will later replace old resource from <span class="tt">pMoves[i].pSrcAllocation</span>.</li>
+<li>Copy data from the <span class="tt">pMoves[i].pSrcAllocation</span> e.g. using <span class="tt">D3D12GraphicsCommandList::CopyResource</span>.</li>
<li>Make sure these commands finished executing on the GPU.</li>
</ol>
<p>Only then you can finish defragmentation pass by calling <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#aad502ba70d6dadaeee37703fd8bf90ae" title="Ends single defragmentation pass.">DefragmentationContext::EndPass()</a>. After this call, the allocation will point to the new place in memory.</p>
@@ -162,7 +147,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s-members.html b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s-members.html
index 6723fa3..be2d910 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html">DEFRAGMENTATION_STATS</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html">DEFRAGMENTATION_STATS</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -101,7 +88,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html
index b7f806d..220d0bd 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::DEFRAGMENTATION_STATS Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html">DEFRAGMENTATION_STATS</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___s_t_a_t_s.html">DEFRAGMENTATION_STATS</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,24 +87,20 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:adc4c36df302a6b320443a4a33a3e31c8" id="r_adc4c36df302a6b320443a4a33a3e31c8"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#adc4c36df302a6b320443a4a33a3e31c8">BytesMoved</a></td></tr>
<tr class="memdesc:adc4c36df302a6b320443a4a33a3e31c8"><td class="mdescLeft"> </td><td class="mdescRight">Total number of bytes that have been copied while moving allocations to different places. <br /></td></tr>
-<tr class="separator:adc4c36df302a6b320443a4a33a3e31c8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7ed1bf228f39989ff3419ce3f50002c9" id="r_a7ed1bf228f39989ff3419ce3f50002c9"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7ed1bf228f39989ff3419ce3f50002c9">BytesFreed</a></td></tr>
<tr class="memdesc:a7ed1bf228f39989ff3419ce3f50002c9"><td class="mdescLeft"> </td><td class="mdescRight">Total number of bytes that have been released to the system by freeing empty heaps. <br /></td></tr>
-<tr class="separator:a7ed1bf228f39989ff3419ce3f50002c9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a708fa1b14c35da8d5d6abd4a457ef0c2" id="r_a708fa1b14c35da8d5d6abd4a457ef0c2"><td class="memItemLeft" align="right" valign="top">UINT32 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a708fa1b14c35da8d5d6abd4a457ef0c2">AllocationsMoved</a></td></tr>
<tr class="memdesc:a708fa1b14c35da8d5d6abd4a457ef0c2"><td class="mdescLeft"> </td><td class="mdescRight">Number of allocations that have been moved to different places. <br /></td></tr>
-<tr class="separator:a708fa1b14c35da8d5d6abd4a457ef0c2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aecc6120afcf75028c9850f8d475b727d" id="r_aecc6120afcf75028c9850f8d475b727d"><td class="memItemLeft" align="right" valign="top">UINT32 </td><td class="memItemRight" valign="bottom"><a class="el" href="#aecc6120afcf75028c9850f8d475b727d">HeapsFreed</a></td></tr>
-<tr class="memdesc:aecc6120afcf75028c9850f8d475b727d"><td class="mdescLeft"> </td><td class="mdescRight">Number of empty <code>ID3D12Heap</code> objects that have been released to the system. <br /></td></tr>
-<tr class="separator:aecc6120afcf75028c9850f8d475b727d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:aecc6120afcf75028c9850f8d475b727d"><td class="mdescLeft"> </td><td class="mdescRight">Number of empty <span class="tt">ID3D12Heap</span> objects that have been released to the system. <br /></td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Statistics returned for defragmentation process by function <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1c21c26f47dcbf8f4e562063a3e25f38" title="Returns statistics of the defragmentation performed so far.">DefragmentationContext::GetStats()</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a708fa1b14c35da8d5d6abd4a457ef0c2" name="a708fa1b14c35da8d5d6abd4a457ef0c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a708fa1b14c35da8d5d6abd4a457ef0c2">◆ </a></span>AllocationsMoved</h2>
@@ -178,7 +161,7 @@
</table>
</div><div class="memdoc">
-<p>Number of empty <code>ID3D12Heap</code> objects that have been released to the system. </p>
+<p>Number of empty <span class="tt">ID3D12Heap</span> objects that have been released to the system. </p>
</div>
</div>
@@ -188,7 +171,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_detailed_statistics-members.html b/docs/html/struct_d3_d12_m_a_1_1_detailed_statistics-members.html
index 9167002..13c5446 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_detailed_statistics-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_detailed_statistics-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -103,7 +90,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_detailed_statistics.html b/docs/html/struct_d3_d12_m_a_1_1_detailed_statistics.html
index f4f534a..88fa33d 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_detailed_statistics.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_detailed_statistics.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::DetailedStatistics Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,35 +87,29 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a2490d4a08a5d47c87a699001dfc8737f" id="r_a2490d4a08a5d47c87a699001dfc8737f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2490d4a08a5d47c87a699001dfc8737f">Stats</a></td></tr>
<tr class="memdesc:a2490d4a08a5d47c87a699001dfc8737f"><td class="mdescLeft"> </td><td class="mdescRight">Basic statistics. <br /></td></tr>
-<tr class="separator:a2490d4a08a5d47c87a699001dfc8737f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aff1aaecbb86eedfdb15c1b11987ac0d9" id="r_aff1aaecbb86eedfdb15c1b11987ac0d9"><td class="memItemLeft" align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="#aff1aaecbb86eedfdb15c1b11987ac0d9">UnusedRangeCount</a></td></tr>
<tr class="memdesc:aff1aaecbb86eedfdb15c1b11987ac0d9"><td class="mdescLeft"> </td><td class="mdescRight">Number of free ranges of memory between allocations. <br /></td></tr>
-<tr class="separator:aff1aaecbb86eedfdb15c1b11987ac0d9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a187e5562265c3daa87c15d54f1396a6a" id="r_a187e5562265c3daa87c15d54f1396a6a"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a187e5562265c3daa87c15d54f1396a6a">AllocationSizeMin</a></td></tr>
-<tr class="memdesc:a187e5562265c3daa87c15d54f1396a6a"><td class="mdescLeft"> </td><td class="mdescRight">Smallest allocation size. <code>UINT64_MAX</code> if there are 0 allocations. <br /></td></tr>
-<tr class="separator:a187e5562265c3daa87c15d54f1396a6a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a187e5562265c3daa87c15d54f1396a6a"><td class="mdescLeft"> </td><td class="mdescRight">Smallest allocation size. <span class="tt">UINT64_MAX</span> if there are 0 allocations. <br /></td></tr>
<tr class="memitem:a2f47015bebf9a30ce221aef88fe11991" id="r_a2f47015bebf9a30ce221aef88fe11991"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2f47015bebf9a30ce221aef88fe11991">AllocationSizeMax</a></td></tr>
<tr class="memdesc:a2f47015bebf9a30ce221aef88fe11991"><td class="mdescLeft"> </td><td class="mdescRight">Largest allocation size. 0 if there are 0 allocations. <br /></td></tr>
-<tr class="separator:a2f47015bebf9a30ce221aef88fe11991"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac13f6cb1737f0d906e55182385f38b70" id="r_ac13f6cb1737f0d906e55182385f38b70"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac13f6cb1737f0d906e55182385f38b70">UnusedRangeSizeMin</a></td></tr>
-<tr class="memdesc:ac13f6cb1737f0d906e55182385f38b70"><td class="mdescLeft"> </td><td class="mdescRight">Smallest empty range size. <code>UINT64_MAX</code> if there are 0 empty ranges. <br /></td></tr>
-<tr class="separator:ac13f6cb1737f0d906e55182385f38b70"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:ac13f6cb1737f0d906e55182385f38b70"><td class="mdescLeft"> </td><td class="mdescRight">Smallest empty range size. <span class="tt">UINT64_MAX</span> if there are 0 empty ranges. <br /></td></tr>
<tr class="memitem:a5fae01864d6e6595cb9c416a9f365e7c" id="r_a5fae01864d6e6595cb9c416a9f365e7c"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5fae01864d6e6595cb9c416a9f365e7c">UnusedRangeSizeMax</a></td></tr>
<tr class="memdesc:a5fae01864d6e6595cb9c416a9f365e7c"><td class="mdescLeft"> </td><td class="mdescRight">Largest empty range size. 0 if there are 0 empty ranges. <br /></td></tr>
-<tr class="separator:a5fae01864d6e6595cb9c416a9f365e7c"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>More detailed statistics than <a class="el" href="struct_d3_d12_m_a_1_1_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory heap type, memory segment group,...">D3D12MA::Statistics</a>. </p>
<p>These are slower to calculate. Use for debugging purposes. See functions: <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a99db00df909963573a976c203b107d22" title="Retrieves statistics from current state of the allocator.">D3D12MA::Allocator::CalculateStatistics()</a>, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#ad07999ac5dc8f0c63187afd45d551910" title="Retrieves detailed statistics of the custom pool that are slower to calculate.">D3D12MA::Pool::CalculateStatistics()</a>.</p>
<p>Averages are not provided because they can be easily calculated as:</p>
<div class="fragment"><div class="line">UINT64 AllocationSizeAvg = DetailedStats.Statistics.AllocationBytes / detailedStats.Statistics.AllocationCount;</div>
<div class="line">UINT64 UnusedBytes = DetailedStats.Statistics.BlockBytes - DetailedStats.Statistics.AllocationBytes;</div>
<div class="line">UINT64 UnusedRangeSizeAvg = UnusedBytes / DetailedStats.UnusedRangeCount;</div>
-</div><!-- fragment --> </div><h2 class="groupheader">Member Data Documentation</h2>
+</div><!-- fragment --> </div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a2f47015bebf9a30ce221aef88fe11991" name="a2f47015bebf9a30ce221aef88fe11991"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f47015bebf9a30ce221aef88fe11991">◆ </a></span>AllocationSizeMax</h2>
@@ -157,7 +138,7 @@
</table>
</div><div class="memdoc">
-<p>Smallest allocation size. <code>UINT64_MAX</code> if there are 0 allocations. </p>
+<p>Smallest allocation size. <span class="tt">UINT64_MAX</span> if there are 0 allocations. </p>
</div>
</div>
@@ -221,7 +202,7 @@
</table>
</div><div class="memdoc">
-<p>Smallest empty range size. <code>UINT64_MAX</code> if there are 0 empty ranges. </p>
+<p>Smallest empty range size. <span class="tt">UINT64_MAX</span> if there are 0 empty ranges. </p>
</div>
</div>
@@ -231,7 +212,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c-members.html b/docs/html/struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c-members.html
index 2ae0d33..654ade6 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -106,7 +93,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html b/docs/html/struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html
index fcb0f64..d812aff 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::POOL_DESC Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -103,45 +90,36 @@
Inheritance diagram for D3D12MA::POOL_DESC:</div>
<div class="dyncontent">
<div class="center">
- <img src="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.png" usemap="#D3D12MA::POOL_5FDESC_map" alt=""/>
- <map id="D3D12MA::POOL_5FDESC_map" name="D3D12MA::POOL_5FDESC_map">
+ <img src="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.png" usemap="#D3D12MA_3A_3APOOL_5FDESC_map" alt=""/>
+ <map id="D3D12MA_3A_3APOOL_5FDESC_map" name="D3D12MA_3A_3APOOL_5FDESC_map">
<area href="struct_d3_d12_m_a_1_1_c_p_o_o_l___d_e_s_c.html" title="Helper structure that helps with complete and conscise initialization of the D3D12MA::POOL_DESC struc..." alt="D3D12MA::CPOOL_DESC" shape="rect" coords="0,56,162,80"/>
</map>
</div></div>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ac4ed93b0191344d68c0b4ac1a4822ff4" id="r_ac4ed93b0191344d68c0b4ac1a4822ff4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1">POOL_FLAGS</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac4ed93b0191344d68c0b4ac1a4822ff4">Flags</a></td></tr>
<tr class="memdesc:ac4ed93b0191344d68c0b4ac1a4822ff4"><td class="mdescLeft"> </td><td class="mdescRight">Flags for the heap. <br /></td></tr>
-<tr class="separator:ac4ed93b0191344d68c0b4ac1a4822ff4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a06e06813bcb5206e9f7a8b0564bf1d6a" id="r_a06e06813bcb5206e9f7a8b0564bf1d6a"><td class="memItemLeft" align="right" valign="top">D3D12_HEAP_PROPERTIES </td><td class="memItemRight" valign="bottom"><a class="el" href="#a06e06813bcb5206e9f7a8b0564bf1d6a">HeapProperties</a></td></tr>
<tr class="memdesc:a06e06813bcb5206e9f7a8b0564bf1d6a"><td class="mdescLeft"> </td><td class="mdescRight">The parameters of memory heap where allocations of this pool should be placed. <br /></td></tr>
-<tr class="separator:a06e06813bcb5206e9f7a8b0564bf1d6a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3795956e4fbfe7c3a23546e02e5d28dc" id="r_a3795956e4fbfe7c3a23546e02e5d28dc"><td class="memItemLeft" align="right" valign="top">D3D12_HEAP_FLAGS </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3795956e4fbfe7c3a23546e02e5d28dc">HeapFlags</a></td></tr>
<tr class="memdesc:a3795956e4fbfe7c3a23546e02e5d28dc"><td class="mdescLeft"> </td><td class="mdescRight">Heap flags to be used when allocating heaps of this pool. <br /></td></tr>
-<tr class="separator:a3795956e4fbfe7c3a23546e02e5d28dc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af7284cc51a8ed5b551075584256de23c" id="r_af7284cc51a8ed5b551075584256de23c"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#af7284cc51a8ed5b551075584256de23c">BlockSize</a></td></tr>
<tr class="memdesc:af7284cc51a8ed5b551075584256de23c"><td class="mdescLeft"> </td><td class="mdescRight">Size of a single heap (memory block) to be allocated as part of this pool, in bytes. Optional. <br /></td></tr>
-<tr class="separator:af7284cc51a8ed5b551075584256de23c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6f10db3911a3bea1becfc9a0dfa5bac8" id="r_a6f10db3911a3bea1becfc9a0dfa5bac8"><td class="memItemLeft" align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f10db3911a3bea1becfc9a0dfa5bac8">MinBlockCount</a></td></tr>
<tr class="memdesc:a6f10db3911a3bea1becfc9a0dfa5bac8"><td class="mdescLeft"> </td><td class="mdescRight">Minimum number of heaps (memory blocks) to be always allocated in this pool, even if they stay empty. Optional. <br /></td></tr>
-<tr class="separator:a6f10db3911a3bea1becfc9a0dfa5bac8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abbce3a99f253928f9c3c09fa16015f9e" id="r_abbce3a99f253928f9c3c09fa16015f9e"><td class="memItemLeft" align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="#abbce3a99f253928f9c3c09fa16015f9e">MaxBlockCount</a></td></tr>
<tr class="memdesc:abbce3a99f253928f9c3c09fa16015f9e"><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of heaps (memory blocks) that can be allocated in this pool. Optional. <br /></td></tr>
-<tr class="separator:abbce3a99f253928f9c3c09fa16015f9e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0a6283eeb1f3f99d8c4ae264aec7f749" id="r_a0a6283eeb1f3f99d8c4ae264aec7f749"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0a6283eeb1f3f99d8c4ae264aec7f749">MinAllocationAlignment</a></td></tr>
<tr class="memdesc:a0a6283eeb1f3f99d8c4ae264aec7f749"><td class="mdescLeft"> </td><td class="mdescRight">Additional minimum alignment to be used for all allocations created from this pool. Can be 0. <br /></td></tr>
-<tr class="separator:a0a6283eeb1f3f99d8c4ae264aec7f749"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a475840ec05c19732c8d5aa8bb27270f4" id="r_a475840ec05c19732c8d5aa8bb27270f4"><td class="memItemLeft" align="right" valign="top">ID3D12ProtectedResourceSession * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a475840ec05c19732c8d5aa8bb27270f4">pProtectedSession</a></td></tr>
<tr class="memdesc:a475840ec05c19732c8d5aa8bb27270f4"><td class="mdescLeft"> </td><td class="mdescRight">Additional parameter allowing pool to create resources with passed protected session. <br /></td></tr>
-<tr class="separator:a475840ec05c19732c8d5aa8bb27270f4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2e6074af8c8ff7b957fe8d4b5036a5e6" id="r_a2e6074af8c8ff7b957fe8d4b5036a5e6"><td class="memItemLeft" align="right" valign="top">D3D12_RESIDENCY_PRIORITY </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2e6074af8c8ff7b957fe8d4b5036a5e6">ResidencyPriority</a></td></tr>
<tr class="memdesc:a2e6074af8c8ff7b957fe8d4b5036a5e6"><td class="mdescLeft"> </td><td class="mdescRight">Residency priority to be set for all allocations made in this pool. Optional. <br /></td></tr>
-<tr class="separator:a2e6074af8c8ff7b957fe8d4b5036a5e6"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>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>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="af7284cc51a8ed5b551075584256de23c" name="af7284cc51a8ed5b551075584256de23c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7284cc51a8ed5b551075584256de23c">◆ </a></span>BlockSize</h2>
@@ -189,7 +167,7 @@
</div><div class="memdoc">
<p>Heap flags to be used when allocating heaps of this pool. </p>
-<p>It should contain one of these values, depending on type of resources you are going to create in this heap: <code>D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS</code>, <code>D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES</code>, <code>D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES</code>. Except if ResourceHeapTier = 2, then it may be <code>D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES</code> = 0.</p>
+<p>It should contain one of these values, depending on type of resources you are going to create in this heap: <span class="tt">D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS</span>, <span class="tt">D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES</span>, <span class="tt">D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES</span>. Except if ResourceHeapTier = 2, then it may be <span class="tt">D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES</span> = 0.</p>
<p>It is recommended to also add <a class="el" href="_d3_d12_mem_alloc_8h.html#a2679d8c9f6d900168bb45450bc88998b" title="Set of flags recommended for use in D3D12MA::POOL_DESC::Flags for optimal performance.">D3D12MA_RECOMMENDED_POOL_FLAGS</a>. You can specify additional flags if needed. </p>
</div>
@@ -207,7 +185,7 @@
</div><div class="memdoc">
<p>The parameters of memory heap where allocations of this pool should be placed. </p>
-<p>In the simplest case, just fill it with zeros and set <code>Type</code> to one of: <code>D3D12_HEAP_TYPE_DEFAULT</code>, <code>D3D12_HEAP_TYPE_UPLOAD</code>, <code>D3D12_HEAP_TYPE_READBACK</code>. Additional parameters can be used e.g. to utilize UMA. </p>
+<p>In the simplest case, just fill it with zeros and set <span class="tt">Type</span> to one of: <span class="tt">D3D12_HEAP_TYPE_DEFAULT</span>, <span class="tt">D3D12_HEAP_TYPE_UPLOAD</span>, <span class="tt">D3D12_HEAP_TYPE_READBACK</span>. Additional parameters can be used e.g. to utilize UMA. </p>
</div>
</div>
@@ -224,7 +202,7 @@
</div><div class="memdoc">
<p>Maximum number of heaps (memory blocks) that can be allocated in this pool. Optional. </p>
-<p>Set to 0 to use default, which is <code>UINT64_MAX</code>, which means no limit.</p>
+<p>Set to 0 to use default, which is <span class="tt">UINT64_MAX</span>, which means no limit.</p>
<p>Set to same value as <a class="el" href="#a6f10db3911a3bea1becfc9a0dfa5bac8" title="Minimum number of heaps (memory blocks) to be always allocated in this pool, even if they stay empty....">D3D12MA::POOL_DESC::MinBlockCount</a> to have fixed amount of memory allocated throughout whole lifetime of this pool. </p>
</div>
@@ -293,10 +271,10 @@
</div><div class="memdoc">
<p>Residency priority to be set for all allocations made in this pool. Optional. </p>
-<p>Set this parameter to one of the possible enum values e.g. <code>D3D12_RESIDENCY_PRIORITY_HIGH</code> to apply specific residency priority to all allocations made in this pool: <code>ID3D12Heap</code> memory blocks used to sub-allocate for placed resources, as well as committed resources or heaps created when <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a> is used. This can increase/decrease chance that the memory will be pushed out from VRAM to system RAM when the system runs out of memory, which is invisible to the developer using D3D12 API while it can degrade performance.</p>
-<p>Priority is set using function <code>ID3D12Device1::SetResidencyPriority</code>. It is performed only when <code>ID3D12Device1</code> interface is defined and successfully obtained. Otherwise, this parameter is ignored.</p>
-<p>This parameter is optional. If you set it to <code>D3D12_RESIDENCY_PRIORITY(0)</code>, residency priority will not be set for allocations made in this pool.</p>
-<p>There is no equivalent parameter for allocations made in default pools. If you want to set residency priority for such allocation, you need to do it manually: allocate with <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a> and call <code>ID3D12Device1::SetResidencyPriority</code>, passing <code>allocation->GetResource()</code>. </p>
+<p>Set this parameter to one of the possible enum values e.g. <span class="tt">D3D12_RESIDENCY_PRIORITY_HIGH</span> to apply specific residency priority to all allocations made in this pool: <span class="tt">ID3D12Heap</span> memory blocks used to sub-allocate for placed resources, as well as committed resources or heaps created when <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a> is used. This can increase/decrease chance that the memory will be pushed out from VRAM to system RAM when the system runs out of memory, which is invisible to the developer using D3D12 API while it can degrade performance.</p>
+<p>Priority is set using function <span class="tt">ID3D12Device1::SetResidencyPriority</span>. It is performed only when <span class="tt">ID3D12Device1</span> interface is defined and successfully obtained. Otherwise, this parameter is ignored.</p>
+<p>This parameter is optional. If you set it to <span class="tt">D3D12_RESIDENCY_PRIORITY(0)</span>, residency priority will not be set for allocations made in this pool.</p>
+<p>There is no equivalent parameter for allocations made in default pools. If you want to set residency priority for such allocation, you need to do it manually: allocate with <a class="el" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a> and call <span class="tt">ID3D12Device1::SetResidencyPriority</span>, passing <span class="tt">allocation->GetResource()</span>. </p>
</div>
</div>
@@ -306,7 +284,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_statistics-members.html b/docs/html/struct_d3_d12_m_a_1_1_statistics-members.html
index a970156..67b61fe 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_statistics-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_statistics-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -101,7 +88,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_statistics.html b/docs/html/struct_d3_d12_m_a_1_1_statistics.html
index b7e7c30..853c2ff 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_statistics.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_statistics.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::Statistics Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,25 +87,21 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a780b0ddd26d8f6b033ddaa3ba436bf65" id="r_a780b0ddd26d8f6b033ddaa3ba436bf65"><td class="memItemLeft" align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="#a780b0ddd26d8f6b033ddaa3ba436bf65">BlockCount</a></td></tr>
-<tr class="memdesc:a780b0ddd26d8f6b033ddaa3ba436bf65"><td class="mdescLeft"> </td><td class="mdescRight">Number of D3D12 memory blocks allocated - <code>ID3D12Heap</code> objects and committed resources. <br /></td></tr>
-<tr class="separator:a780b0ddd26d8f6b033ddaa3ba436bf65"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memdesc:a780b0ddd26d8f6b033ddaa3ba436bf65"><td class="mdescLeft"> </td><td class="mdescRight">Number of D3D12 memory blocks allocated - <span class="tt">ID3D12Heap</span> objects and committed resources. <br /></td></tr>
<tr class="memitem:aef88ac53531db43a8888ad2be4a06c68" id="r_aef88ac53531db43a8888ad2be4a06c68"><td class="memItemLeft" align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="#aef88ac53531db43a8888ad2be4a06c68">AllocationCount</a></td></tr>
<tr class="memdesc:aef88ac53531db43a8888ad2be4a06c68"><td class="mdescLeft"> </td><td class="mdescRight">Number of <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> objects allocated. <br /></td></tr>
-<tr class="separator:aef88ac53531db43a8888ad2be4a06c68"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a65557893f80ff116c43965dbd8d45812" id="r_a65557893f80ff116c43965dbd8d45812"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a65557893f80ff116c43965dbd8d45812">BlockBytes</a></td></tr>
<tr class="memdesc:a65557893f80ff116c43965dbd8d45812"><td class="mdescLeft"> </td><td class="mdescRight">Number of bytes allocated in memory blocks. <br /></td></tr>
-<tr class="separator:a65557893f80ff116c43965dbd8d45812"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a53cfe3d241124b5a8e8058871a4b50e8" id="r_a53cfe3d241124b5a8e8058871a4b50e8"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a53cfe3d241124b5a8e8058871a4b50e8">AllocationBytes</a></td></tr>
<tr class="memdesc:a53cfe3d241124b5a8e8058871a4b50e8"><td class="mdescLeft"> </td><td class="mdescRight">Total number of bytes occupied by all <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> objects. <br /></td></tr>
-<tr class="separator:a53cfe3d241124b5a8e8058871a4b50e8"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Calculated statistics of memory usage e.g. in a specific memory heap type, memory segment group, custom pool, or total. </p>
<p>These are fast to calculate. See functions: <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a1ac113daec5f6ef28ecb1786cf544144" title="Retrieves information about current memory usage and budget.">D3D12MA::Allocator::GetBudget()</a>, <a class="el" href="class_d3_d12_m_a_1_1_pool.html#aa9d849dc4667314b2a53eddf02f5af91" title="Retrieves basic statistics of the custom pool that are fast to calculate.">D3D12MA::Pool::GetStatistics()</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a53cfe3d241124b5a8e8058871a4b50e8" name="a53cfe3d241124b5a8e8058871a4b50e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53cfe3d241124b5a8e8058871a4b50e8">◆ </a></span>AllocationBytes</h2>
@@ -132,7 +115,7 @@
</div><div class="memdoc">
<p>Total number of bytes occupied by all <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> objects. </p>
-<p>Always less or equal than <code>BlockBytes</code>. Difference <code>(BlockBytes - AllocationBytes)</code> is the amount of memory allocated from D3D12 but unused by any <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a>. </p>
+<p>Always less or equal than <span class="tt">BlockBytes</span>. Difference <span class="tt">(BlockBytes - AllocationBytes)</span> is the amount of memory allocated from D3D12 but unused by any <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a>. </p>
</div>
</div>
@@ -149,7 +132,7 @@
</div><div class="memdoc">
<p>Number of <a class="el" href="class_d3_d12_m_a_1_1_allocation.html" title="Represents single memory allocation.">D3D12MA::Allocation</a> objects allocated. </p>
-<p>Committed allocations have their own blocks, so each one adds 1 to <code>AllocationCount</code> as well as <code>BlockCount</code>. </p>
+<p>Committed allocations have their own blocks, so each one adds 1 to <span class="tt">AllocationCount</span> as well as <span class="tt">BlockCount</span>. </p>
</div>
</div>
@@ -181,7 +164,7 @@
</table>
</div><div class="memdoc">
-<p>Number of D3D12 memory blocks allocated - <code>ID3D12Heap</code> objects and committed resources. </p>
+<p>Number of D3D12 memory blocks allocated - <span class="tt">ID3D12Heap</span> objects and committed resources. </p>
</div>
</div>
@@ -191,7 +174,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_total_statistics-members.html b/docs/html/struct_d3_d12_m_a_1_1_total_statistics-members.html
index d4b0bc7..b49ebb7 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_total_statistics-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_total_statistics-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_total_statistics.html">TotalStatistics</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_total_statistics.html">TotalStatistics</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,7 +87,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_total_statistics.html b/docs/html/struct_d3_d12_m_a_1_1_total_statistics.html
index fe591a9..494e68e 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_total_statistics.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_total_statistics.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::TotalStatistics Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_total_statistics.html">TotalStatistics</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_total_statistics.html">TotalStatistics</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,22 +87,19 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:abad2e48b38f8a73a4daf8577e7a33b89" id="r_abad2e48b38f8a73a4daf8577e7a33b89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#abad2e48b38f8a73a4daf8577e7a33b89">HeapType</a> [5]</td></tr>
<tr class="memdesc:abad2e48b38f8a73a4daf8577e7a33b89"><td class="mdescLeft"> </td><td class="mdescRight">One element for each type of heap located at the following indices: <br /></td></tr>
-<tr class="separator:abad2e48b38f8a73a4daf8577e7a33b89"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aed7d22d5cd773aa896bc4c786c7f3650" id="r_aed7d22d5cd773aa896bc4c786c7f3650"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#aed7d22d5cd773aa896bc4c786c7f3650">MemorySegmentGroup</a> [2]</td></tr>
<tr class="memdesc:aed7d22d5cd773aa896bc4c786c7f3650"><td class="mdescLeft"> </td><td class="mdescRight">One element for each memory segment group located at the following indices: <br /></td></tr>
-<tr class="separator:aed7d22d5cd773aa896bc4c786c7f3650"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac0bb53579457ddec2872c547ae8922a6" id="r_ac0bb53579457ddec2872c547ae8922a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_d3_d12_m_a_1_1_detailed_statistics.html">DetailedStatistics</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac0bb53579457ddec2872c547ae8922a6">Total</a></td></tr>
<tr class="memdesc:ac0bb53579457ddec2872c547ae8922a6"><td class="mdescLeft"> </td><td class="mdescRight">Total statistics from all memory allocated from D3D12. <br /></td></tr>
-<tr class="separator:ac0bb53579457ddec2872c547ae8922a6"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>General statistics from current state of the allocator - total memory usage across all memory heaps and segments. </p>
<p>These are slower to calculate. Use for debugging purposes. See function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a99db00df909963573a976c203b107d22" title="Retrieves statistics from current state of the allocator.">D3D12MA::Allocator::CalculateStatistics()</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="abad2e48b38f8a73a4daf8577e7a33b89" name="abad2e48b38f8a73a4daf8577e7a33b89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abad2e48b38f8a73a4daf8577e7a33b89">◆ </a></span>HeapType</h2>
@@ -130,11 +114,11 @@
<p>One element for each type of heap located at the following indices: </p>
<ul>
-<li>0 = <code>D3D12_HEAP_TYPE_DEFAULT</code></li>
-<li>1 = <code>D3D12_HEAP_TYPE_UPLOAD</code></li>
-<li>2 = <code>D3D12_HEAP_TYPE_READBACK</code></li>
-<li>3 = <code>D3D12_HEAP_TYPE_CUSTOM</code></li>
-<li>4 = <code>D3D12_HEAP_TYPE_GPU_UPLOAD</code> </li>
+<li>0 = <span class="tt">D3D12_HEAP_TYPE_DEFAULT</span></li>
+<li>1 = <span class="tt">D3D12_HEAP_TYPE_UPLOAD</span></li>
+<li>2 = <span class="tt">D3D12_HEAP_TYPE_READBACK</span></li>
+<li>3 = <span class="tt">D3D12_HEAP_TYPE_CUSTOM</span></li>
+<li>4 = <span class="tt">D3D12_HEAP_TYPE_GPU_UPLOAD</span> </li>
</ul>
</div>
@@ -153,19 +137,19 @@
<p>One element for each memory segment group located at the following indices: </p>
<ul>
-<li>0 = <code>DXGI_MEMORY_SEGMENT_GROUP_LOCAL</code></li>
-<li>1 = <code>DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</code></li>
+<li>0 = <span class="tt">DXGI_MEMORY_SEGMENT_GROUP_LOCAL</span></li>
+<li>1 = <span class="tt">DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</span></li>
</ul>
<p>Meaning of these segment groups is:</p>
<ul>
-<li>When <code>IsUMA() == FALSE</code> (discrete graphics card):<ul>
-<li><code>DXGI_MEMORY_SEGMENT_GROUP_LOCAL</code> (index 0) represents GPU memory (resources allocated in <code>D3D12_HEAP_TYPE_DEFAULT</code>, <code>D3D12_HEAP_TYPE_GPU_UPLOAD</code> or <code>D3D12_MEMORY_POOL_L1</code>).</li>
-<li><code>DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</code> (index 1) represents system memory (resources allocated in <code>D3D12_HEAP_TYPE_UPLOAD</code>, <code>D3D12_HEAP_TYPE_READBACK</code>, or <code>D3D12_MEMORY_POOL_L0</code>).</li>
+<li>When <span class="tt">IsUMA() == FALSE</span> (discrete graphics card):<ul>
+<li><span class="tt">DXGI_MEMORY_SEGMENT_GROUP_LOCAL</span> (index 0) represents GPU memory (resources allocated in <span class="tt">D3D12_HEAP_TYPE_DEFAULT</span>, <span class="tt">D3D12_HEAP_TYPE_GPU_UPLOAD</span> or <span class="tt">D3D12_MEMORY_POOL_L1</span>).</li>
+<li><span class="tt">DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</span> (index 1) represents system memory (resources allocated in <span class="tt">D3D12_HEAP_TYPE_UPLOAD</span>, <span class="tt">D3D12_HEAP_TYPE_READBACK</span>, or <span class="tt">D3D12_MEMORY_POOL_L0</span>).</li>
</ul>
</li>
-<li>When <code>IsUMA() == TRUE</code> (integrated graphics chip):<ul>
-<li><code>DXGI_MEMORY_SEGMENT_GROUP_LOCAL</code> = (index 0) represents memory shared for all the resources.</li>
-<li><code>DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</code> = (index 1) is unused and always 0. </li>
+<li>When <span class="tt">IsUMA() == TRUE</span> (integrated graphics chip):<ul>
+<li><span class="tt">DXGI_MEMORY_SEGMENT_GROUP_LOCAL</span> = (index 0) represents memory shared for all the resources.</li>
+<li><span class="tt">DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</span> = (index 1) is unused and always 0. </li>
</ul>
</li>
</ul>
@@ -194,7 +178,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/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-members.html b/docs/html/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-members.html
index bad0230..518ddc4 100644
--- a/docs/html/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-members.html
+++ b/docs/html/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-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">VIRTUAL_ALLOCATION_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">VIRTUAL_ALLOCATION_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -101,7 +88,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/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 b/docs/html/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
index 35506ef..9b284fd 100644
--- a/docs/html/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
+++ b/docs/html/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
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::VIRTUAL_ALLOCATION_DESC Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">VIRTUAL_ALLOCATION_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">VIRTUAL_ALLOCATION_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -103,30 +90,26 @@
Inheritance diagram for D3D12MA::VIRTUAL_ALLOCATION_DESC:</div>
<div class="dyncontent">
<div class="center">
- <img src="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.png" usemap="#D3D12MA::VIRTUAL_5FALLOCATION_5FDESC_map" alt=""/>
- <map id="D3D12MA::VIRTUAL_5FALLOCATION_5FDESC_map" name="D3D12MA::VIRTUAL_5FALLOCATION_5FDESC_map">
+ <img src="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.png" usemap="#D3D12MA_3A_3AVIRTUAL_5FALLOCATION_5FDESC_map" alt=""/>
+ <map id="D3D12MA_3A_3AVIRTUAL_5FALLOCATION_5FDESC_map" name="D3D12MA_3A_3AVIRTUAL_5FALLOCATION_5FDESC_map">
<area href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___a_l_l_o_c_a_t_i_o_n___d_e_s_c.html" title="Helper structure that helps with complete and conscise initialization of the D3D12MA::VIRTUAL_ALLOCAT..." alt="D3D12MA::CVIRTUAL_ALLOCATION_DESC" shape="rect" coords="0,56,265,80"/>
</map>
</div></div>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ab848f8ad39b5bf8a7c8c077e113e7fc9" id="r_ab848f8ad39b5bf8a7c8c077e113e7fc9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#a7e4152ccaf661f5398b24a23cbe9ae72">VIRTUAL_ALLOCATION_FLAGS</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab848f8ad39b5bf8a7c8c077e113e7fc9">Flags</a></td></tr>
<tr class="memdesc:ab848f8ad39b5bf8a7c8c077e113e7fc9"><td class="mdescLeft"> </td><td class="mdescRight">Flags for the virtual allocation. <br /></td></tr>
-<tr class="separator:ab848f8ad39b5bf8a7c8c077e113e7fc9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a976b649e45abdd0769da0d79acde4bac" id="r_a976b649e45abdd0769da0d79acde4bac"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#a976b649e45abdd0769da0d79acde4bac">Size</a></td></tr>
<tr class="memdesc:a976b649e45abdd0769da0d79acde4bac"><td class="mdescLeft"> </td><td class="mdescRight">Size of the allocation. <br /></td></tr>
-<tr class="separator:a976b649e45abdd0769da0d79acde4bac"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aaa95e62f2f399339a09dcbb312a42de0" id="r_aaa95e62f2f399339a09dcbb312a42de0"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#aaa95e62f2f399339a09dcbb312a42de0">Alignment</a></td></tr>
<tr class="memdesc:aaa95e62f2f399339a09dcbb312a42de0"><td class="mdescLeft"> </td><td class="mdescRight">Required alignment of the allocation. <br /></td></tr>
-<tr class="separator:aaa95e62f2f399339a09dcbb312a42de0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa1281297154e3823e98a7cc7e23b5d6b" id="r_aa1281297154e3823e98a7cc7e23b5d6b"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa1281297154e3823e98a7cc7e23b5d6b">pPrivateData</a></td></tr>
<tr class="memdesc:aa1281297154e3823e98a7cc7e23b5d6b"><td class="mdescLeft"> </td><td class="mdescRight">Custom pointer to be associated with the allocation. <br /></td></tr>
-<tr class="separator:aa1281297154e3823e98a7cc7e23b5d6b"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Parameters of created virtual allocation to be passed to <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a9281daf76e888ea1bd5247d5732e8179" title="Creates new allocation.">VirtualBlock::Allocate()</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="aaa95e62f2f399339a09dcbb312a42de0" name="aaa95e62f2f399339a09dcbb312a42de0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa95e62f2f399339a09dcbb312a42de0">◆ </a></span>Alignment</h2>
@@ -200,7 +183,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/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-members.html b/docs/html/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-members.html
index 30bb269..26f3491 100644
--- a/docs/html/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-members.html
+++ b/docs/html/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-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">VIRTUAL_ALLOCATION_INFO</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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___i_n_f_o.html">VIRTUAL_ALLOCATION_INFO</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,7 +87,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/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 b/docs/html/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
index 8b597eb..61a862b 100644
--- a/docs/html/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
+++ b/docs/html/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
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::VIRTUAL_ALLOCATION_INFO Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">VIRTUAL_ALLOCATION_INFO</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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___i_n_f_o.html">VIRTUAL_ALLOCATION_INFO</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,21 +87,18 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aa125871ef3fcc8af81fc831cd386dc2e" id="r_aa125871ef3fcc8af81fc831cd386dc2e"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa125871ef3fcc8af81fc831cd386dc2e">Offset</a></td></tr>
<tr class="memdesc:aa125871ef3fcc8af81fc831cd386dc2e"><td class="mdescLeft"> </td><td class="mdescRight">Offset of the allocation. <br /></td></tr>
-<tr class="separator:aa125871ef3fcc8af81fc831cd386dc2e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac265159500190e35ebef8e4784c73a09" id="r_ac265159500190e35ebef8e4784c73a09"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac265159500190e35ebef8e4784c73a09">Size</a></td></tr>
<tr class="memdesc:ac265159500190e35ebef8e4784c73a09"><td class="mdescLeft"> </td><td class="mdescRight">Size of the allocation. <br /></td></tr>
-<tr class="separator:ac265159500190e35ebef8e4784c73a09"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a05c258ea40ea47667ddcc395b13a47a5" id="r_a05c258ea40ea47667ddcc395b13a47a5"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a05c258ea40ea47667ddcc395b13a47a5">pPrivateData</a></td></tr>
<tr class="memdesc:a05c258ea40ea47667ddcc395b13a47a5"><td class="mdescLeft"> </td><td class="mdescRight">Custom pointer associated with the allocation. <br /></td></tr>
-<tr class="separator:a05c258ea40ea47667ddcc395b13a47a5"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Parameters of an existing virtual allocation, returned by <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#ac605dce05ca0d411e46079f0bad765d1" title="Returns information about an allocation - its offset, size and custom pointer.">VirtualBlock::GetAllocationInfo()</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="aa125871ef3fcc8af81fc831cd386dc2e" name="aa125871ef3fcc8af81fc831cd386dc2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa125871ef3fcc8af81fc831cd386dc2e">◆ </a></span>Offset</h2>
@@ -171,7 +155,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c-members.html b/docs/html/struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c-members.html
index a0a0898..fdfa9ee 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">VIRTUAL_BLOCK_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">VIRTUAL_BLOCK_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,7 +87,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html b/docs/html/struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html
index d1bdd87..0d23d65 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::VIRTUAL_BLOCK_DESC Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">VIRTUAL_BLOCK_DESC</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><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">VIRTUAL_BLOCK_DESC</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -103,27 +90,24 @@
Inheritance diagram for D3D12MA::VIRTUAL_BLOCK_DESC:</div>
<div class="dyncontent">
<div class="center">
- <img src="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.png" usemap="#D3D12MA::VIRTUAL_5FBLOCK_5FDESC_map" alt=""/>
- <map id="D3D12MA::VIRTUAL_5FBLOCK_5FDESC_map" name="D3D12MA::VIRTUAL_5FBLOCK_5FDESC_map">
+ <img src="struct_d3_d12_m_a_1_1_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.png" usemap="#D3D12MA_3A_3AVIRTUAL_5FBLOCK_5FDESC_map" alt=""/>
+ <map id="D3D12MA_3A_3AVIRTUAL_5FBLOCK_5FDESC_map" name="D3D12MA_3A_3AVIRTUAL_5FBLOCK_5FDESC_map">
<area href="struct_d3_d12_m_a_1_1_c_v_i_r_t_u_a_l___b_l_o_c_k___d_e_s_c.html" title="Helper structure that helps with complete and conscise initialization of the D3D12MA::VIRTUAL_BLOCK_D..." alt="D3D12MA::CVIRTUAL_BLOCK_DESC" shape="rect" coords="0,56,227,80"/>
</map>
</div></div>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a1c887a732b4db0c68a07902462e0732b" id="r_a1c887a732b4db0c68a07902462e0732b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085d">VIRTUAL_BLOCK_FLAGS</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1c887a732b4db0c68a07902462e0732b">Flags</a></td></tr>
<tr class="memdesc:a1c887a732b4db0c68a07902462e0732b"><td class="mdescLeft"> </td><td class="mdescRight">Flags. <br /></td></tr>
-<tr class="separator:a1c887a732b4db0c68a07902462e0732b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac56491679f276a5a9956ed99bc4654e4" id="r_ac56491679f276a5a9956ed99bc4654e4"><td class="memItemLeft" align="right" valign="top">UINT64 </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac56491679f276a5a9956ed99bc4654e4">Size</a></td></tr>
<tr class="memdesc:ac56491679f276a5a9956ed99bc4654e4"><td class="mdescLeft"> </td><td class="mdescRight">Total size of the block. <br /></td></tr>
-<tr class="separator:ac56491679f276a5a9956ed99bc4654e4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa8ea08ad0ee64cb2d29c03b85008317f" id="r_aa8ea08ad0ee64cb2d29c03b85008317f"><td class="memItemLeft" align="right" valign="top">const <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">ALLOCATION_CALLBACKS</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8ea08ad0ee64cb2d29c03b85008317f">pAllocationCallbacks</a></td></tr>
<tr class="memdesc:aa8ea08ad0ee64cb2d29c03b85008317f"><td class="mdescLeft"> </td><td class="mdescRight">Custom CPU memory allocation callbacks. Optional. <br /></td></tr>
-<tr class="separator:aa8ea08ad0ee64cb2d29c03b85008317f"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>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#ab024647ae85ee63e2fa2c1c4beac6d98" title="Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.">CreateVirtualBlock()</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a1c887a732b4db0c68a07902462e0732b" name="a1c887a732b4db0c68a07902462e0732b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c887a732b4db0c68a07902462e0732b">◆ </a></span>Flags</h2>
@@ -180,7 +164,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_virtual_allocation-members.html b/docs/html/struct_d3_d12_m_a_1_1_virtual_allocation-members.html
index 2610ac3..a219f48 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_virtual_allocation-members.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_virtual_allocation-members.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Member List</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html">VirtualAllocation</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_virtual_allocation.html">VirtualAllocation</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -98,7 +85,7 @@
</table></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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/struct_d3_d12_m_a_1_1_virtual_allocation.html b/docs/html/struct_d3_d12_m_a_1_1_virtual_allocation.html
index f075e13..893aa1a 100644
--- a/docs/html/struct_d3_d12_m_a_1_1_virtual_allocation.html
+++ b/docs/html/struct_d3_d12_m_a_1_1_virtual_allocation.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: D3D12MA::VirtualAllocation Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,7 +70,7 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html">VirtualAllocation</a></li> </ul>
+<li class="navelem"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a href="struct_d3_d12_m_a_1_1_virtual_allocation.html">VirtualAllocation</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
@@ -100,15 +87,14 @@
<p><code>#include <D3D12MemAlloc.h></code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a5d3166cf1f284fbbea4d0b169c4dba13" id="r_a5d3166cf1f284fbbea4d0b169c4dba13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_d3_d12_m_a.html#a15e349adce86a40e0417d405aef1af80">AllocHandle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5d3166cf1f284fbbea4d0b169c4dba13">AllocHandle</a></td></tr>
<tr class="memdesc:a5d3166cf1f284fbbea4d0b169c4dba13"><td class="mdescLeft"> </td><td class="mdescRight">Unique idenitfier of current allocation. 0 means null/invalid. <br /></td></tr>
-<tr class="separator:a5d3166cf1f284fbbea4d0b169c4dba13"><td class="memSeparator" colspan="2"> </td></tr>
</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Represents single memory allocation done inside <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,...">VirtualBlock</a>. </p>
-</div><h2 class="groupheader">Member Data Documentation</h2>
+</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a5d3166cf1f284fbbea4d0b169c4dba13" name="a5d3166cf1f284fbbea4d0b169c4dba13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d3166cf1f284fbbea4d0b169c4dba13">◆ </a></span>AllocHandle</h2>
@@ -131,7 +117,7 @@
</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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/docs/html/tabs.css b/docs/html/tabs.css
index 7fa4268..84f33ae 100644
--- a/docs/html/tabs.css
+++ b/docs/html/tabs.css
@@ -1 +1 @@
-.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}}
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-color:var(--nav-menu-background-color)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;line-height:36px;text-decoration:none;color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-color:var(--nav-menu-background-color);line-height:36px}.sm-dox a span.sub-arrow{top:15px;right:10px;box-sizing:content-box;padding:0;margin:0;display:inline-block;width:5px;height:5px;background-color:var(--nav-menu-background-color);border-right:2px solid var(--nav-arrow-color);border-bottom:2px solid var(--nav-arrow-color);transform:rotate(45deg);-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 6px}.sm-dox a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px !important}.sm-dox a:hover span.sub-arrow{background-color:var(--nav-menu-active-bg);border-right:2px solid var(--nav-arrow-selected-color);border-bottom:2px solid var(--nav-arrow-selected-color)}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0;padding:3px}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{transform:rotate(-45deg)}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:6px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:6px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}}
diff --git a/docs/html/virtual_allocator.html b/docs/html/virtual_allocator.html
index 52b7874..43cc74b 100644
--- a/docs/html/virtual_allocator.html
+++ b/docs/html/virtual_allocator.html
@@ -3,15 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.13.2"/>
+<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>D3D12 Memory Allocator: Virtual allocator</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>
<script type="text/javascript" src="clipboard.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -33,33 +31,22 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.13.2 -->
+<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
-/* @license-end */
</script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function() { codefold.init(0); });
-/* @license-end */
+$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
-/* @license-end */
</script>
<div id="main-nav"></div>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
-$(function(){ initResizable(false); });
-/* @license-end */
-</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -83,16 +70,16 @@
<div id="nav-path" class="navpath">
<ul>
-<li class="navelem"><a class="el" href="index.html">D3D12 Memory Allocator</a></li><li class="navelem"><a class="el" href="optimal_allocation.html">Optimal resource allocation</a></li> </ul>
+<li class="navelem"><a href="index.html">D3D12 Memory Allocator</a></li><li class="navelem"><a href="optimal_allocation.html">Optimal resource allocation</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div><div class="header">
- <div class="headertitle"><div class="title">Virtual allocator</div></div>
+ <div class="headertitle"><div class="title">Virtual allocator </div></div>
</div><!--header-->
<div class="contents">
-<div class="textblock"><p>As an extra feature, the core allocation algorithm of the library is exposed through a simple and convenient API of "virtual allocator". It doesn't allocate any real GPU memory. It just keeps track of used and free regions of a "virtual block". You can use it to allocate your own memory or other objects, even completely unrelated to D3D12. A common use case is sub-allocation of pieces of one large GPU buffer. Another suggested use case is allocating descriptors in a <code>ID3D12DescriptorHeap</code>.</p>
-<h1><a class="anchor" id="virtual_allocator_creating_virtual_block"></a>
+<div class="textblock"><p>As an extra feature, the core allocation algorithm of the library is exposed through a simple and convenient API of "virtual allocator". It doesn't allocate any real GPU memory. It just keeps track of used and free regions of a "virtual block". You can use it to allocate your own memory or other objects, even completely unrelated to D3D12. A common use case is sub-allocation of pieces of one large GPU buffer. Another suggested use case is allocating descriptors in a <span class="tt">ID3D12DescriptorHeap</span>.</p>
+<h1 class="doxsection"><a class="anchor" id="virtual_allocator_creating_virtual_block"></a>
Creating virtual block</h1>
<p>To use this functionality, there is no main "allocator" object. You don't need to have <a class="el" href="class_d3_d12_m_a_1_1_allocator.html" title="Represents main object of this library initialized for particular ID3D12Device.">D3D12MA::Allocator</a> object created. All you need to do is to create a separate <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 for each block of memory you want to be managed by the allocator:</p>
<ol type="1">
@@ -108,7 +95,7 @@
<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:1577</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:1483</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:1491</div></div>
-</div><!-- fragment --><h1><a class="anchor" id="virtual_allocator_making_virtual_allocations"></a>
+</div><!-- fragment --><h1 class="doxsection"><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. A single allocation is identified by a lightweight structure <a class="el" href="struct_d3_d12_m_a_1_1_virtual_allocation.html" title="Represents single memory allocation done inside VirtualBlock.">D3D12MA::VirtualAllocation</a>. You will also likely want to know the offset at which the allocation was made in the block.</p>
<p>In order to make an allocation:</p>
@@ -135,17 +122,17 @@
<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:1528</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:1535</div></div>
<div class="ttc" id="astruct_d3_d12_m_a_1_1_virtual_allocation_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_virtual_allocation.html">D3D12MA::VirtualAllocation</a></div><div class="ttdoc">Represents single memory allocation done inside VirtualBlock.</div><div class="ttdef"><b>Definition</b> D3D12MemAlloc.h:503</div></div>
-</div><!-- fragment --><h1><a class="anchor" id="virtual_allocator_deallocation"></a>
+</div><!-- fragment --><h1 class="doxsection"><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#aab44e46bd122054c894fc84740f1e8fb" title="Frees the allocation.">D3D12MA::VirtualBlock::FreeAllocation</a>.</p>
-<p>When whole block is no longer needed, the block object can be released by calling <code>block->Release()</code>. 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.</p>
+<p>When whole block is no longer needed, the block object can be released by calling <span class="tt">block->Release()</span>. 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 <span class="tt">block->FreeAllocation</span> 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.</p>
<p>Example:</p>
<div class="fragment"><div class="line">block-><a class="code hl_function" href="class_d3_d12_m_a_1_1_virtual_block.html#aab44e46bd122054c894fc84740f1e8fb">FreeAllocation</a>(alloc);</div>
<div class="line">block->Release();</div>
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_aab44e46bd122054c894fc84740f1e8fb"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#aab44e46bd122054c894fc84740f1e8fb">D3D12MA::VirtualBlock::FreeAllocation</a></div><div class="ttdeci">void FreeAllocation(VirtualAllocation allocation)</div><div class="ttdoc">Frees the allocation.</div></div>
-</div><!-- fragment --><h1><a class="anchor" id="virtual_allocator_allocation_parameters"></a>
+</div><!-- fragment --><h1 class="doxsection"><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#ab96e34500b75a83a09d73b4585669114" title="Changes custom pointer for an allocation to a new value.">D3D12MA::VirtualBlock::SetAllocationPrivateData</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>
+<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#ab96e34500b75a83a09d73b4585669114" title="Changes custom pointer for an allocation to a new value.">D3D12MA::VirtualBlock::SetAllocationPrivateData</a>. Its default value is <span class="tt">NULL</span>. 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>
<div class="fragment"><div class="line"><span class="keyword">struct </span>CustomAllocData</div>
<div class="line">{</div>
<div class="line"> std::string m_AllocName;</div>
@@ -161,7 +148,7 @@
<div class="line"> </div>
<div class="line">block-><a class="code hl_function" href="class_d3_d12_m_a_1_1_virtual_block.html#aab44e46bd122054c894fc84740f1e8fb">FreeAllocation</a>(alloc);</div>
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_ac605dce05ca0d411e46079f0bad765d1"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#ac605dce05ca0d411e46079f0bad765d1">D3D12MA::VirtualBlock::GetAllocationInfo</a></div><div class="ttdeci">void GetAllocationInfo(VirtualAllocation allocation, VIRTUAL_ALLOCATION_INFO *pInfo) const</div><div class="ttdoc">Returns information about an allocation - its offset, size and custom pointer.</div></div>
-</div><!-- fragment --><h1><a class="anchor" id="virtual_allocator_alignment_and_units"></a>
+</div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="virtual_allocator_alignment_and_units"></a>
Alignment and units</h1>
<p>It feels natural to express sizes and offsets in bytes. If an offset of an allocation needs to be aligned to a multiply of some number (e.g. 4 bytes), you can fill optional member <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#aaa95e62f2f399339a09dcbb312a42de0" title="Required alignment of the allocation.">D3D12MA::VIRTUAL_ALLOCATION_DESC::Alignment</a> to request it. Example:</p>
<div class="fragment"><div class="line"><a class="code hl_struct" 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> allocDesc = {};</div>
@@ -172,13 +159,13 @@
<div class="line">UINT64 allocOffset;</div>
<div class="line">hr = block-><a class="code hl_function" href="class_d3_d12_m_a_1_1_virtual_block.html#a9281daf76e888ea1bd5247d5732e8179">Allocate</a>(&allocDesc, &alloc, &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:1540</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>
+</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 <span class="tt">sizeof(MyDataStruct)</span>, 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>
<li><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#a976b649e45abdd0769da0d79acde4bac" title="Size of the allocation.">D3D12MA::VIRTUAL_ALLOCATION_DESC::Size</a> and <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#aaa95e62f2f399339a09dcbb312a42de0" title="Required alignment of the allocation.">D3D12MA::VIRTUAL_ALLOCATION_DESC::Alignment</a></li>
<li>Using offset returned by <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a9281daf76e888ea1bd5247d5732e8179" title="Creates new allocation.">D3D12MA::VirtualBlock::Allocate</a> and <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#aa125871ef3fcc8af81fc831cd386dc2e" title="Offset of the allocation.">D3D12MA::VIRTUAL_ALLOCATION_INFO::Offset</a></li>
</ul>
-<h1><a class="anchor" id="virtual_allocator_statistics"></a>
+<h1 class="doxsection"><a class="anchor" id="virtual_allocator_statistics"></a>
Statistics</h1>
<p>You can obtain brief statistics of a virtual block using <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a0f1dda0e019e218b021f64987a74b110" title="Retrieves basic statistics of the virtual block that are fast to calculate.">D3D12MA::VirtualBlock::GetStatistics()</a>. The function fills structure <a class="el" href="struct_d3_d12_m_a_1_1_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory heap type, memory segment group,...">D3D12MA::Statistics</a> - same as used by the normal D3D12 memory allocator. Example:</p>
<div class="fragment"><div class="line"><a class="code hl_struct" href="struct_d3_d12_m_a_1_1_statistics.html">D3D12MA::Statistics</a> stats;</div>
@@ -191,7 +178,7 @@
<div class="ttc" id="astruct_d3_d12_m_a_1_1_statistics_html_aef88ac53531db43a8888ad2be4a06c68"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_statistics.html#aef88ac53531db43a8888ad2be4a06c68">D3D12MA::Statistics::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:389</div></div>
</div><!-- fragment --><p>More detailed statistics can be obtained using function <a class="el" href="class_d3_d12_m_a_1_1_virtual_block.html#a614a82247ce6cf29c38895e16eb971d9" title="Retrieves detailed statistics of the virtual block that are slower to calculate.">D3D12MA::VirtualBlock::CalculateStatistics()</a>, but they are slower to calculate.</p>
<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>
+<h1 class="doxsection"><a class="anchor" id="virtual_allocator_additional_considerations"></a>
Additional considerations</h1>
<p>Alternative, linear algorithm can be used with virtual allocator - see flag <a class="el" href="namespace_d3_d12_m_a.html#a578329923a103be086ac52e3bed2085dabd9968af113acc9a756254ab9f1dc13d" title="Enables alternative, linear allocation algorithm in this virtual block.">D3D12MA::VIRTUAL_BLOCK_FLAG_ALGORITHM_LINEAR</a> and documentation: <a class="el" href="linear_algorithm.html">Linear allocation algorithm</a>.</p>
<p>Note that the "virtual allocator" functionality is implemented on a level of individual memory blocks. Keeping track of a whole collection of blocks, allocating new ones when out of free space, deleting empty ones, and deciding which one to try first for a new allocation must be implemented by the user. </p>
@@ -199,7 +186,7 @@
</div><!-- PageDoc -->
<!-- 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.13.2
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0
</small></address>
</div><!-- doc-content -->
</body>
diff --git a/include/D3D12MemAlloc.h b/include/D3D12MemAlloc.h
index bde66a4..d3a258a 100644
--- a/include/D3D12MemAlloc.h
+++ b/include/D3D12MemAlloc.h
@@ -24,7 +24,7 @@
/** \mainpage D3D12 Memory Allocator
-<b>Version 3.0.1</b> (2025-05-08)
+<b>Version 3.0.2</b> (2025-XX-XX)
Copyright (c) 2019-2025 Advanced Micro Devices, Inc. All rights reserved. \n
License: MIT
@@ -64,7 +64,7 @@
\section main_see_also Web links
-- [Direct3D 12 Memory Allocator at GPUOpen.com](https://gpuopen.com/gaming-product/d3d12-memory-allocator/) - product page
+- [Direct3D 12 Memory Allocator at GPUOpen.com](https://gpuopen.com/d3d12-memory-allocator/) - product page
- [GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator at GitHub.com](https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator) - source code repository
*/
diff --git a/src/D3D12MemAlloc.cpp b/src/D3D12MemAlloc.cpp
index fa53586..e637874 100644
--- a/src/D3D12MemAlloc.cpp
+++ b/src/D3D12MemAlloc.cpp
@@ -7793,7 +7793,9 @@
#if D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT
if (inOutResourceDesc.Alignment == 0 &&
- inOutResourceDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE2D &&
+ (inOutResourceDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE1D ||
+ inOutResourceDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE2D ||
+ inOutResourceDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE3D) &&
(inOutResourceDesc.Flags & (D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET | D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL)) == 0
#if D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT == 1
&& CanUseSmallAlignment(inOutResourceDesc)
diff --git a/src/Tests.cpp b/src/Tests.cpp
index 27a9408..152b23a 100644
--- a/src/Tests.cpp
+++ b/src/Tests.cpp
@@ -481,32 +481,27 @@
// Select different heaps
for (UINT8 heapType = 0; heapType < 5; ++heapType)
{
- D3D12_RESOURCE_STATES state;
+ D3D12_RESOURCE_STATES state = D3D12_RESOURCE_STATE_COMMON;
D3D12_CPU_PAGE_PROPERTY cpuPageType = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
D3D12_MEMORY_POOL memoryPool = D3D12_MEMORY_POOL_UNKNOWN;
switch (heapType)
{
case 0:
allocDesc.HeapType = D3D12_HEAP_TYPE_DEFAULT;
- state = D3D12_RESOURCE_STATE_COMMON;
break;
case 1:
allocDesc.HeapType = D3D12_HEAP_TYPE_UPLOAD;
- state = D3D12_RESOURCE_STATE_GENERIC_READ;
break;
case 2:
allocDesc.HeapType = D3D12_HEAP_TYPE_READBACK;
- state = D3D12_RESOURCE_STATE_COPY_DEST;
break;
case 3:
allocDesc.HeapType = D3D12_HEAP_TYPE_CUSTOM;
- state = D3D12_RESOURCE_STATE_COMMON;
cpuPageType = D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE;
memoryPool = ctx.allocator->IsUMA() ? D3D12_MEMORY_POOL_L0 : D3D12_MEMORY_POOL_L1;
break;
case 4:
allocDesc.HeapType = D3D12_HEAP_TYPE_CUSTOM;
- state = D3D12_RESOURCE_STATE_GENERIC_READ;
cpuPageType = D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE;
memoryPool = D3D12_MEMORY_POOL_L0;
break;
@@ -676,7 +671,7 @@
CHECK_HR( ctx.allocator->CreateResource(
&allocDesc,
&resourceDesc,
- D3D12_RESOURCE_STATE_COPY_DEST,
+ D3D12_RESOURCE_STATE_COMMON,
NULL,
&resources[i].allocation,
__uuidof(ID3D12Resource),
@@ -1187,7 +1182,7 @@
// Default parameters
allocDesc.Flags = D3D12MA::ALLOCATION_FLAG_NONE;
- hr = ctx.allocator->CreateResource(&allocDesc, &resDesc, D3D12_RESOURCE_STATE_COPY_DEST, nullptr, &alloc, IID_NULL, nullptr);
+ hr = ctx.allocator->CreateResource(&allocDesc, &resDesc, D3D12_RESOURCE_STATE_COMMON, nullptr, &alloc, IID_NULL, nullptr);
CHECK_BOOL(SUCCEEDED(hr) && alloc && alloc->GetResource());
ID3D12Heap* const defaultAllocHeap = alloc->GetHeap();
const UINT64 defaultAllocOffset = alloc->GetOffset();
@@ -1198,7 +1193,7 @@
if(poolTypeI != 2)
{
allocDesc.Flags = D3D12MA::ALLOCATION_FLAG_COMMITTED;
- hr = ctx.allocator->CreateResource(&allocDesc, &resDesc, D3D12_RESOURCE_STATE_COPY_DEST, nullptr, &alloc, IID_NULL, nullptr);
+ hr = ctx.allocator->CreateResource(&allocDesc, &resDesc, D3D12_RESOURCE_STATE_COMMON, nullptr, &alloc, IID_NULL, nullptr);
CHECK_BOOL(SUCCEEDED(hr) && alloc && alloc->GetResource());
CHECK_BOOL(alloc->GetOffset() == 0); // Committed
CHECK_BOOL(alloc->GetHeap() == nullptr); // Committed
@@ -1208,7 +1203,7 @@
// NEVER_ALLOCATE #1
allocDesc.Flags = D3D12MA::ALLOCATION_FLAG_NEVER_ALLOCATE;
- hr = ctx.allocator->CreateResource(&allocDesc, &resDesc, D3D12_RESOURCE_STATE_COPY_DEST, nullptr, &alloc, IID_NULL, nullptr);
+ hr = ctx.allocator->CreateResource(&allocDesc, &resDesc, D3D12_RESOURCE_STATE_COMMON, nullptr, &alloc, IID_NULL, nullptr);
CHECK_BOOL(SUCCEEDED(hr) && alloc && alloc->GetResource());
CHECK_BOOL(alloc->GetHeap() == defaultAllocHeap); // Same memory block as default one.
CHECK_BOOL(alloc->GetOffset() != defaultAllocOffset);
@@ -1217,7 +1212,7 @@
// NEVER_ALLOCATE #2. Should fail in pool2 as it has no space.
allocDesc.Flags = D3D12MA::ALLOCATION_FLAG_NEVER_ALLOCATE;
- hr = ctx.allocator->CreateResource(&allocDesc, &resDesc, D3D12_RESOURCE_STATE_COPY_DEST, nullptr, &alloc, IID_NULL, nullptr);
+ hr = ctx.allocator->CreateResource(&allocDesc, &resDesc, D3D12_RESOURCE_STATE_COMMON, nullptr, &alloc, IID_NULL, nullptr);
if(poolTypeI == 2)
CHECK_BOOL(FAILED(hr));
else
@@ -2075,7 +2070,7 @@
CHECK_HR( ctx.allocator->CreateResource(
&allocDescUpload,
&resourceDesc,
- D3D12_RESOURCE_STATE_GENERIC_READ,
+ D3D12_RESOURCE_STATE_COMMON,
NULL,
&resourcesUpload[i].allocation,
IID_PPV_ARGS(&resourcesUpload[i].resource)) );
@@ -2083,7 +2078,7 @@
CHECK_HR( ctx.allocator->CreateResource(
&allocDescDefault,
&resourceDesc,
- D3D12_RESOURCE_STATE_COPY_DEST,
+ D3D12_RESOURCE_STATE_COMMON,
NULL,
&resourcesDefault[i].allocation,
IID_PPV_ARGS(&resourcesDefault[i].resource)) );
@@ -2091,7 +2086,7 @@
CHECK_HR( ctx.allocator->CreateResource(
&allocDescReadback,
&resourceDesc,
- D3D12_RESOURCE_STATE_COPY_DEST,
+ D3D12_RESOURCE_STATE_COMMON,
NULL,
&resourcesReadback[i].allocation,
IID_PPV_ARGS(&resourcesReadback[i].resource)) );