<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.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>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">D3D12 Memory Allocator
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search',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&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div><div class="header">
  <div class="headertitle"><div class="title">D3D12 Memory Allocator </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><b>Version 2.1.0-development</b> (2024-07-05)</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>
Table of contents</h1>
<ul>
<li><a class="el" href="faq.html">Frequenty asked questions</a></li>
<li><a class="el" href="quick_start.html">Quick start</a><ul>
<li><a class="el" href="quick_start.html#quick_start_project_setup">Project setup</a></li>
<li><a class="el" href="quick_start.html#quick_start_creating_resources">Creating resources</a></li>
<li><a class="el" href="quick_start.html#quick_start_resource_reference_counting">Resource reference counting</a></li>
<li><a class="el" href="quick_start.html#quick_start_mapping_memory">Mapping memory</a></li>
<li><a class="el" href="quick_start.html#quick_start_helper_structures">Helper structures</a></li>
</ul>
</li>
<li><a class="el" href="custom_pools.html">Custom memory pools</a></li>
<li><a class="el" href="optimal_allocation.html">Optimal resource allocation</a><ul>
<li><a class="el" href="optimal_allocation.html#optimal_allocation_avoiding_running_out_of_memory">Avoiding running out of memory</a></li>
<li><a class="el" href="optimal_allocation.html#optimal_allocation_allocation_Performance">Allocation performance</a></li>
<li><a class="el" href="optimal_allocation.html#optimal_allocation_suballocating_buffers">Sub-allocating buffers</a></li>
<li><a class="el" href="optimal_allocation.html#optimal_allocation_residency_priority">Residency priority</a></li>
<li><a class="el" href="optimal_allocation.html#optimal_allocation_gpu_upload_heap">GPU upload heap</a></li>
<li><a class="el" href="optimal_allocation.html#optimal_allocation_committed_vs_placed">Committed versus placed resources</a></li>
<li><a class="el" href="optimal_allocation.html#optimal_allocation_resource_alignment">Resource alignment</a></li>
</ul>
</li>
<li><a class="el" href="defragmentation.html">Defragmentation</a></li>
<li><a class="el" href="statistics.html">Statistics</a></li>
<li><a class="el" href="resource_aliasing.html">Resource aliasing (overlap)</a></li>
<li><a class="el" href="linear_algorithm.html">Linear allocation algorithm</a></li>
<li><a class="el" href="virtual_allocator.html">Virtual allocator</a></li>
<li><a class="el" href="configuration.html">Configuration</a><ul>
<li><a class="el" href="configuration.html#custom_memory_allocator">Custom CPU memory allocator</a></li>
<li><a class="el" href="configuration.html#debug_margins">Debug margins</a></li>
</ul>
</li>
<li><a class="el" href="general_considerations.html">General considerations</a><ul>
<li><a class="el" href="general_considerations.html#general_considerations_thread_safety">Thread safety</a></li>
<li><a class="el" href="general_considerations.html#general_considerations_versioning_and_compatibility">Versioning and compatibility</a></li>
<li><a class="el" href="general_considerations.html#general_considerations_features_not_supported">Features not supported</a></li>
</ul>
</li>
</ul>
<h1><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://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator">GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator at GitHub.com</a> - source code repository </li>
</ul>
</div></div><!-- PageDoc -->
<a href="doxygen_crawl.html"></a>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
