Skip to content

Commit 75da594

Browse files
authored
Merge pull request #92 from sawickiap/master
New updated to D3D12 Memory Allocator
2 parents 96e58ad + c1e392a commit 75da594

94 files changed

Lines changed: 4925 additions & 1218 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# 3.2.0 (2026-??-??)
2+
3+
- Added `POOL_FLAG_DONT_USE_TIGHT_ALIGNMENT` (#91).
4+
- Further improvements in the algorithm deciding when to use small alignment or tight alignment, including added support for `D3D12_FEATURE_DATA_D3D12_OPTIONS4::MSAA64KBAlignedTextureSupported`.
5+
16
# 3.1.0 (2026-02-23)
27

38
- Added support for resource tight alignment (feature added in Agility SDK 1.618.1). It is used automatically when available.

docs/html/_d3_d12_mem_alloc_8h.html

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,21 @@
33
<head>
44
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
55
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
6-
<meta name="generator" content="Doxygen 1.16.1"/>
6+
<meta name="generator" content="Doxygen 1.17.0"/>
77
<meta name="viewport" content="width=device-width, initial-scale=1"/>
88
<title>D3D12 Memory Allocator: C:/Code/D3D12MemoryAllocator/REPO/include/D3D12MemAlloc.h File Reference</title>
99
<link href="tabs.css" rel="stylesheet" type="text/css"/>
10-
<script type="text/javascript" src="jquery.js"></script>
11-
<script type="text/javascript" src="dynsections.js"></script>
10+
<script type="text/javascript" src="codefolding.js"></script>
1211
<script type="text/javascript" src="clipboard.js"></script>
1312
<script type="text/javascript" src="cookie.js"></script>
1413
<link href="search/search.css" rel="stylesheet" type="text/css"/>
1514
<script type="text/javascript" src="search/searchdata.js"></script>
1615
<script type="text/javascript" src="search/search.js"></script>
16+
<script type="module">
17+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
18+
const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'default';
19+
mermaid.initialize({ startOnLoad: true, theme: theme });
20+
</script>
1721
<link href="doxygen.css" rel="stylesheet" type="text/css" />
1822
</head>
1923
<body>
@@ -31,22 +35,45 @@
3135
</table>
3236
</div>
3337
<!-- end header part -->
34-
<!-- Generated by Doxygen 1.16.1 -->
38+
<!-- Generated by Doxygen 1.17.0 -->
3539
<script type="text/javascript">
36-
var searchBox = new SearchBox("searchBox", "search/",'.html');
40+
let searchBox = new SearchBox("searchBox", "search/",'.html');
3741
</script>
3842
<script type="text/javascript">
39-
$(function() { codefold.init(); });
43+
document.addEventListener('DOMContentLoaded', codefold.init);
4044
</script>
4145
<script type="text/javascript" src="menudata.js"></script>
4246
<script type="text/javascript" src="menu.js"></script>
4347
<script type="text/javascript">
44-
$(function() {
45-
initMenu('',true,false,'search.php','Search',false);
46-
$(function() { init_search(); });
48+
document.addEventListener('DOMContentLoaded', () => {
49+
initMenu('',false);
50+
init_search();
4751
});
4852
</script>
49-
<div id="main-nav"></div>
53+
<div id="main-nav-mobile">
54+
<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
55+
<label class="main-menu-btn" for="main-menu-state">
56+
<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
57+
<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>
58+
</div>
59+
</div><!-- main-nav-mobile -->
60+
<div id="main-nav">
61+
<ul class="sm sm-dox" id="main-menu">
62+
<li id="searchBoxPos2" style="float:right">
63+
<div id="MSearchBox" class="MSearchBoxInactive">
64+
<span class="left">
65+
<span id="MSearchSelect" class="search-icon" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"><span class="search-icon-dropdown"></span></span>
66+
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
67+
onfocus="searchBox.OnSearchFieldFocus(true)"
68+
onblur="searchBox.OnSearchFieldFocus(false)"
69+
onkeyup="searchBox.OnSearchFieldChange(event)"/>
70+
</span><span class="right">
71+
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
72+
</span>
73+
</div>
74+
</li>
75+
</ul>
76+
</div><!-- main-nav -->
5077
<!-- window showing the filter options -->
5178
<div id="MSearchSelectWindow"
5279
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -206,7 +233,8 @@
206233
, <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1acc379a89755438c0f76667783b778baa">D3D12MA::POOL_FLAG_MSAA_TEXTURES_ALWAYS_COMMITTED</a> = 0x2
207234
, <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1a15b7a6f8bfb6e4d534143f8adb6ac7ba">D3D12MA::POOL_FLAG_ALWAYS_COMMITTED</a> = 0x4
208235
, <br />
209-
&#160;&#160;<a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1aec9d4939b8cc5438545b9df840b5f5f7">D3D12MA::POOL_FLAG_ALGORITHM_MASK</a> = POOL_FLAG_ALGORITHM_LINEAR
236+
&#160;&#160;<a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1a699b1937106235ed0a6e81a39ce0d50f">D3D12MA::POOL_FLAG_DONT_USE_TIGHT_ALIGNMENT</a> = 0x8
237+
, <a class="el" href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1aec9d4939b8cc5438545b9df840b5f5f7">D3D12MA::POOL_FLAG_ALGORITHM_MASK</a> = POOL_FLAG_ALGORITHM_LINEAR
210238
<br />
211239
}</td></tr>
212240
<tr class="memdesc:a919d8545365d6b7209a964f2b99936d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit flags to be used with <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.">POOL_DESC::Flags</a>. <a href="namespace_d3_d12_m_a.html#a919d8545365d6b7209a964f2b99936d1">More...</a><br /></td></tr>
@@ -351,7 +379,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#ad04069a2e2bbc53b7d65f85a
351379
</div><!-- contents -->
352380
<!-- start footer part -->
353381
<hr class="footer"/><address class="footer"><small>
354-
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
382+
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.17.0
355383
</small></address>
356384
</div><!-- doc-content -->
357385
</body>

docs/html/annotated.html

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,21 @@
33
<head>
44
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
55
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
6-
<meta name="generator" content="Doxygen 1.16.1"/>
6+
<meta name="generator" content="Doxygen 1.17.0"/>
77
<meta name="viewport" content="width=device-width, initial-scale=1"/>
88
<title>D3D12 Memory Allocator: Class List</title>
99
<link href="tabs.css" rel="stylesheet" type="text/css"/>
10-
<script type="text/javascript" src="jquery.js"></script>
11-
<script type="text/javascript" src="dynsections.js"></script>
10+
<script type="text/javascript" src="codefolding.js"></script>
1211
<script type="text/javascript" src="clipboard.js"></script>
1312
<script type="text/javascript" src="cookie.js"></script>
1413
<link href="search/search.css" rel="stylesheet" type="text/css"/>
1514
<script type="text/javascript" src="search/searchdata.js"></script>
1615
<script type="text/javascript" src="search/search.js"></script>
16+
<script type="module">
17+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
18+
const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'default';
19+
mermaid.initialize({ startOnLoad: true, theme: theme });
20+
</script>
1721
<link href="doxygen.css" rel="stylesheet" type="text/css" />
1822
</head>
1923
<body>
@@ -31,22 +35,45 @@
3135
</table>
3236
</div>
3337
<!-- end header part -->
34-
<!-- Generated by Doxygen 1.16.1 -->
38+
<!-- Generated by Doxygen 1.17.0 -->
3539
<script type="text/javascript">
36-
var searchBox = new SearchBox("searchBox", "search/",'.html');
40+
let searchBox = new SearchBox("searchBox", "search/",'.html');
3741
</script>
3842
<script type="text/javascript">
39-
$(function() { codefold.init(); });
43+
document.addEventListener('DOMContentLoaded', codefold.init);
4044
</script>
4145
<script type="text/javascript" src="menudata.js"></script>
4246
<script type="text/javascript" src="menu.js"></script>
4347
<script type="text/javascript">
44-
$(function() {
45-
initMenu('',true,false,'search.php','Search',false);
46-
$(function() { init_search(); });
48+
document.addEventListener('DOMContentLoaded', () => {
49+
initMenu('',false);
50+
init_search();
4751
});
4852
</script>
49-
<div id="main-nav"></div>
53+
<div id="main-nav-mobile">
54+
<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
55+
<label class="main-menu-btn" for="main-menu-state">
56+
<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
57+
<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>
58+
</div>
59+
</div><!-- main-nav-mobile -->
60+
<div id="main-nav">
61+
<ul class="sm sm-dox" id="main-menu">
62+
<li id="searchBoxPos2" style="float:right">
63+
<div id="MSearchBox" class="MSearchBoxInactive">
64+
<span class="left">
65+
<span id="MSearchSelect" class="search-icon" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"><span class="search-icon-dropdown"></span></span>
66+
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
67+
onfocus="searchBox.OnSearchFieldFocus(true)"
68+
onblur="searchBox.OnSearchFieldFocus(false)"
69+
onkeyup="searchBox.OnSearchFieldChange(event)"/>
70+
</span><span class="right">
71+
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
72+
</span>
73+
</div>
74+
</li>
75+
</ul>
76+
</div><!-- main-nav -->
5077
</div><!-- top -->
5178
<div id="doc-content">
5279
<!-- window showing the filter options -->
@@ -75,8 +102,8 @@
75102
</div><!--header-->
76103
<div class="contents">
77104
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
78-
<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">
79-
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</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>
105+
<table class="directory">
106+
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</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>
80107
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</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>
81108
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</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>
82109
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</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">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>
@@ -107,7 +134,7 @@
107134
</div><!-- contents -->
108135
<!-- start footer part -->
109136
<hr class="footer"/><address class="footer"><small>
110-
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
137+
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.17.0
111138
</small></address>
112139
</div><!-- doc-content -->
113140
</body>

docs/html/class_d3_d12_m_a_1_1_allocation-members.html

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,21 @@
33
<head>
44
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
55
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
6-
<meta name="generator" content="Doxygen 1.16.1"/>
6+
<meta name="generator" content="Doxygen 1.17.0"/>
77
<meta name="viewport" content="width=device-width, initial-scale=1"/>
88
<title>D3D12 Memory Allocator: Member List</title>
99
<link href="tabs.css" rel="stylesheet" type="text/css"/>
10-
<script type="text/javascript" src="jquery.js"></script>
11-
<script type="text/javascript" src="dynsections.js"></script>
10+
<script type="text/javascript" src="codefolding.js"></script>
1211
<script type="text/javascript" src="clipboard.js"></script>
1312
<script type="text/javascript" src="cookie.js"></script>
1413
<link href="search/search.css" rel="stylesheet" type="text/css"/>
1514
<script type="text/javascript" src="search/searchdata.js"></script>
1615
<script type="text/javascript" src="search/search.js"></script>
16+
<script type="module">
17+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
18+
const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'default';
19+
mermaid.initialize({ startOnLoad: true, theme: theme });
20+
</script>
1721
<link href="doxygen.css" rel="stylesheet" type="text/css" />
1822
</head>
1923
<body>
@@ -31,22 +35,45 @@
3135
</table>
3236
</div>
3337
<!-- end header part -->
34-
<!-- Generated by Doxygen 1.16.1 -->
38+
<!-- Generated by Doxygen 1.17.0 -->
3539
<script type="text/javascript">
36-
var searchBox = new SearchBox("searchBox", "search/",'.html');
40+
let searchBox = new SearchBox("searchBox", "search/",'.html');
3741
</script>
3842
<script type="text/javascript">
39-
$(function() { codefold.init(); });
43+
document.addEventListener('DOMContentLoaded', codefold.init);
4044
</script>
4145
<script type="text/javascript" src="menudata.js"></script>
4246
<script type="text/javascript" src="menu.js"></script>
4347
<script type="text/javascript">
44-
$(function() {
45-
initMenu('',true,false,'search.php','Search',false);
46-
$(function() { init_search(); });
48+
document.addEventListener('DOMContentLoaded', () => {
49+
initMenu('',false);
50+
init_search();
4751
});
4852
</script>
49-
<div id="main-nav"></div>
53+
<div id="main-nav-mobile">
54+
<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
55+
<label class="main-menu-btn" for="main-menu-state">
56+
<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
57+
<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>
58+
</div>
59+
</div><!-- main-nav-mobile -->
60+
<div id="main-nav">
61+
<ul class="sm sm-dox" id="main-menu">
62+
<li id="searchBoxPos2" style="float:right">
63+
<div id="MSearchBox" class="MSearchBoxInactive">
64+
<span class="left">
65+
<span id="MSearchSelect" class="search-icon" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"><span class="search-icon-dropdown"></span></span>
66+
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
67+
onfocus="searchBox.OnSearchFieldFocus(true)"
68+
onblur="searchBox.OnSearchFieldFocus(false)"
69+
onkeyup="searchBox.OnSearchFieldChange(event)"/>
70+
</span><span class="right">
71+
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
72+
</span>
73+
</div>
74+
</li>
75+
</ul>
76+
</div><!-- main-nav -->
5077
<!-- window showing the filter options -->
5178
<div id="MSearchSelectWindow"
5279
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -104,7 +131,7 @@
104131
</table></div><!-- contents -->
105132
<!-- start footer part -->
106133
<hr class="footer"/><address class="footer"><small>
107-
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.16.1
134+
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.17.0
108135
</small></address>
109136
</div><!-- doc-content -->
110137
</body>

0 commit comments

Comments
 (0)