<!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.2"/>
<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.2 -->
<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 3.0.1</b> (2025-05-08)</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">Frequently 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.2
</small></address>
</div><!-- doc-content -->
</body>
</html>
