<!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.17.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="codefolding.js"></script>
<script type="text/javascript" src="clipboard.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>
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'default';
mermaid.initialize({ startOnLoad: true, theme: theme });
</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.17.0 -->
<script type="text/javascript">
let searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', codefold.init);
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', () => {
  initMenu('',false);
  init_search();
});
</script>
<div id="main-nav-mobile">
<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
<label class="main-menu-btn" for="main-menu-state">
<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>
</div>
</div><!-- main-nav-mobile -->
<div id="main-nav">
  <ul class="sm sm-dox" id="main-menu">
    <li id="searchBoxPos2" style="float:right">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <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)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
          </span>
        </div>
    </li>
  </ul>
</div><!-- main-nav -->
<!-- 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 id="nav-path" class="navpath">
  <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><!--header-->
<div class="contents">
<div class="textblock"><p><b>What is D3D12MA?</b></p>
<p>D3D12 Memory Allocator (D3D12MA) is a software library for developers who use the DirectX(R) 12 graphics API in their code. It is written in C++.</p>
<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 <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 <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" title="Committed versus placed resources">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 <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 <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>
<p>The library uses <a href="https://semver.org/">Semantic Versioning</a>, which means versions that only differ in the patch number are forward and backward compatible (e.g., only fixing some bugs), while versions that differ in the minor number are backward compatible (e.g., only adding new functions to the API, but not removing or changing existing ones).</p>
<p><b>How to integrate it with my code?</b></p>
<p>D3D12MA is an small library fully implemented in a single pair of CPP + H files.</p>
<p>You can pull the entire GitHub repository, e.g. using Git submodules. The repository contains ancillary files like the Cmake script, Doxygen config file, sample application, test suite, and others. You can compile it as a library and link with your project.</p>
<p>However, a simpler way is taking only files "include\D3D12MemAlloc.h", "src\D3D12MemAlloc.cpp" and including them in your project. These files contain all you need: a copyright notice, declarations of the public library interface (API), its internal implementation, and even the documentation in form of Doxygen-style comments.</p>
<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 <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>
<p><b>What platforms does it support?</b></p>
<p>D3D12MA relies only on DX12 and some parts of the standard C and C++ library, so it could support any platform where a C++ compiler and DX12 are available. However, it is developed and tested only on Microsoft(R) Windows(R).</p>
<p><b>Does it only work on AMD GPUs?</b></p>
<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 <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>
<p>Yes. D3D12MA is implemented with high-performance and real-time applications like video games in mind. 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 many 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 doesn't typically feature an CPU allocation, because these objects are returned out of a dedicated memory pool.</p>
<p>That said, D3D12MA needs some extra memory and extra time to maintain the metadata about the occupied and free regions of the memory blocks, and the algorithms and data structures used must be generic enough to work well in most cases.</p>
<p><b>Does it have a documentation?</b></p>
<p>Yes! D3D12MA comes with full documentation of all elements of the API (classes, structures, enums), as well as many generic chapters that provide an introduction, describe core concepts of the library, good practices, etc. The entire documentation is written in form of code comments inside "D3D12MemAlloc.h", in Doxygen format. You can access it in multiple ways:</p>
<ul>
<li>Browsable online: <a href="https://gpuopen-librariesandsdks.github.io/D3D12MemoryAllocator/html/">https://gpuopen-librariesandsdks.github.io/D3D12MemoryAllocator/html/</a></li>
<li>Local HTML pages available after you clone the repository and open file "docs\html\index.html".</li>
<li>You can rebuild the documentation in HTML or some other format from the source code using Doxygen. Configuration file "Doxyfile" is part of the repository.</li>
<li>Finally, you can just read the comments preceding declarations of any public classes and functions of the library.</li>
</ul>
<p><b>Is it a mature project?</b></p>
<p>Yes! The library is in development since May 2019, has over 300 commits, and multiple contributors. It is used by many software projects, including some large and popular ones like Qt or Godot Engine, as well as some AAA games.</p>
<p><b>How can I contribute to the project?</b></p>
<p>If you have an idea for improvement or a feature request, you can go to <a href="https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator">the library repository</a> and create an Issue ticket, describing your idea. You can also implement it yourself by forking the repository, making changes to the code, and creating a Pull request.</p>
<p>If you want to ask a question, you can also create a ticket the same way. Before doing this, please make sure you read the relevant part of the DX12 documentation and D3D12MA documentation, where you may find the answers to your question.</p>
<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 <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" title="Features not supported">Features not supported</a>.</p>
<p>However, if you observe a warning that is really dangerous, e.g., about an implicit conversion from a larger to a smaller integer type, please report it and it will be fixed ASAP. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- 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.17.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
