|
|
|
@ -1,700 +0,0 @@
|
|
|
|
|
<!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">
|
|
|
|
|
<head>
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
|
|
|
<meta name="generator" content="Doxygen 1.9.1"/>
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
|
|
|
<title>Direct3D 12 Memory Allocator: D3D12MemAlloc.h Source File</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>
|
|
|
|
|
<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 style="height: 56px;">
|
|
|
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
|
|
|
<div id="projectname">Direct3D 12 Memory Allocator
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- end header part -->
|
|
|
|
|
<!-- Generated by Doxygen 1.9.1 -->
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
|
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
|
|
|
|
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
|
|
|
$(function() {
|
|
|
|
|
initMenu('',true,false,'search.php','Search');
|
|
|
|
|
$(document).ready(function() { init_search(); });
|
|
|
|
|
});
|
|
|
|
|
/* @license-end */</script>
|
|
|
|
|
<div id="main-nav"></div>
|
|
|
|
|
</div><!-- top -->
|
|
|
|
|
<!-- 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">
|
|
|
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
|
|
|
name="MSearchResults" id="MSearchResults">
|
|
|
|
|
</iframe>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="header">
|
|
|
|
|
<div class="headertitle">
|
|
|
|
|
<div class="title">D3D12MemAlloc.h</div> </div>
|
|
|
|
|
</div><!--header-->
|
|
|
|
|
<div class="contents">
|
|
|
|
|
<a href="_d3_d12_mem_alloc_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
|
|
|
|
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2019-2021 Advanced Micro Devices, Inc. All rights reserved.</span></div>
|
|
|
|
|
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
|
|
|
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
|
|
|
|
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// of this software and associated documentation files (the "Software"), to deal</span></div>
|
|
|
|
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// in the Software without restriction, including without limitation the rights</span></div>
|
|
|
|
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div>
|
|
|
|
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// copies of the Software, and to permit persons to whom the Software is</span></div>
|
|
|
|
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// furnished to do so, subject to the following conditions:</span></div>
|
|
|
|
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">//</span></div>
|
|
|
|
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// The above copyright notice and this permission notice shall be included in</span></div>
|
|
|
|
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// all copies or substantial portions of the Software.</span></div>
|
|
|
|
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">//</span></div>
|
|
|
|
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
|
|
|
|
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div>
|
|
|
|
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div>
|
|
|
|
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div>
|
|
|
|
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div>
|
|
|
|
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</span></div>
|
|
|
|
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// THE SOFTWARE.</span></div>
|
|
|
|
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//</span></div>
|
|
|
|
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#pragma once</span></div>
|
|
|
|
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="comment">// If using this library on a platform different than Windows PC or want to use different version of DXGI,</span></div>
|
|
|
|
|
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="comment">// you should include D3D12-compatible headers before this library on your own and define this macro.</span></div>
|
|
|
|
|
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="preprocessor">#ifndef D3D12MA_D3D12_HEADERS_ALREADY_INCLUDED</span></div>
|
|
|
|
|
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="preprocessor"> #include <d3d12.h></span></div>
|
|
|
|
|
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="preprocessor"> #include <dxgi1_4.h></span></div>
|
|
|
|
|
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="preprocessor">#endif</span></div>
|
|
|
|
|
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="comment">// Define this macro to 0 to disable usage of DXGI 1.4 (needed for IDXGIAdapter3 and query for memory budget).</span></div>
|
|
|
|
|
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="preprocessor">#ifndef D3D12MA_DXGI_1_4</span></div>
|
|
|
|
|
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="preprocessor"> #ifdef __IDXGIAdapter3_INTERFACE_DEFINED__</span></div>
|
|
|
|
|
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="preprocessor"> #define D3D12MA_DXGI_1_4 1</span></div>
|
|
|
|
|
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="preprocessor"> #else</span></div>
|
|
|
|
|
<div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="_d3_d12_mem_alloc_8h.html#aa623643886b8481adb32017e5c748b50"> 698</a></span> <span class="preprocessor"> #define D3D12MA_DXGI_1_4 0</span></div>
|
|
|
|
|
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="preprocessor"> #endif</span></div>
|
|
|
|
|
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="preprocessor">#endif</span></div>
|
|
|
|
|
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="comment">/*</span></div>
|
|
|
|
|
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="comment">When defined to value other than 0, the library will try to use</span></div>
|
|
|
|
|
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="comment">D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT or D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT</span></div>
|
|
|
|
|
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="comment">for created textures when possible, which can save memory because some small textures</span></div>
|
|
|
|
|
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="comment">may get their alignment 4K and their size a multiply of 4K instead of 64K.</span></div>
|
|
|
|
|
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="comment"></span> </div>
|
|
|
|
|
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="comment">#define D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT 0</span></div>
|
|
|
|
|
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="comment"> Disables small texture alignment.</span></div>
|
|
|
|
|
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="comment">#define D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT 1</span></div>
|
|
|
|
|
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="comment"> Enables conservative algorithm that will use small alignment only for some textures</span></div>
|
|
|
|
|
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="comment"> that are surely known to support it.</span></div>
|
|
|
|
|
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="comment">#define D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT 2</span></div>
|
|
|
|
|
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="comment"> Enables query for small alignment to D3D12 (based on Microsoft sample) which will</span></div>
|
|
|
|
|
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="comment"> enable small alignment for more textures, but will also generate D3D Debug Layer</span></div>
|
|
|
|
|
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="comment"> error #721 on call to ID3D12Device::GetResourceAllocationInfo, which you should just</span></div>
|
|
|
|
|
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="comment"> ignore.</span></div>
|
|
|
|
|
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="comment">*/</span></div>
|
|
|
|
|
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="preprocessor">#ifndef D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT</span></div>
|
|
|
|
|
<div class="line"><a name="l00720"></a><span class="lineno"><a class="line" href="_d3_d12_mem_alloc_8h.html#ad04069a2e2bbc53b7d65f85a04a2dcbc"> 720</a></span> <span class="preprocessor"> #define D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT 1</span></div>
|
|
|
|
|
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="preprocessor">#endif</span></div>
|
|
|
|
|
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="preprocessor">#define D3D12MA_CLASS_NO_COPY(className) \</span></div>
|
|
|
|
|
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="preprocessor"> private: \</span></div>
|
|
|
|
|
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="preprocessor"> className(const className&) = delete; \</span></div>
|
|
|
|
|
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="preprocessor"> className(className&&) = delete; \</span></div>
|
|
|
|
|
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="preprocessor"> className& operator=(const className&) = delete; \</span></div>
|
|
|
|
|
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="preprocessor"> className& operator=(className&&) = delete;</span></div>
|
|
|
|
|
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="comment">// To be used with MAKE_HRESULT to define custom error codes.</span></div>
|
|
|
|
|
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="preprocessor">#define FACILITY_D3D12MA 3542</span></div>
|
|
|
|
|
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="comment">/*</span></div>
|
|
|
|
|
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="comment">If providing your own implementation, you need to implement a subset of std::atomic.</span></div>
|
|
|
|
|
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="comment">*/</span></div>
|
|
|
|
|
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="preprocessor">#if !defined(D3D12MA_ATOMIC_UINT32) || !defined(D3D12MA_ATOMIC_UINT64)</span></div>
|
|
|
|
|
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="preprocessor"> #include <atomic></span></div>
|
|
|
|
|
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="preprocessor">#endif</span></div>
|
|
|
|
|
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="preprocessor">#ifndef D3D12MA_ATOMIC_UINT32</span></div>
|
|
|
|
|
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="preprocessor"> #define D3D12MA_ATOMIC_UINT32 std::atomic<UINT></span></div>
|
|
|
|
|
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="preprocessor">#endif</span></div>
|
|
|
|
|
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="preprocessor">#ifndef D3D12MA_ATOMIC_UINT64</span></div>
|
|
|
|
|
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="preprocessor"> #define D3D12MA_ATOMIC_UINT64 std::atomic<UINT64></span></div>
|
|
|
|
|
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="preprocessor">#endif</span></div>
|
|
|
|
|
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="keyword">namespace </span><a class="code" href="namespace_d3_d12_m_a.html">D3D12MA</a></div>
|
|
|
|
|
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> {</div>
|
|
|
|
|
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keyword">class </span>IUnknownImpl : <span class="keyword">public</span> IUnknown</div>
|
|
|
|
|
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> {</div>
|
|
|
|
|
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="keyword">public</span>:</div>
|
|
|
|
|
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="keyword">virtual</span> HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, _COM_Outptr_ <span class="keywordtype">void</span> __RPC_FAR *__RPC_FAR *ppvObject);</div>
|
|
|
|
|
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keyword">virtual</span> ULONG STDMETHODCALLTYPE AddRef();</div>
|
|
|
|
|
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="keyword">virtual</span> ULONG STDMETHODCALLTYPE Release();</div>
|
|
|
|
|
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="keyword">protected</span>:</div>
|
|
|
|
|
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> ReleaseThis() { <span class="keyword">delete</span> <span class="keyword">this</span>; }</div>
|
|
|
|
|
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keyword">private</span>:</div>
|
|
|
|
|
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  D3D12MA_ATOMIC_UINT32 m_RefCount = 1;</div>
|
|
|
|
|
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> };</div>
|
|
|
|
|
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> } <span class="comment">// namespace D3D12MA</span></div>
|
|
|
|
|
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00767"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html"> 767</a></span> <span class="keyword">namespace </span><a class="code" href="namespace_d3_d12_m_a.html">D3D12MA</a></div>
|
|
|
|
|
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> {</div>
|
|
|
|
|
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="keyword">class </span>AllocatorPimpl;</div>
|
|
|
|
|
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keyword">class </span>PoolPimpl;</div>
|
|
|
|
|
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="keyword">class </span>NormalBlock;</div>
|
|
|
|
|
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="keyword">class </span>BlockVector;</div>
|
|
|
|
|
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="keyword">class </span>CommittedAllocationList;</div>
|
|
|
|
|
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="keyword">class </span>JsonWriter;</div>
|
|
|
|
|
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="keyword">class </span>VirtualBlockPimpl;</div>
|
|
|
|
|
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_pool.html">Pool</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="keyword">struct </span><a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html">StatInfo</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00785"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#a27ddd7db5650bc1d2afa009bebb6a53b"> 785</a></span> <span class="keyword">typedef</span> <span class="keywordtype">void</span>* (*ALLOCATE_FUNC_PTR)(<span class="keywordtype">size_t</span> Size, <span class="keywordtype">size_t</span> Alignment, <span class="keywordtype">void</span>* pUserData);</div>
|
|
|
|
|
<div class="line"><a name="l00791"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#a3a473f88974f9312dbb6ff9f18228d76"> 791</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="namespace_d3_d12_m_a.html#a3a473f88974f9312dbb6ff9f18228d76">FREE_FUNC_PTR</a>)(<span class="keywordtype">void</span>* pMemory, <span class="keywordtype">void</span>* pUserData);</div>
|
|
|
|
|
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00794"></a><span class="lineno"><a class="line" 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"> 794</a></span> <span class="keyword">struct </span><a class="code" 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></div>
|
|
|
|
|
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> {</div>
|
|
|
|
|
<div class="line"><a name="l00797"></a><span class="lineno"><a class="line" 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"> 797</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#a27ddd7db5650bc1d2afa009bebb6a53b">ALLOCATE_FUNC_PTR</a> <a class="code" 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">pAllocate</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00799"></a><span class="lineno"><a class="line" 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#a114e6c4d63d6b020e01f526a975d6849"> 799</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#a3a473f88974f9312dbb6ff9f18228d76">FREE_FUNC_PTR</a> <a class="code" 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#a114e6c4d63d6b020e01f526a975d6849">pFree</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00801"></a><span class="lineno"><a class="line" 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#af75391788c1241a06bb0de792c02c335"> 801</a></span>  <span class="keywordtype">void</span>* <a class="code" 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#af75391788c1241a06bb0de792c02c335">pUserData</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> };</div>
|
|
|
|
|
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e"> 805</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">ALLOCATION_FLAGS</a></div>
|
|
|
|
|
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> {</div>
|
|
|
|
|
<div class="line"><a name="l00808"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea0bf578b096d6ea73cea86b031541733e"> 808</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea0bf578b096d6ea73cea86b031541733e">ALLOCATION_FLAG_NONE</a> = 0,</div>
|
|
|
|
|
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00815"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675"> 815</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">ALLOCATION_FLAG_COMMITTED</a> = 0x1,</div>
|
|
|
|
|
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00826"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628"> 826</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628">ALLOCATION_FLAG_NEVER_ALLOCATE</a> = 0x2,</div>
|
|
|
|
|
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00831"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6"> 831</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6">ALLOCATION_FLAG_WITHIN_BUDGET</a> = 0x4,</div>
|
|
|
|
|
<div class="line"><a name="l00832"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#a4dede482eac9111d56d4b1b35eb13ae4"> 832</a></span> } <a class="code" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">ALLOCATION_FLAGS</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00835"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html"> 835</a></span> <span class="keyword">struct </span><a class="code" 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></div>
|
|
|
|
|
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> {</div>
|
|
|
|
|
<div class="line"><a name="l00838"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a92dec49b788a334fc91c55340dfbace6"> 838</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">ALLOCATION_FLAGS</a> <a class="code" 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>;</div>
|
|
|
|
|
<div class="line"><a name="l00845"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#aa46b3c0456e5a23edef3328607ebf4d7"> 845</a></span>  D3D12_HEAP_TYPE <a class="code" 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>;</div>
|
|
|
|
|
<div class="line"><a name="l00861"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#a97878838f976b2d1e6b1a76881035690"> 861</a></span>  D3D12_HEAP_FLAGS <a class="code" 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>;</div>
|
|
|
|
|
<div class="line"><a name="l00867"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_i_o_n___d_e_s_c.html#ab06b85f3cf3254f855b29264477e3934"> 867</a></span>  <a class="code" href="class_d3_d12_m_a_1_1_pool.html">Pool</a>* <a class="code" 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>;</div>
|
|
|
|
|
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> };</div>
|
|
|
|
|
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00884"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html"> 884</a></span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a> : <span class="keyword">public</span> IUnknownImpl</div>
|
|
|
|
|
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> {</div>
|
|
|
|
|
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="keyword">public</span>:</div>
|
|
|
|
|
<div class="line"><a name="l00895"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a47be9557d441797b65de177a3d5cdf60"> 895</a></span>  UINT64 <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a47be9557d441797b65de177a3d5cdf60">GetOffset</a>() <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00905"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a92c2fb6f22b28817eb83a59407d7dd30"> 905</a></span>  UINT64 <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a92c2fb6f22b28817eb83a59407d7dd30">GetSize</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_Size; }</div>
|
|
|
|
|
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00911"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a649a3bb1be1a981cbf3f61f3819addca"> 911</a></span>  ID3D12Resource* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a649a3bb1be1a981cbf3f61f3819addca">GetResource</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_Resource; }</div>
|
|
|
|
|
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00917"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#ac15798741797425b4e9e67bfc991e06b"> 917</a></span>  ID3D12Heap* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#ac15798741797425b4e9e67bfc991e06b">GetHeap</a>() <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00926"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac"> 926</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac">SetName</a>(LPCWSTR Name);</div>
|
|
|
|
|
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00934"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a65fab0c479df1b6b72c9300e68dc6770"> 934</a></span>  LPCWSTR <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a65fab0c479df1b6b72c9300e68dc6770">GetName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_Name; }</div>
|
|
|
|
|
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00953"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a1b1ef2717beed503fcb3cb7e6a171762"> 953</a></span>  BOOL <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a1b1ef2717beed503fcb3cb7e6a171762">WasZeroInitialized</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_PackedData.WasZeroInitialized(); }</div>
|
|
|
|
|
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="keyword">protected</span>:</div>
|
|
|
|
|
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> ReleaseThis();</div>
|
|
|
|
|
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="keyword">private</span>:</div>
|
|
|
|
|
<div class="line"><a name="l00959"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a72b45054123ec465caca5531f5d17998"> 959</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a72b45054123ec465caca5531f5d17998">AllocatorPimpl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00960"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a0a6fda50a9ecf4658ac175497a72152b"> 960</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a0a6fda50a9ecf4658ac175497a72152b">BlockVector</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00961"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a49c0b7395d40df48949fc68599058a06"> 961</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a49c0b7395d40df48949fc68599058a06">CommittedAllocationList</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00962"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#aae4c97f0734d50e5a4697557f566a83b"> 962</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_allocation.html#aae4c97f0734d50e5a4697557f566a83b">JsonWriter</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00963"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a3b9c2e32309e3855528dfe2dda5db549"> 963</a></span>  <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a3b9c2e32309e3855528dfe2dda5db549">CommittedAllocationListItemTraits</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00964"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a968f13f23d03e50cc50b87835b6d5a85"> 964</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA_DELETE</a>(<span class="keyword">const</span> <a class="code" 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>&, T*);</div>
|
|
|
|
|
<div class="line"><a name="l00965"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#afcc5dff8e6d4a24365ab9c92865d1bc3"> 965</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_allocation.html#afcc5dff8e6d4a24365ab9c92865d1bc3">PoolAllocator</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <span class="keyword">enum</span> Type</div>
|
|
|
|
|
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  TYPE_COMMITTED,</div>
|
|
|
|
|
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  TYPE_PLACED,</div>
|
|
|
|
|
<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  TYPE_HEAP,</div>
|
|
|
|
|
<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  TYPE_COUNT</div>
|
|
|
|
|
<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  };</div>
|
|
|
|
|
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a72b45054123ec465caca5531f5d17998">AllocatorPimpl</a>* m_Allocator;</div>
|
|
|
|
|
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  UINT64 m_Size;</div>
|
|
|
|
|
<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  ID3D12Resource* m_Resource;</div>
|
|
|
|
|
<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  UINT m_CreationFrameIndex;</div>
|
|
|
|
|
<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keywordtype">wchar_t</span>* m_Name;</div>
|
|
|
|
|
<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <span class="keyword">union</span></div>
|
|
|
|
|
<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <span class="keyword">struct</span></div>
|
|
|
|
|
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00985"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#ab1f59d849add2cdbfbebf4eb98db5c97"> 985</a></span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a49c0b7395d40df48949fc68599058a06">CommittedAllocationList</a>* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#ab1f59d849add2cdbfbebf4eb98db5c97">list</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00986"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#adc3ac89758a915a409e047f9b89aa160"> 986</a></span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a>* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#adc3ac89758a915a409e047f9b89aa160">prev</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00987"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a6f31560bc71451410a2a907b6d81b48f"> 987</a></span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a>* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a6f31560bc71451410a2a907b6d81b48f">next</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00988"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a5b3d5b189021973d9934cbe9f5f266f0"> 988</a></span>  } <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a5b3d5b189021973d9934cbe9f5f266f0">m_Committed</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  <span class="keyword">struct</span></div>
|
|
|
|
|
<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00992"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a73c55decc2485b907f678d95aac24b6b"> 992</a></span>  UINT64 <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a73c55decc2485b907f678d95aac24b6b">offset</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00993"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a413aec64eba9f4ec57e912511591b3b8"> 993</a></span>  NormalBlock* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a413aec64eba9f4ec57e912511591b3b8">block</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00994"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a35fca5f0b1c5eb46d0bb33cdb7ccc198"> 994</a></span>  } <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a35fca5f0b1c5eb46d0bb33cdb7ccc198">m_Placed</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <span class="keyword">struct</span></div>
|
|
|
|
|
<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="comment">// Beginning must be compatible with m_Committed.</span></div>
|
|
|
|
|
<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a49c0b7395d40df48949fc68599058a06">CommittedAllocationList</a>* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#ab1f59d849add2cdbfbebf4eb98db5c97">list</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a>* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#adc3ac89758a915a409e047f9b89aa160">prev</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a>* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a6f31560bc71451410a2a907b6d81b48f">next</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01002"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#a4e7380aabcac5b0a1cd833c5c84459c6"> 1002</a></span>  ID3D12Heap* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a4e7380aabcac5b0a1cd833c5c84459c6">heap</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01003"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocation.html#adc7cf6224b7ca6205d1099a013f40424"> 1003</a></span>  } <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#adc7cf6224b7ca6205d1099a013f40424">m_Heap</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  };</div>
|
|
|
|
|
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <span class="keyword">struct </span>PackedData</div>
|
|
|
|
|
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <span class="keyword">public</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  PackedData() :</div>
|
|
|
|
|
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  m_Type(0), m_ResourceDimension(0), m_ResourceFlags(0), m_TextureLayout(0), m_WasZeroInitialized(0) { }</div>
|
|
|
|
|
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  Type GetType()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (Type)m_Type; }</div>
|
|
|
|
|
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  D3D12_RESOURCE_DIMENSION GetResourceDimension()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (D3D12_RESOURCE_DIMENSION)m_ResourceDimension; }</div>
|
|
|
|
|
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>  D3D12_RESOURCE_FLAGS GetResourceFlags()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (D3D12_RESOURCE_FLAGS)m_ResourceFlags; }</div>
|
|
|
|
|
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  D3D12_TEXTURE_LAYOUT GetTextureLayout()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (D3D12_TEXTURE_LAYOUT)m_TextureLayout; }</div>
|
|
|
|
|
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  BOOL <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a1b1ef2717beed503fcb3cb7e6a171762">WasZeroInitialized</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (BOOL)m_WasZeroInitialized; }</div>
|
|
|
|
|
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  <span class="keywordtype">void</span> SetType(Type type);</div>
|
|
|
|
|
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  <span class="keywordtype">void</span> SetResourceDimension(D3D12_RESOURCE_DIMENSION resourceDimension);</div>
|
|
|
|
|
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <span class="keywordtype">void</span> SetResourceFlags(D3D12_RESOURCE_FLAGS resourceFlags);</div>
|
|
|
|
|
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  <span class="keywordtype">void</span> SetTextureLayout(D3D12_TEXTURE_LAYOUT textureLayout);</div>
|
|
|
|
|
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  <span class="keywordtype">void</span> SetWasZeroInitialized(BOOL wasZeroInitialized) { m_WasZeroInitialized = wasZeroInitialized ? 1 : 0; }</div>
|
|
|
|
|
<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  <span class="keyword">private</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  UINT m_Type : 2; <span class="comment">// enum Type</span></div>
|
|
|
|
|
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  UINT m_ResourceDimension : 3; <span class="comment">// enum D3D12_RESOURCE_DIMENSION</span></div>
|
|
|
|
|
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  UINT m_ResourceFlags : 24; <span class="comment">// flags D3D12_RESOURCE_FLAGS</span></div>
|
|
|
|
|
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  UINT m_TextureLayout : 9; <span class="comment">// enum D3D12_TEXTURE_LAYOUT</span></div>
|
|
|
|
|
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  UINT m_WasZeroInitialized : 1; <span class="comment">// BOOL</span></div>
|
|
|
|
|
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  } m_PackedData;</div>
|
|
|
|
|
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  Allocation(<a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a72b45054123ec465caca5531f5d17998">AllocatorPimpl</a>* allocator, UINT64 size, BOOL wasZeroInitialized);</div>
|
|
|
|
|
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  ~Allocation();</div>
|
|
|
|
|
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="keywordtype">void</span> InitCommitted(<a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a49c0b7395d40df48949fc68599058a06">CommittedAllocationList</a>* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#ab1f59d849add2cdbfbebf4eb98db5c97">list</a>);</div>
|
|
|
|
|
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  <span class="keywordtype">void</span> InitPlaced(UINT64 <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a73c55decc2485b907f678d95aac24b6b">offset</a>, UINT64 alignment, NormalBlock* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a413aec64eba9f4ec57e912511591b3b8">block</a>);</div>
|
|
|
|
|
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  <span class="keywordtype">void</span> InitHeap(<a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a49c0b7395d40df48949fc68599058a06">CommittedAllocationList</a>* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#ab1f59d849add2cdbfbebf4eb98db5c97">list</a>, ID3D12Heap* <a class="code" href="class_d3_d12_m_a_1_1_allocation.html#a4e7380aabcac5b0a1cd833c5c84459c6">heap</a>);</div>
|
|
|
|
|
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <span class="keyword">template</span><<span class="keyword">typename</span> D3D12_RESOURCE_DESC_T></div>
|
|
|
|
|
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  <span class="keywordtype">void</span> SetResource(ID3D12Resource* resource, <span class="keyword">const</span> D3D12_RESOURCE_DESC_T* pResourceDesc);</div>
|
|
|
|
|
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <span class="keywordtype">void</span> FreeName();</div>
|
|
|
|
|
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  D3D12MA_CLASS_NO_COPY(Allocation)</div>
|
|
|
|
|
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01045"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html"> 1045</a></span> <span class="keyword">struct </span><a class="code" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a></div>
|
|
|
|
|
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01052"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a06e06813bcb5206e9f7a8b0564bf1d6a"> 1052</a></span>  D3D12_HEAP_PROPERTIES <a class="code" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a06e06813bcb5206e9f7a8b0564bf1d6a">HeapProperties</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01063"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc"> 1063</a></span>  D3D12_HEAP_FLAGS <a class="code" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc">HeapFlags</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01070"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#af7284cc51a8ed5b551075584256de23c"> 1070</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#af7284cc51a8ed5b551075584256de23c">BlockSize</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01075"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a6f10db3911a3bea1becfc9a0dfa5bac8"> 1075</a></span>  UINT <a class="code" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a6f10db3911a3bea1becfc9a0dfa5bac8">MinBlockCount</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01083"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e"> 1083</a></span>  UINT <a class="code" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e">MaxBlockCount</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01088"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a0a6283eeb1f3f99d8c4ae264aec7f749"> 1088</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a0a6283eeb1f3f99d8c4ae264aec7f749">MinAllocationAlignment</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01099"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_pool.html"> 1099</a></span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_pool.html">Pool</a> : <span class="keyword">public</span> IUnknownImpl</div>
|
|
|
|
|
<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="keyword">public</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01106"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_pool.html#aaab59af46d922d6b81fce8d8be987028"> 1106</a></span>  <a class="code" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a> <a class="code" href="class_d3_d12_m_a_1_1_pool.html#aaab59af46d922d6b81fce8d8be987028">GetDesc</a>() <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01110"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_pool.html#a8e4cc5fb13aa33398d391296336c457e"> 1110</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_pool.html#a8e4cc5fb13aa33398d391296336c457e">CalculateStats</a>(<a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html">StatInfo</a>* pStats);</div>
|
|
|
|
|
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01119"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b"> 1119</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b">SetName</a>(LPCWSTR Name);</div>
|
|
|
|
|
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01127"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_pool.html#a63c91d92a9ca48b98866a5cc1aea333b"> 1127</a></span>  LPCWSTR <a class="code" href="class_d3_d12_m_a_1_1_pool.html#a63c91d92a9ca48b98866a5cc1aea333b">GetName</a>() <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="keyword">protected</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> ReleaseThis();</div>
|
|
|
|
|
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <span class="keyword">private</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01133"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_pool.html#a4f7f62a2e2ba965a2aec21613708b95b"> 1133</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01134"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_pool.html#a72b45054123ec465caca5531f5d17998"> 1134</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_pool.html#a72b45054123ec465caca5531f5d17998">AllocatorPimpl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01135"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_pool.html#a968f13f23d03e50cc50b87835b6d5a85"> 1135</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_pool.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA_DELETE</a>(<span class="keyword">const</span> <a class="code" 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>&, T*);</div>
|
|
|
|
|
<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>  PoolPimpl* m_Pimpl;</div>
|
|
|
|
|
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>  <a class="code" href="class_d3_d12_m_a_1_1_pool.html">Pool</a>(<a class="code" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a>* allocator, <span class="keyword">const</span> <a class="code" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a> &desc);</div>
|
|
|
|
|
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  ~<a class="code" href="class_d3_d12_m_a_1_1_pool.html">Pool</a>();</div>
|
|
|
|
|
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  D3D12MA_CLASS_NO_COPY(<a class="code" href="class_d3_d12_m_a_1_1_pool.html">Pool</a>)</div>
|
|
|
|
|
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01146"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916"> 1146</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916">ALLOCATOR_FLAGS</a></div>
|
|
|
|
|
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01149"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a2fb30967b492c27823a80b5de3aea26f"> 1149</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a2fb30967b492c27823a80b5de3aea26f">ALLOCATOR_FLAG_NONE</a> = 0,</div>
|
|
|
|
|
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01158"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a1b06bb21df006f76a9ed1bc41838bc52"> 1158</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a1b06bb21df006f76a9ed1bc41838bc52">ALLOCATOR_FLAG_SINGLETHREADED</a> = 0x1,</div>
|
|
|
|
|
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01164"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb"> 1164</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb">ALLOCATOR_FLAG_ALWAYS_COMMITTED</a> = 0x2,</div>
|
|
|
|
|
<div class="line"><a name="l01165"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#a5d0bdfc28b81b4a1ee40c9c3ae1b1449"> 1165</a></span> } <a class="code" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916">ALLOCATOR_FLAGS</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01168"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html"> 1168</a></span> <span class="keyword">struct </span><a class="code" 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></div>
|
|
|
|
|
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01171"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ad8abad7c80ea0d8df27c85243ce720f3"> 1171</a></span>  <a class="code" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916">ALLOCATOR_FLAGS</a> <a class="code" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ad8abad7c80ea0d8df27c85243ce720f3">Flags</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01177"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ada1bf21205065b3aa0284b5a9ee1cb3c"> 1177</a></span>  ID3D12Device* <a class="code" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#ada1bf21205065b3aa0284b5a9ee1cb3c">pDevice</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01183"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#a97149c9559deae943c2cfa49aeeff8a6"> 1183</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#a97149c9559deae943c2cfa49aeeff8a6">PreferredBlockSize</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01189"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#a773ecc1945eb47c20e06455c3759e4ef"> 1189</a></span>  <span class="keyword">const</span> <a class="code" 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>* <a class="code" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#a773ecc1945eb47c20e06455c3759e4ef">pAllocationCallbacks</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01195"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#abf9a9f87f0ffea52816efd363c5fcd7b"> 1195</a></span>  IDXGIAdapter* <a class="code" href="struct_d3_d12_m_a_1_1_a_l_l_o_c_a_t_o_r___d_e_s_c.html#abf9a9f87f0ffea52816efd363c5fcd7b">pAdapter</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01201"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#abad7f40135648f8d0871be36f2919982"> 1201</a></span> <span class="keyword">const</span> UINT <a class="code" href="namespace_d3_d12_m_a.html#abad7f40135648f8d0871be36f2919982">HEAP_TYPE_COUNT</a> = 4;</div>
|
|
|
|
|
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01206"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html"> 1206</a></span> <span class="keyword">struct </span><a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html">StatInfo</a></div>
|
|
|
|
|
<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01209"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#a8284ef3310c9de1600071285448b62c9"> 1209</a></span>  UINT <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#a8284ef3310c9de1600071285448b62c9">BlockCount</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01211"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#a2f50de812e296b71594174ff67bbac6e"> 1211</a></span>  UINT <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#a2f50de812e296b71594174ff67bbac6e">AllocationCount</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01213"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#adfc245a84fb8fba7936b67bd879ffefb"> 1213</a></span>  UINT <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#adfc245a84fb8fba7936b67bd879ffefb">UnusedRangeCount</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01215"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#ac4f3379ea88025e4ccf5880fab2699f7"> 1215</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#ac4f3379ea88025e4ccf5880fab2699f7">UsedBytes</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01217"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#a1df359c2e9ad4c7763122d1ccd86b168"> 1217</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#a1df359c2e9ad4c7763122d1ccd86b168">UnusedBytes</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01218"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#a9d9e69e9cad231fea3a41b06e7eeee35"> 1218</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#a9d9e69e9cad231fea3a41b06e7eeee35">AllocationSizeMin</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01219"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#acf3339540ff01d93b6a6f5dc68d83f60"> 1219</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#acf3339540ff01d93b6a6f5dc68d83f60">AllocationSizeAvg</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01220"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#acd3c6f72ffb61a8d39b65a3dab317eb6"> 1220</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#acd3c6f72ffb61a8d39b65a3dab317eb6">AllocationSizeMax</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01221"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#a180be027720ca98ff3a7470e18a79622"> 1221</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#a180be027720ca98ff3a7470e18a79622">UnusedRangeSizeMin</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01222"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#a249d7969bf3f836c13a0f111d6ed886d"> 1222</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#a249d7969bf3f836c13a0f111d6ed886d">UnusedRangeSizeAvg</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01223"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stat_info.html#a1337269f8777b6b5176c72ca410fbe36"> 1223</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html#a1337269f8777b6b5176c72ca410fbe36">UnusedRangeSizeMax</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01229"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stats.html"> 1229</a></span> <span class="keyword">struct </span><a class="code" href="struct_d3_d12_m_a_1_1_stats.html">Stats</a></div>
|
|
|
|
|
<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01232"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stats.html#ada54d9f0385fcdba491adcfd91f29c28"> 1232</a></span>  <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html">StatInfo</a> <a class="code" href="struct_d3_d12_m_a_1_1_stats.html#ada54d9f0385fcdba491adcfd91f29c28">Total</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01237"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_stats.html#a6e433945a118a34f7f6565811e62d718"> 1237</a></span>  <a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html">StatInfo</a> <a class="code" href="struct_d3_d12_m_a_1_1_stats.html#a6e433945a118a34f7f6565811e62d718">HeapType</a>[<a class="code" href="namespace_d3_d12_m_a.html#abad7f40135648f8d0871be36f2919982">HEAP_TYPE_COUNT</a>];</div>
|
|
|
|
|
<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01242"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_budget.html"> 1242</a></span> <span class="keyword">struct </span><a class="code" href="struct_d3_d12_m_a_1_1_budget.html">Budget</a></div>
|
|
|
|
|
<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01246"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_budget.html#ad1ad5d8521993cb623255ee1709a1c4c"> 1246</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_budget.html#ad1ad5d8521993cb623255ee1709a1c4c">BlockBytes</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01254"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_budget.html#abcb043908bd528852f8ef3867ad76099"> 1254</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_budget.html#abcb043908bd528852f8ef3867ad76099">AllocationBytes</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01264"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_budget.html#a77a8c9e32d6602f95b7d1c285cddd253"> 1264</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_budget.html#a77a8c9e32d6602f95b7d1c285cddd253">UsageBytes</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01275"></a><span class="lineno"><a class="line" href="struct_d3_d12_m_a_1_1_budget.html#a326515f08d89ee2e31dcfdd5c1e8ac71"> 1275</a></span>  UINT64 <a class="code" href="struct_d3_d12_m_a_1_1_budget.html#a326515f08d89ee2e31dcfdd5c1e8ac71">BudgetBytes</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01287"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html"> 1287</a></span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a> : <span class="keyword">public</span> IUnknownImpl</div>
|
|
|
|
|
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> <span class="keyword">public</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01291"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#a8ce95f85e5f2a1d41b81d676b21c04ae"> 1291</a></span>  <span class="keyword">const</span> D3D12_FEATURE_DATA_D3D12_OPTIONS& <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#a8ce95f85e5f2a1d41b81d676b21c04ae">GetD3D12Options</a>() <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01299"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#a9e742884bd45dd7f01193d13fcd05af0"> 1299</a></span>  BOOL <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#a9e742884bd45dd7f01193d13fcd05af0">IsUMA</a>() <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01307"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#a08210561b92c4bd7ede9dd7beba4bb80"> 1307</a></span>  BOOL <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#a08210561b92c4bd7ede9dd7beba4bb80">IsCacheCoherentUMA</a>() <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01337"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#aa37d6b9fe8ea0864f7a35b9d68e8345a"> 1337</a></span>  HRESULT <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#aa37d6b9fe8ea0864f7a35b9d68e8345a">CreateResource</a>(</div>
|
|
|
|
|
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>  <span class="keyword">const</span> <a class="code" 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,</div>
|
|
|
|
|
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>  <span class="keyword">const</span> D3D12_RESOURCE_DESC* pResourceDesc,</div>
|
|
|
|
|
<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>  D3D12_RESOURCE_STATES InitialResourceState,</div>
|
|
|
|
|
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>  <span class="keyword">const</span> D3D12_CLEAR_VALUE *pOptimizedClearValue,</div>
|
|
|
|
|
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a>** ppAllocation,</div>
|
|
|
|
|
<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>  REFIID riidResource,</div>
|
|
|
|
|
<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>  <span class="keywordtype">void</span>** ppvResource);</div>
|
|
|
|
|
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> <span class="preprocessor">#ifdef __ID3D12Device4_INTERFACE_DEFINED__</span></div>
|
|
|
|
|
<div class="line"><a name="l01354"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#afa0de85c76ce1f86fe9b0bd94dad5e8b"> 1354</a></span>  HRESULT <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#afa0de85c76ce1f86fe9b0bd94dad5e8b">CreateResource1</a>(</div>
|
|
|
|
|
<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>  <span class="keyword">const</span> <a class="code" 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,</div>
|
|
|
|
|
<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>  <span class="keyword">const</span> D3D12_RESOURCE_DESC* pResourceDesc,</div>
|
|
|
|
|
<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>  D3D12_RESOURCE_STATES InitialResourceState,</div>
|
|
|
|
|
<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>  <span class="keyword">const</span> D3D12_CLEAR_VALUE *pOptimizedClearValue,</div>
|
|
|
|
|
<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>  ID3D12ProtectedResourceSession *pProtectedSession,</div>
|
|
|
|
|
<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a>** ppAllocation,</div>
|
|
|
|
|
<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>  REFIID riidResource,</div>
|
|
|
|
|
<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>  <span class="keywordtype">void</span>** ppvResource);</div>
|
|
|
|
|
<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="preprocessor">#endif </span><span class="comment">// #ifdef __ID3D12Device4_INTERFACE_DEFINED__</span></div>
|
|
|
|
|
<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="preprocessor">#ifdef __ID3D12Device8_INTERFACE_DEFINED__</span></div>
|
|
|
|
|
<div class="line"><a name="l01372"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#ad9616c8e8e59ede99214b9c7cea97e5a"> 1372</a></span>  HRESULT <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#ad9616c8e8e59ede99214b9c7cea97e5a">CreateResource2</a>(</div>
|
|
|
|
|
<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>  <span class="keyword">const</span> <a class="code" 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,</div>
|
|
|
|
|
<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>  <span class="keyword">const</span> D3D12_RESOURCE_DESC1* pResourceDesc,</div>
|
|
|
|
|
<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>  D3D12_RESOURCE_STATES InitialResourceState,</div>
|
|
|
|
|
<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>  <span class="keyword">const</span> D3D12_CLEAR_VALUE *pOptimizedClearValue,</div>
|
|
|
|
|
<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>  ID3D12ProtectedResourceSession *pProtectedSession,</div>
|
|
|
|
|
<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a>** ppAllocation,</div>
|
|
|
|
|
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>  REFIID riidResource,</div>
|
|
|
|
|
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>  <span class="keywordtype">void</span>** ppvResource);</div>
|
|
|
|
|
<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> <span class="preprocessor">#endif </span><span class="comment">// #ifdef __ID3D12Device4_INTERFACE_DEFINED__</span></div>
|
|
|
|
|
<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01402"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2"> 1402</a></span>  HRESULT <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2">AllocateMemory</a>(</div>
|
|
|
|
|
<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>  <span class="keyword">const</span> <a class="code" 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,</div>
|
|
|
|
|
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>  <span class="keyword">const</span> D3D12_RESOURCE_ALLOCATION_INFO* pAllocInfo,</div>
|
|
|
|
|
<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a>** ppAllocation);</div>
|
|
|
|
|
<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="preprocessor">#ifdef __ID3D12Device4_INTERFACE_DEFINED__</span></div>
|
|
|
|
|
<div class="line"><a name="l01415"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#a6c1fbc673e2559ead34dbf039dd47d60"> 1415</a></span>  HRESULT <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#a6c1fbc673e2559ead34dbf039dd47d60">AllocateMemory1</a>(</div>
|
|
|
|
|
<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>  <span class="keyword">const</span> <a class="code" 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,</div>
|
|
|
|
|
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>  <span class="keyword">const</span> D3D12_RESOURCE_ALLOCATION_INFO* pAllocInfo,</div>
|
|
|
|
|
<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>  ID3D12ProtectedResourceSession *pProtectedSession,</div>
|
|
|
|
|
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a>** ppAllocation);</div>
|
|
|
|
|
<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> <span class="preprocessor">#endif </span><span class="comment">// #ifdef __ID3D12Device4_INTERFACE_DEFINED__</span></div>
|
|
|
|
|
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01444"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#ab45536f92410aedb7be44ea36b1b4717"> 1444</a></span>  HRESULT <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#ab45536f92410aedb7be44ea36b1b4717">CreateAliasingResource</a>(</div>
|
|
|
|
|
<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocation.html">Allocation</a>* pAllocation,</div>
|
|
|
|
|
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>  UINT64 AllocationLocalOffset,</div>
|
|
|
|
|
<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>  <span class="keyword">const</span> D3D12_RESOURCE_DESC* pResourceDesc,</div>
|
|
|
|
|
<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>  D3D12_RESOURCE_STATES InitialResourceState,</div>
|
|
|
|
|
<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>  <span class="keyword">const</span> D3D12_CLEAR_VALUE *pOptimizedClearValue,</div>
|
|
|
|
|
<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>  REFIID riidResource,</div>
|
|
|
|
|
<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>  <span class="keywordtype">void</span>** ppvResource);</div>
|
|
|
|
|
<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01455"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#aac7b1f6bf53cbf4c4ce2264cb72ca515"> 1455</a></span>  HRESULT <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#aac7b1f6bf53cbf4c4ce2264cb72ca515">CreatePool</a>(</div>
|
|
|
|
|
<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>  <span class="keyword">const</span> <a class="code" href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">POOL_DESC</a>* pPoolDesc,</div>
|
|
|
|
|
<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>  <a class="code" href="class_d3_d12_m_a_1_1_pool.html">Pool</a>** ppPool);</div>
|
|
|
|
|
<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01463"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11"> 1463</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11">SetCurrentFrameIndex</a>(UINT frameIndex);</div>
|
|
|
|
|
<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01467"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#addedcd0067319ec566042f5cb520843b"> 1467</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#addedcd0067319ec566042f5cb520843b">CalculateStats</a>(<a class="code" href="struct_d3_d12_m_a_1_1_stats.html">Stats</a>* pStats);</div>
|
|
|
|
|
<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01480"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#abe927bd3ad6930111d4d9408515b9601"> 1480</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#abe927bd3ad6930111d4d9408515b9601">GetBudget</a>(<a class="code" href="struct_d3_d12_m_a_1_1_budget.html">Budget</a>* pGpuBudget, <a class="code" href="struct_d3_d12_m_a_1_1_budget.html">Budget</a>* pCpuBudget);</div>
|
|
|
|
|
<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01486"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#a29716b3084916abed7793bf2ec4b65db"> 1486</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#a29716b3084916abed7793bf2ec4b65db">BuildStatsString</a>(WCHAR** ppStatsString, BOOL DetailedMap) <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01489"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#a8392663494384c16d8bfa12b827b4f9c"> 1489</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#a8392663494384c16d8bfa12b827b4f9c">FreeStatsString</a>(WCHAR* pStatsString) <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> <span class="keyword">protected</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> ReleaseThis();</div>
|
|
|
|
|
<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> <span class="keyword">private</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01495"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#a7cc10fd0b328a512165cf636cb795090"> 1495</a></span>  <span class="keyword">friend</span> HRESULT <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#a7cc10fd0b328a512165cf636cb795090">CreateAllocator</a>(<span class="keyword">const</span> <a class="code" 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>*, <a class="code" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a>**);</div>
|
|
|
|
|
<div class="line"><a name="l01496"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#a968f13f23d03e50cc50b87835b6d5a85"> 1496</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_allocator.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA_DELETE</a>(<span class="keyword">const</span> <a class="code" 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>&, T*);</div>
|
|
|
|
|
<div class="line"><a name="l01497"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_allocator.html#aaa45caad0db0173735281fcdf9aa5e8b"> 1497</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_pool.html">Pool</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>  <a class="code" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a>(<span class="keyword">const</span> <a class="code" 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, <span class="keyword">const</span> <a class="code" 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>& desc);</div>
|
|
|
|
|
<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>  ~<a class="code" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a>();</div>
|
|
|
|
|
<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>  AllocatorPimpl* m_Pimpl;</div>
|
|
|
|
|
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>  D3D12MA_CLASS_NO_COPY(<a class="code" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a>)</div>
|
|
|
|
|
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01508"></a><span class="lineno"><a class="line" 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"> 1508</a></span> <span class="keyword">struct </span><a class="code" 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></div>
|
|
|
|
|
<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01515"></a><span class="lineno"><a class="line" 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"> 1515</a></span>  UINT64 <a class="code" 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>;</div>
|
|
|
|
|
<div class="line"><a name="l01520"></a><span class="lineno"><a class="line" 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"> 1520</a></span>  <span class="keyword">const</span> <a class="code" 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>* <a class="code" 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>;</div>
|
|
|
|
|
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01524"></a><span class="lineno"><a class="line" 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"> 1524</a></span> <span class="keyword">struct </span><a class="code" 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></div>
|
|
|
|
|
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01530"></a><span class="lineno"><a class="line" 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"> 1530</a></span>  UINT64 <a class="code" 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>;</div>
|
|
|
|
|
<div class="line"><a name="l01535"></a><span class="lineno"><a class="line" 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"> 1535</a></span>  UINT64 <a class="code" 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>;</div>
|
|
|
|
|
<div class="line"><a name="l01540"></a><span class="lineno"><a class="line" 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#ab8ec8dd20b4b9dc2aaa79d7da024170b"> 1540</a></span>  <span class="keywordtype">void</span>* <a class="code" 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#ab8ec8dd20b4b9dc2aaa79d7da024170b">pUserData</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01544"></a><span class="lineno"><a class="line" 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"> 1544</a></span> <span class="keyword">struct </span><a class="code" 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></div>
|
|
|
|
|
<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01550"></a><span class="lineno"><a class="line" 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#ab8ede12141594a69230afeb34664fc34"> 1550</a></span>  UINT64 <a class="code" 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#ab8ede12141594a69230afeb34664fc34">size</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01555"></a><span class="lineno"><a class="line" 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#a4b23ad296ab6cd425fb3b6c83c13b4ff"> 1555</a></span>  <span class="keywordtype">void</span>* <a class="code" 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#a4b23ad296ab6cd425fb3b6c83c13b4ff">pUserData</a>;</div>
|
|
|
|
|
<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01567"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html"> 1567</a></span> <span class="keyword">class </span><a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a> : <span class="keyword">public</span> IUnknownImpl</div>
|
|
|
|
|
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> {</div>
|
|
|
|
|
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> <span class="keyword">public</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01572"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#a7b23fd2da6f0343095fb14b31395678b"> 1572</a></span>  BOOL <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#a7b23fd2da6f0343095fb14b31395678b">IsEmpty</a>() <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01575"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#a287b8f0e455ffc7f302094671f922afb"> 1575</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#a287b8f0e455ffc7f302094671f922afb">GetAllocationInfo</a>(UINT64 offset, <a class="code" 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) <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01582"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#aa57575f1af18461012bde8c4b6f3c56c"> 1582</a></span>  HRESULT <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#aa57575f1af18461012bde8c4b6f3c56c">Allocate</a>(<span class="keyword">const</span> <a class="code" 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, UINT64* pOffset);</div>
|
|
|
|
|
<div class="line"><a name="l01585"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#a02dfae4c0856f22da885a332de7821fa"> 1585</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#a02dfae4c0856f22da885a332de7821fa">FreeAllocation</a>(UINT64 offset);</div>
|
|
|
|
|
<div class="line"><a name="l01588"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189"> 1588</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189">Clear</a>();</div>
|
|
|
|
|
<div class="line"><a name="l01591"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289"> 1591</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289">SetAllocationUserData</a>(UINT64 offset, <span class="keywordtype">void</span>* pUserData);</div>
|
|
|
|
|
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01595"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#a039ee8426818d0126cf7f44c1c658526"> 1595</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#a039ee8426818d0126cf7f44c1c658526">CalculateStats</a>(<a class="code" href="struct_d3_d12_m_a_1_1_stat_info.html">StatInfo</a>* pInfo) <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01600"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#a828a27070bfa762cae796d4c8f2ef703"> 1600</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#a828a27070bfa762cae796d4c8f2ef703">BuildStatsString</a>(WCHAR** ppStatsString) <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01604"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#a6f78ddaa7da194e239089e52093e68a9"> 1604</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#a6f78ddaa7da194e239089e52093e68a9">FreeStatsString</a>(WCHAR* pStatsString) <span class="keyword">const</span>;</div>
|
|
|
|
|
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> <span class="keyword">protected</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> ReleaseThis();</div>
|
|
|
|
|
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> <span class="keyword">private</span>:</div>
|
|
|
|
|
<div class="line"><a name="l01610"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#ab8bb16e20c691720aad26ecbf105aa6f"> 1610</a></span>  <span class="keyword">friend</span> HRESULT <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#ab8bb16e20c691720aad26ecbf105aa6f">CreateVirtualBlock</a>(<span class="keyword">const</span> <a class="code" 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>*, <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a>**);</div>
|
|
|
|
|
<div class="line"><a name="l01611"></a><span class="lineno"><a class="line" href="class_d3_d12_m_a_1_1_virtual_block.html#a968f13f23d03e50cc50b87835b6d5a85"> 1611</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA_DELETE</a>(<span class="keyword">const</span> <a class="code" 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>&, T*);</div>
|
|
|
|
|
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  VirtualBlockPimpl* m_Pimpl;</div>
|
|
|
|
|
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>  <a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a>(<span class="keyword">const</span> <a class="code" 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, <span class="keyword">const</span> <a class="code" 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>& desc);</div>
|
|
|
|
|
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>  ~<a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a>();</div>
|
|
|
|
|
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>  D3D12MA_CLASS_NO_COPY(<a class="code" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a>)</div>
|
|
|
|
|
<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span> };</div>
|
|
|
|
|
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01625"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#aa341b796fdffb16c976e659ccce80332"> 1625</a></span> HRESULT <a class="code" href="namespace_d3_d12_m_a.html#aa341b796fdffb16c976e659ccce80332">CreateAllocator</a>(<span class="keyword">const</span> <a class="code" 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="code" href="class_d3_d12_m_a_1_1_allocator.html">Allocator</a>** ppAllocator);</div>
|
|
|
|
|
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01631"></a><span class="lineno"><a class="line" href="namespace_d3_d12_m_a.html#aefde6264e7a88bebe8e193df343af317"> 1631</a></span> HRESULT <a class="code" href="namespace_d3_d12_m_a.html#aefde6264e7a88bebe8e193df343af317">CreateVirtualBlock</a>(<span class="keyword">const</span> <a class="code" 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="code" href="class_d3_d12_m_a_1_1_virtual_block.html">VirtualBlock</a>** ppVirtualBlock);</div>
|
|
|
|
|
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span> } <span class="comment">// namespace D3D12MA</span></div>
|
|
|
|
|
<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>  </div>
|
|
|
|
|
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> DEFINE_ENUM_FLAG_OPERATORS(<a class="code" href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">D3D12MA::ALLOCATION_FLAGS</a>);</div>
|
|
|
|
|
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span> DEFINE_ENUM_FLAG_OPERATORS(<a class="code" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916">D3D12MA::ALLOCATOR_FLAGS</a>);</div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html">D3D12MA::Allocation</a></div><div class="ttdoc">Represents single memory allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:885</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a0a6fda50a9ecf4658ac175497a72152b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a0a6fda50a9ecf4658ac175497a72152b">D3D12MA::Allocation::BlockVector</a></div><div class="ttdeci">friend class BlockVector</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:960</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a1b1ef2717beed503fcb3cb7e6a171762"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a1b1ef2717beed503fcb3cb7e6a171762">D3D12MA::Allocation::WasZeroInitialized</a></div><div class="ttdeci">BOOL WasZeroInitialized() const</div><div class="ttdoc">Returns TRUE if the memory of the allocation was filled with zeros when the allocation was created.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:953</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a35fca5f0b1c5eb46d0bb33cdb7ccc198"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a35fca5f0b1c5eb46d0bb33cdb7ccc198">D3D12MA::Allocation::m_Placed</a></div><div class="ttdeci">struct D3D12MA::Allocation::@0::@3 m_Placed</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a3b9c2e32309e3855528dfe2dda5db549"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a3b9c2e32309e3855528dfe2dda5db549">D3D12MA::Allocation::CommittedAllocationListItemTraits</a></div><div class="ttdeci">friend struct CommittedAllocationListItemTraits</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:963</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a413aec64eba9f4ec57e912511591b3b8"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a413aec64eba9f4ec57e912511591b3b8">D3D12MA::Allocation::block</a></div><div class="ttdeci">NormalBlock * block</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:993</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a47be9557d441797b65de177a3d5cdf60"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a47be9557d441797b65de177a3d5cdf60">D3D12MA::Allocation::GetOffset</a></div><div class="ttdeci">UINT64 GetOffset() const</div><div class="ttdoc">Returns offset in bytes from the start of memory heap.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a49c0b7395d40df48949fc68599058a06"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a49c0b7395d40df48949fc68599058a06">D3D12MA::Allocation::CommittedAllocationList</a></div><div class="ttdeci">friend class CommittedAllocationList</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:961</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a4e7380aabcac5b0a1cd833c5c84459c6"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a4e7380aabcac5b0a1cd833c5c84459c6">D3D12MA::Allocation::heap</a></div><div class="ttdeci">ID3D12Heap * heap</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1002</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a5b3d5b189021973d9934cbe9f5f266f0"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a5b3d5b189021973d9934cbe9f5f266f0">D3D12MA::Allocation::m_Committed</a></div><div class="ttdeci">struct D3D12MA::Allocation::@0::@2 m_Committed</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a649a3bb1be1a981cbf3f61f3819addca"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a649a3bb1be1a981cbf3f61f3819addca">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:911</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a65fab0c479df1b6b72c9300e68dc6770"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a65fab0c479df1b6b72c9300e68dc6770">D3D12MA::Allocation::GetName</a></div><div class="ttdeci">LPCWSTR GetName() const</div><div class="ttdoc">Returns the name associated with the allocation object.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:934</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a6f31560bc71451410a2a907b6d81b48f"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a6f31560bc71451410a2a907b6d81b48f">D3D12MA::Allocation::next</a></div><div class="ttdeci">Allocation * next</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:987</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a72b45054123ec465caca5531f5d17998"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a72b45054123ec465caca5531f5d17998">D3D12MA::Allocation::AllocatorPimpl</a></div><div class="ttdeci">friend class AllocatorPimpl</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:959</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a73c55decc2485b907f678d95aac24b6b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a73c55decc2485b907f678d95aac24b6b">D3D12MA::Allocation::offset</a></div><div class="ttdeci">UINT64 offset</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:992</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a92c2fb6f22b28817eb83a59407d7dd30"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a92c2fb6f22b28817eb83a59407d7dd30">D3D12MA::Allocation::GetSize</a></div><div class="ttdeci">UINT64 GetSize() const</div><div class="ttdoc">Returns size in bytes of the allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:905</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_a968f13f23d03e50cc50b87835b6d5a85"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA::Allocation::D3D12MA_DELETE</a></div><div class="ttdeci">friend void D3D12MA_DELETE(const ALLOCATION_CALLBACKS &, T *)</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_aae4c97f0734d50e5a4697557f566a83b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#aae4c97f0734d50e5a4697557f566a83b">D3D12MA::Allocation::JsonWriter</a></div><div class="ttdeci">friend class JsonWriter</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:962</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_ab1f59d849add2cdbfbebf4eb98db5c97"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#ab1f59d849add2cdbfbebf4eb98db5c97">D3D12MA::Allocation::list</a></div><div class="ttdeci">CommittedAllocationList * list</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:985</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_ac15798741797425b4e9e67bfc991e06b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#ac15798741797425b4e9e67bfc991e06b">D3D12MA::Allocation::GetHeap</a></div><div class="ttdeci">ID3D12Heap * GetHeap() const</div><div class="ttdoc">Returns memory heap that the resource is created in.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_adc3ac89758a915a409e047f9b89aa160"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#adc3ac89758a915a409e047f9b89aa160">D3D12MA::Allocation::prev</a></div><div class="ttdeci">Allocation * prev</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:986</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_adc7cf6224b7ca6205d1099a013f40424"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#adc7cf6224b7ca6205d1099a013f40424">D3D12MA::Allocation::m_Heap</a></div><div class="ttdeci">struct D3D12MA::Allocation::@0::@4 m_Heap</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_af9e643276b577aa7f21937f75d4b82ac"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#af9e643276b577aa7f21937f75d4b82ac">D3D12MA::Allocation::SetName</a></div><div class="ttdeci">void SetName(LPCWSTR Name)</div><div class="ttdoc">Associates a name with the allocation object. This name is for use in debug diagnostics and tools.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocation_html_afcc5dff8e6d4a24365ab9c92865d1bc3"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocation.html#afcc5dff8e6d4a24365ab9c92865d1bc3">D3D12MA::Allocation::PoolAllocator</a></div><div class="ttdeci">friend class PoolAllocator</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:965</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html">D3D12MA::Allocator</a></div><div class="ttdoc">Represents main object of this library initialized for particular ID3D12Device.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1288</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_a08210561b92c4bd7ede9dd7beba4bb80"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#a08210561b92c4bd7ede9dd7beba4bb80">D3D12MA::Allocator::IsCacheCoherentUMA</a></div><div class="ttdeci">BOOL IsCacheCoherentUMA() const</div><div class="ttdoc">Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::CacheCoherentUMA was found to be true.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_a29716b3084916abed7793bf2ec4b65db"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#a29716b3084916abed7793bf2ec4b65db">D3D12MA::Allocator::BuildStatsString</a></div><div class="ttdeci">void BuildStatsString(WCHAR **ppStatsString, BOOL DetailedMap) const</div><div class="ttdoc">Builds and returns statistics as a string in JSON format.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_a468ba0c93121eaaee402b08775f1dd11"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#a468ba0c93121eaaee402b08775f1dd11">D3D12MA::Allocator::SetCurrentFrameIndex</a></div><div class="ttdeci">void SetCurrentFrameIndex(UINT frameIndex)</div><div class="ttdoc">Sets the index of the current frame.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_a6c1fbc673e2559ead34dbf039dd47d60"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#a6c1fbc673e2559ead34dbf039dd47d60">D3D12MA::Allocator::AllocateMemory1</a></div><div class="ttdeci">HRESULT AllocateMemory1(const ALLOCATION_DESC *pAllocDesc, const D3D12_RESOURCE_ALLOCATION_INFO *pAllocInfo, ID3D12ProtectedResourceSession *pProtectedSession, Allocation **ppAllocation)</div><div class="ttdoc">Similar to Allocator::AllocateMemory, but supports additional parameter pProtectedSession.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_a7cc10fd0b328a512165cf636cb795090"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#a7cc10fd0b328a512165cf636cb795090">D3D12MA::Allocator::CreateAllocator</a></div><div class="ttdeci">friend HRESULT CreateAllocator(const ALLOCATOR_DESC *, Allocator **)</div><div class="ttdoc">Creates new main D3D12MA::Allocator object and returns it through ppAllocator.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_a8392663494384c16d8bfa12b827b4f9c"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#a8392663494384c16d8bfa12b827b4f9c">D3D12MA::Allocator::FreeStatsString</a></div><div class="ttdeci">void FreeStatsString(WCHAR *pStatsString) const</div><div class="ttdoc">Frees memory of a string returned from Allocator::BuildStatsString.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_a8ce95f85e5f2a1d41b81d676b21c04ae"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#a8ce95f85e5f2a1d41b81d676b21c04ae">D3D12MA::Allocator::GetD3D12Options</a></div><div class="ttdeci">const D3D12_FEATURE_DATA_D3D12_OPTIONS & GetD3D12Options() const</div><div class="ttdoc">Returns cached options retrieved from D3D12 device.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_a968f13f23d03e50cc50b87835b6d5a85"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA::Allocator::D3D12MA_DELETE</a></div><div class="ttdeci">friend void D3D12MA_DELETE(const ALLOCATION_CALLBACKS &, T *)</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_a9e742884bd45dd7f01193d13fcd05af0"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#a9e742884bd45dd7f01193d13fcd05af0">D3D12MA::Allocator::IsUMA</a></div><div class="ttdeci">BOOL IsUMA() const</div><div class="ttdoc">Returns true if D3D12_FEATURE_DATA_ARCHITECTURE1::UMA was found to be true.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_aa37d6b9fe8ea0864f7a35b9d68e8345a"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#aa37d6b9fe8ea0864f7a35b9d68e8345a">D3D12MA::Allocator::CreateResource</a></div><div class="ttdeci">HRESULT CreateResource(const ALLOCATION_DESC *pAllocDesc, const D3D12_RESOURCE_DESC *pResourceDesc, D3D12_RESOURCE_STATES InitialResourceState, const D3D12_CLEAR_VALUE *pOptimizedClearValue, Allocation **ppAllocation, REFIID riidResource, void **ppvResource)</div><div class="ttdoc">Allocates memory and creates a D3D12 resource (buffer or texture). This is the main allocation functi...</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_aac7b1f6bf53cbf4c4ce2264cb72ca515"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#aac7b1f6bf53cbf4c4ce2264cb72ca515">D3D12MA::Allocator::CreatePool</a></div><div class="ttdeci">HRESULT CreatePool(const POOL_DESC *pPoolDesc, Pool **ppPool)</div><div class="ttdoc">Creates custom pool.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_ab45536f92410aedb7be44ea36b1b4717"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#ab45536f92410aedb7be44ea36b1b4717">D3D12MA::Allocator::CreateAliasingResource</a></div><div class="ttdeci">HRESULT CreateAliasingResource(Allocation *pAllocation, UINT64 AllocationLocalOffset, const D3D12_RESOURCE_DESC *pResourceDesc, D3D12_RESOURCE_STATES InitialResourceState, const D3D12_CLEAR_VALUE *pOptimizedClearValue, REFIID riidResource, void **ppvResource)</div><div class="ttdoc">Creates a new resource in place of an existing allocation. This is useful for memory aliasing.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_abe927bd3ad6930111d4d9408515b9601"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#abe927bd3ad6930111d4d9408515b9601">D3D12MA::Allocator::GetBudget</a></div><div class="ttdeci">void GetBudget(Budget *pGpuBudget, Budget *pCpuBudget)</div><div class="ttdoc">Retrieves information about current memory budget.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_acb8a10a5ea30171ce60128286aec5ee2"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#acb8a10a5ea30171ce60128286aec5ee2">D3D12MA::Allocator::AllocateMemory</a></div><div class="ttdeci">HRESULT AllocateMemory(const ALLOCATION_DESC *pAllocDesc, const D3D12_RESOURCE_ALLOCATION_INFO *pAllocInfo, Allocation **ppAllocation)</div><div class="ttdoc">Allocates memory without creating any resource placed in it.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_ad9616c8e8e59ede99214b9c7cea97e5a"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#ad9616c8e8e59ede99214b9c7cea97e5a">D3D12MA::Allocator::CreateResource2</a></div><div class="ttdeci">HRESULT CreateResource2(const ALLOCATION_DESC *pAllocDesc, const D3D12_RESOURCE_DESC1 *pResourceDesc, D3D12_RESOURCE_STATES InitialResourceState, const D3D12_CLEAR_VALUE *pOptimizedClearValue, ID3D12ProtectedResourceSession *pProtectedSession, Allocation **ppAllocation, REFIID riidResource, void **ppvResource)</div><div class="ttdoc">Similar to Allocator::CreateResource1, but supports new structure D3D12_RESOURCE_DESC1.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_addedcd0067319ec566042f5cb520843b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#addedcd0067319ec566042f5cb520843b">D3D12MA::Allocator::CalculateStats</a></div><div class="ttdeci">void CalculateStats(Stats *pStats)</div><div class="ttdoc">Retrieves statistics from the current state of the allocator.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_allocator_html_afa0de85c76ce1f86fe9b0bd94dad5e8b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_allocator.html#afa0de85c76ce1f86fe9b0bd94dad5e8b">D3D12MA::Allocator::CreateResource1</a></div><div class="ttdeci">HRESULT CreateResource1(const ALLOCATION_DESC *pAllocDesc, const D3D12_RESOURCE_DESC *pResourceDesc, D3D12_RESOURCE_STATES InitialResourceState, const D3D12_CLEAR_VALUE *pOptimizedClearValue, ID3D12ProtectedResourceSession *pProtectedSession, Allocation **ppAllocation, REFIID riidResource, void **ppvResource)</div><div class="ttdoc">Similar to Allocator::CreateResource, but supports additional parameter pProtectedSession.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_pool_html"><div class="ttname"><a href="class_d3_d12_m_a_1_1_pool.html">D3D12MA::Pool</a></div><div class="ttdoc">Custom memory pool.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1100</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_pool_html_a20617cfec0461cf8c2b92115b5140c5b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_pool.html#a20617cfec0461cf8c2b92115b5140c5b">D3D12MA::Pool::SetName</a></div><div class="ttdeci">void SetName(LPCWSTR Name)</div><div class="ttdoc">Associates a name with the pool. This name is for use in debug diagnostics and tools.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_pool_html_a63c91d92a9ca48b98866a5cc1aea333b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_pool.html#a63c91d92a9ca48b98866a5cc1aea333b">D3D12MA::Pool::GetName</a></div><div class="ttdeci">LPCWSTR GetName() const</div><div class="ttdoc">Returns the name associated with the pool object.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_pool_html_a72b45054123ec465caca5531f5d17998"><div class="ttname"><a href="class_d3_d12_m_a_1_1_pool.html#a72b45054123ec465caca5531f5d17998">D3D12MA::Pool::AllocatorPimpl</a></div><div class="ttdeci">friend class AllocatorPimpl</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1134</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_pool_html_a8e4cc5fb13aa33398d391296336c457e"><div class="ttname"><a href="class_d3_d12_m_a_1_1_pool.html#a8e4cc5fb13aa33398d391296336c457e">D3D12MA::Pool::CalculateStats</a></div><div class="ttdeci">void CalculateStats(StatInfo *pStats)</div><div class="ttdoc">Retrieves statistics from the current state of this pool.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_pool_html_a968f13f23d03e50cc50b87835b6d5a85"><div class="ttname"><a href="class_d3_d12_m_a_1_1_pool.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA::Pool::D3D12MA_DELETE</a></div><div class="ttdeci">friend void D3D12MA_DELETE(const ALLOCATION_CALLBACKS &, T *)</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_pool_html_aaab59af46d922d6b81fce8d8be987028"><div class="ttname"><a href="class_d3_d12_m_a_1_1_pool.html#aaab59af46d922d6b81fce8d8be987028">D3D12MA::Pool::GetDesc</a></div><div class="ttdeci">POOL_DESC GetDesc() const</div><div class="ttdoc">Returns copy of parameters of the pool.</div></div>
|
|
|
|
|
<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:1568</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a02dfae4c0856f22da885a332de7821fa"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a02dfae4c0856f22da885a332de7821fa">D3D12MA::VirtualBlock::FreeAllocation</a></div><div class="ttdeci">void FreeAllocation(UINT64 offset)</div><div class="ttdoc">Frees the allocation at given offset.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a039ee8426818d0126cf7f44c1c658526"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a039ee8426818d0126cf7f44c1c658526">D3D12MA::VirtualBlock::CalculateStats</a></div><div class="ttdeci">void CalculateStats(StatInfo *pInfo) const</div><div class="ttdoc">Retrieves statistics from the current state of the block.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a0af4aec3d2efc913ee43b0725e8a0289"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a0af4aec3d2efc913ee43b0725e8a0289">D3D12MA::VirtualBlock::SetAllocationUserData</a></div><div class="ttdeci">void SetAllocationUserData(UINT64 offset, void *pUserData)</div><div class="ttdoc">Changes custom pointer for an allocation at given offset to a new value.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a287b8f0e455ffc7f302094671f922afb"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a287b8f0e455ffc7f302094671f922afb">D3D12MA::VirtualBlock::GetAllocationInfo</a></div><div class="ttdeci">void GetAllocationInfo(UINT64 offset, VIRTUAL_ALLOCATION_INFO *pInfo) const</div><div class="ttdoc">Returns information about an allocation at given offset - its size and custom pointer.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a6f78ddaa7da194e239089e52093e68a9"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a6f78ddaa7da194e239089e52093e68a9">D3D12MA::VirtualBlock::FreeStatsString</a></div><div class="ttdeci">void FreeStatsString(WCHAR *pStatsString) const</div><div class="ttdoc">Frees memory of a string returned from VirtualBlock::BuildStatsString.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a7b23fd2da6f0343095fb14b31395678b"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a7b23fd2da6f0343095fb14b31395678b">D3D12MA::VirtualBlock::IsEmpty</a></div><div class="ttdeci">BOOL IsEmpty() const</div><div class="ttdoc">Returns true if the block is empty - contains 0 allocations.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a828a27070bfa762cae796d4c8f2ef703"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a828a27070bfa762cae796d4c8f2ef703">D3D12MA::VirtualBlock::BuildStatsString</a></div><div class="ttdeci">void BuildStatsString(WCHAR **ppStatsString) const</div><div class="ttdoc">Builds and returns statistics as a string in JSON format, including the list of allocations with thei...</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_a968f13f23d03e50cc50b87835b6d5a85"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#a968f13f23d03e50cc50b87835b6d5a85">D3D12MA::VirtualBlock::D3D12MA_DELETE</a></div><div class="ttdeci">friend void D3D12MA_DELETE(const ALLOCATION_CALLBACKS &, T *)</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_aa57575f1af18461012bde8c4b6f3c56c"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#aa57575f1af18461012bde8c4b6f3c56c">D3D12MA::VirtualBlock::Allocate</a></div><div class="ttdeci">HRESULT Allocate(const VIRTUAL_ALLOCATION_DESC *pDesc, UINT64 *pOffset)</div><div class="ttdoc">Creates new allocation.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_ab8bb16e20c691720aad26ecbf105aa6f"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#ab8bb16e20c691720aad26ecbf105aa6f">D3D12MA::VirtualBlock::CreateVirtualBlock</a></div><div class="ttdeci">friend HRESULT CreateVirtualBlock(const VIRTUAL_BLOCK_DESC *, VirtualBlock **)</div><div class="ttdoc">Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.</div></div>
|
|
|
|
|
<div class="ttc" id="aclass_d3_d12_m_a_1_1_virtual_block_html_ae22b18c0b7c31b44c1d740f886369189"><div class="ttname"><a href="class_d3_d12_m_a_1_1_virtual_block.html#ae22b18c0b7c31b44c1d740f886369189">D3D12MA::VirtualBlock::Clear</a></div><div class="ttdeci">void Clear()</div><div class="ttdoc">Frees all the allocations.</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html"><div class="ttname"><a href="namespace_d3_d12_m_a.html">D3D12MA</a></div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:768</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_a27ddd7db5650bc1d2afa009bebb6a53b"><div class="ttname"><a href="namespace_d3_d12_m_a.html#a27ddd7db5650bc1d2afa009bebb6a53b">D3D12MA::ALLOCATE_FUNC_PTR</a></div><div class="ttdeci">void *(* ALLOCATE_FUNC_PTR)(size_t Size, size_t Alignment, void *pUserData)</div><div class="ttdoc">Pointer to custom callback function that allocates CPU memory.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:785</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_a3a473f88974f9312dbb6ff9f18228d76"><div class="ttname"><a href="namespace_d3_d12_m_a.html#a3a473f88974f9312dbb6ff9f18228d76">D3D12MA::FREE_FUNC_PTR</a></div><div class="ttdeci">void(* FREE_FUNC_PTR)(void *pMemory, void *pUserData)</div><div class="ttdoc">Pointer to custom callback function that deallocates CPU memory.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:791</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_aa341b796fdffb16c976e659ccce80332"><div class="ttname"><a href="namespace_d3_d12_m_a.html#aa341b796fdffb16c976e659ccce80332">D3D12MA::CreateAllocator</a></div><div class="ttdeci">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 class="ttc" id="anamespace_d3_d12_m_a_html_abad7f40135648f8d0871be36f2919982"><div class="ttname"><a href="namespace_d3_d12_m_a.html#abad7f40135648f8d0871be36f2919982">D3D12MA::HEAP_TYPE_COUNT</a></div><div class="ttdeci">const UINT HEAP_TYPE_COUNT</div><div class="ttdoc">Number of D3D12 memory heap types supported.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1201</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_abbad31a7e0b3d09d77f3fb704b77645e"><div class="ttname"><a href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645e">D3D12MA::ALLOCATION_FLAGS</a></div><div class="ttdeci">ALLOCATION_FLAGS</div><div class="ttdoc">Bit flags to be used with ALLOCATION_DESC::Flags.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:806</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_abbad31a7e0b3d09d77f3fb704b77645ea0bf578b096d6ea73cea86b031541733e"><div class="ttname"><a href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea0bf578b096d6ea73cea86b031541733e">D3D12MA::ALLOCATION_FLAG_NONE</a></div><div class="ttdeci">@ ALLOCATION_FLAG_NONE</div><div class="ttdoc">Zero.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:808</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675"><div class="ttname"><a href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea661a5472dba3dcecc5a2cc92afd25675">D3D12MA::ALLOCATION_FLAG_COMMITTED</a></div><div class="ttdeci">@ ALLOCATION_FLAG_COMMITTED</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:815</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628"><div class="ttname"><a href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645ea9a52c6ae694eadcd20896091e77c0628">D3D12MA::ALLOCATION_FLAG_NEVER_ALLOCATE</a></div><div class="ttdeci">@ ALLOCATION_FLAG_NEVER_ALLOCATE</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:826</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6"><div class="ttname"><a href="namespace_d3_d12_m_a.html#abbad31a7e0b3d09d77f3fb704b77645eab374417c1f22a833ead268a6c21424e6">D3D12MA::ALLOCATION_FLAG_WITHIN_BUDGET</a></div><div class="ttdeci">@ ALLOCATION_FLAG_WITHIN_BUDGET</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:831</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_ad5ae5a5e42b878f2e18ab5d1fbfb9916"><div class="ttname"><a href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916">D3D12MA::ALLOCATOR_FLAGS</a></div><div class="ttdeci">ALLOCATOR_FLAGS</div><div class="ttdoc">Bit flags to be used with ALLOCATOR_DESC::Flags.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1147</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb"><div class="ttname"><a href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb">D3D12MA::ALLOCATOR_FLAG_ALWAYS_COMMITTED</a></div><div class="ttdeci">@ ALLOCATOR_FLAG_ALWAYS_COMMITTED</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1164</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_ad5ae5a5e42b878f2e18ab5d1fbfb9916a1b06bb21df006f76a9ed1bc41838bc52"><div class="ttname"><a href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a1b06bb21df006f76a9ed1bc41838bc52">D3D12MA::ALLOCATOR_FLAG_SINGLETHREADED</a></div><div class="ttdeci">@ ALLOCATOR_FLAG_SINGLETHREADED</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1158</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_ad5ae5a5e42b878f2e18ab5d1fbfb9916a2fb30967b492c27823a80b5de3aea26f"><div class="ttname"><a href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a2fb30967b492c27823a80b5de3aea26f">D3D12MA::ALLOCATOR_FLAG_NONE</a></div><div class="ttdeci">@ ALLOCATOR_FLAG_NONE</div><div class="ttdoc">Zero.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1149</div></div>
|
|
|
|
|
<div class="ttc" id="anamespace_d3_d12_m_a_html_aefde6264e7a88bebe8e193df343af317"><div class="ttname"><a href="namespace_d3_d12_m_a.html#aefde6264e7a88bebe8e193df343af317">D3D12MA::CreateVirtualBlock</a></div><div class="ttdeci">HRESULT CreateVirtualBlock(const VIRTUAL_BLOCK_DESC *pDesc, VirtualBlock **ppVirtualBlock)</div><div class="ttdoc">Creates new D3D12MA::VirtualBlock object and returns it through ppVirtualBlock.</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_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"><div class="ttname"><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">D3D12MA::ALLOCATION_CALLBACKS</a></div><div class="ttdoc">Custom callbacks to CPU memory allocation functions.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:795</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_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_a114e6c4d63d6b020e01f526a975d6849"><div class="ttname"><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#a114e6c4d63d6b020e01f526a975d6849">D3D12MA::ALLOCATION_CALLBACKS::pFree</a></div><div class="ttdeci">FREE_FUNC_PTR pFree</div><div class="ttdoc">Dellocation function.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:799</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_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"><div class="ttname"><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#af4d6436455728696fefd503869226436">D3D12MA::ALLOCATION_CALLBACKS::pAllocate</a></div><div class="ttdeci">ALLOCATE_FUNC_PTR pAllocate</div><div class="ttdoc">Allocation function.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:797</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_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_af75391788c1241a06bb0de792c02c335"><div class="ttname"><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#af75391788c1241a06bb0de792c02c335">D3D12MA::ALLOCATION_CALLBACKS::pUserData</a></div><div class="ttdeci">void * pUserData</div><div class="ttdoc">Custom data that will be passed to allocation and deallocation functions as pUserData parameter.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:801</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"><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:836</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_a92dec49b788a334fc91c55340dfbace6"><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#a92dec49b788a334fc91c55340dfbace6">D3D12MA::ALLOCATION_DESC::Flags</a></div><div class="ttdeci">ALLOCATION_FLAGS Flags</div><div class="ttdoc">Flags.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:838</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:861</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:845</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_ab06b85f3cf3254f855b29264477e3934"><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#ab06b85f3cf3254f855b29264477e3934">D3D12MA::ALLOCATION_DESC::CustomPool</a></div><div class="ttdeci">Pool * CustomPool</div><div class="ttdoc">Custom pool to place the new resource in. Optional.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:867</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"><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">D3D12MA::ALLOCATOR_DESC</a></div><div class="ttdoc">Parameters of created Allocator object. To be used with CreateAllocator().</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1169</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_a773ecc1945eb47c20e06455c3759e4ef"><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#a773ecc1945eb47c20e06455c3759e4ef">D3D12MA::ALLOCATOR_DESC::pAllocationCallbacks</a></div><div class="ttdeci">const ALLOCATION_CALLBACKS * pAllocationCallbacks</div><div class="ttdoc">Custom CPU memory allocation callbacks. Optional.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1189</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_a97149c9559deae943c2cfa49aeeff8a6"><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#a97149c9559deae943c2cfa49aeeff8a6">D3D12MA::ALLOCATOR_DESC::PreferredBlockSize</a></div><div class="ttdeci">UINT64 PreferredBlockSize</div><div class="ttdoc">Preferred size of a single ID3D12Heap block to be allocated.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1183</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_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:1195</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.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1171</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:1177</div></div>
|
|
|
|
|
<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, in bytes, for GPU or CPU memory.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1243</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, in bytes.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1275</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, in bytes.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1264</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_budget_html_abcb043908bd528852f8ef3867ad76099"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_budget.html#abcb043908bd528852f8ef3867ad76099">D3D12MA::Budget::AllocationBytes</a></div><div class="ttdeci">UINT64 AllocationBytes</div><div class="ttdoc">Sum size of all allocations created in particular heap type, in bytes.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1254</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_budget_html_ad1ad5d8521993cb623255ee1709a1c4c"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_budget.html#ad1ad5d8521993cb623255ee1709a1c4c">D3D12MA::Budget::BlockBytes</a></div><div class="ttdeci">UINT64 BlockBytes</div><div class="ttdoc">Sum size of all memory blocks allocated from particular heap type, in bytes.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1246</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html">D3D12MA::POOL_DESC</a></div><div class="ttdoc">Parameters of created D3D12MA::Pool object. To be used with D3D12MA::Allocator::CreatePool.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1046</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c_html_a06e06813bcb5206e9f7a8b0564bf1d6a"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a06e06813bcb5206e9f7a8b0564bf1d6a">D3D12MA::POOL_DESC::HeapProperties</a></div><div class="ttdeci">D3D12_HEAP_PROPERTIES HeapProperties</div><div class="ttdoc">The parameters of memory heap where allocations of this pool should be placed.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1052</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c_html_a0a6283eeb1f3f99d8c4ae264aec7f749"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a0a6283eeb1f3f99d8c4ae264aec7f749">D3D12MA::POOL_DESC::MinAllocationAlignment</a></div><div class="ttdeci">UINT64 MinAllocationAlignment</div><div class="ttdoc">Additional minimum alignment to be used for all allocations created from this pool....</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1088</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c_html_a3795956e4fbfe7c3a23546e02e5d28dc"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a3795956e4fbfe7c3a23546e02e5d28dc">D3D12MA::POOL_DESC::HeapFlags</a></div><div class="ttdeci">D3D12_HEAP_FLAGS HeapFlags</div><div class="ttdoc">Heap flags to be used when allocating heaps of this pool.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1063</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c_html_a6f10db3911a3bea1becfc9a0dfa5bac8"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#a6f10db3911a3bea1becfc9a0dfa5bac8">D3D12MA::POOL_DESC::MinBlockCount</a></div><div class="ttdeci">UINT MinBlockCount</div><div class="ttdoc">Minimum number of heaps (memory blocks) to be always allocated in this pool, even if they stay empty....</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1075</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c_html_abbce3a99f253928f9c3c09fa16015f9e"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_p_o_o_l___d_e_s_c.html#abbce3a99f253928f9c3c09fa16015f9e">D3D12MA::POOL_DESC::MaxBlockCount</a></div><div class="ttdeci">UINT MaxBlockCount</div><div class="ttdoc">Maximum number of heaps (memory blocks) that can be allocated in this pool. Optional.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1083</div></div>
|
|
|
|
|
<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:1070</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html">D3D12MA::StatInfo</a></div><div class="ttdoc">Calculated statistics of memory usage in entire allocator.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1207</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_a1337269f8777b6b5176c72ca410fbe36"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#a1337269f8777b6b5176c72ca410fbe36">D3D12MA::StatInfo::UnusedRangeSizeMax</a></div><div class="ttdeci">UINT64 UnusedRangeSizeMax</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1223</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_a180be027720ca98ff3a7470e18a79622"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#a180be027720ca98ff3a7470e18a79622">D3D12MA::StatInfo::UnusedRangeSizeMin</a></div><div class="ttdeci">UINT64 UnusedRangeSizeMin</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1221</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_a1df359c2e9ad4c7763122d1ccd86b168"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#a1df359c2e9ad4c7763122d1ccd86b168">D3D12MA::StatInfo::UnusedBytes</a></div><div class="ttdeci">UINT64 UnusedBytes</div><div class="ttdoc">Total number of bytes occupied by unused ranges.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1217</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_a249d7969bf3f836c13a0f111d6ed886d"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#a249d7969bf3f836c13a0f111d6ed886d">D3D12MA::StatInfo::UnusedRangeSizeAvg</a></div><div class="ttdeci">UINT64 UnusedRangeSizeAvg</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1222</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_a2f50de812e296b71594174ff67bbac6e"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#a2f50de812e296b71594174ff67bbac6e">D3D12MA::StatInfo::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:1211</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_a8284ef3310c9de1600071285448b62c9"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#a8284ef3310c9de1600071285448b62c9">D3D12MA::StatInfo::BlockCount</a></div><div class="ttdeci">UINT BlockCount</div><div class="ttdoc">Number of memory blocks (heaps) allocated.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1209</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_a9d9e69e9cad231fea3a41b06e7eeee35"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#a9d9e69e9cad231fea3a41b06e7eeee35">D3D12MA::StatInfo::AllocationSizeMin</a></div><div class="ttdeci">UINT64 AllocationSizeMin</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1218</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_ac4f3379ea88025e4ccf5880fab2699f7"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#ac4f3379ea88025e4ccf5880fab2699f7">D3D12MA::StatInfo::UsedBytes</a></div><div class="ttdeci">UINT64 UsedBytes</div><div class="ttdoc">Total number of bytes occupied by all allocations.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1215</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_acd3c6f72ffb61a8d39b65a3dab317eb6"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#acd3c6f72ffb61a8d39b65a3dab317eb6">D3D12MA::StatInfo::AllocationSizeMax</a></div><div class="ttdeci">UINT64 AllocationSizeMax</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1220</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_acf3339540ff01d93b6a6f5dc68d83f60"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#acf3339540ff01d93b6a6f5dc68d83f60">D3D12MA::StatInfo::AllocationSizeAvg</a></div><div class="ttdeci">UINT64 AllocationSizeAvg</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1219</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stat_info_html_adfc245a84fb8fba7936b67bd879ffefb"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stat_info.html#adfc245a84fb8fba7936b67bd879ffefb">D3D12MA::StatInfo::UnusedRangeCount</a></div><div class="ttdeci">UINT UnusedRangeCount</div><div class="ttdoc">Number of free ranges of memory between allocations.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1213</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stats_html"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stats.html">D3D12MA::Stats</a></div><div class="ttdoc">General statistics from the current state of the allocator.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1230</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stats_html_a6e433945a118a34f7f6565811e62d718"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stats.html#a6e433945a118a34f7f6565811e62d718">D3D12MA::Stats::HeapType</a></div><div class="ttdeci">StatInfo HeapType[HEAP_TYPE_COUNT]</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1237</div></div>
|
|
|
|
|
<div class="ttc" id="astruct_d3_d12_m_a_1_1_stats_html_ada54d9f0385fcdba491adcfd91f29c28"><div class="ttname"><a href="struct_d3_d12_m_a_1_1_stats.html#ada54d9f0385fcdba491adcfd91f29c28">D3D12MA::Stats::Total</a></div><div class="ttdeci">StatInfo Total</div><div class="ttdoc">Total statistics from all heap types.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1232</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"><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:1525</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:1530</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_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:1535</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_ab8ec8dd20b4b9dc2aaa79d7da024170b"><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#ab8ec8dd20b4b9dc2aaa79d7da024170b">D3D12MA::VIRTUAL_ALLOCATION_DESC::pUserData</a></div><div class="ttdeci">void * pUserData</div><div class="ttdoc">Custom pointer to be associated with the allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1540</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___i_n_f_o_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___i_n_f_o.html">D3D12MA::VIRTUAL_ALLOCATION_INFO</a></div><div class="ttdoc">Parameters of an existing virtual allocation, returned by VirtualBlock::GetAllocationInfo().</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1545</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___i_n_f_o_html_a4b23ad296ab6cd425fb3b6c83c13b4ff"><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___i_n_f_o.html#a4b23ad296ab6cd425fb3b6c83c13b4ff">D3D12MA::VIRTUAL_ALLOCATION_INFO::pUserData</a></div><div class="ttdeci">void * pUserData</div><div class="ttdoc">Custom pointer associated with the allocation.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1555</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___i_n_f_o_html_ab8ede12141594a69230afeb34664fc34"><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___i_n_f_o.html#ab8ede12141594a69230afeb34664fc34">D3D12MA::VIRTUAL_ALLOCATION_INFO::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:1550</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:1509</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_aa8ea08ad0ee64cb2d29c03b85008317f"><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#aa8ea08ad0ee64cb2d29c03b85008317f">D3D12MA::VIRTUAL_BLOCK_DESC::pAllocationCallbacks</a></div><div class="ttdeci">const ALLOCATION_CALLBACKS * pAllocationCallbacks</div><div class="ttdoc">Custom CPU memory allocation callbacks. Optional.</div><div class="ttdef"><b>Definition:</b> D3D12MemAlloc.h:1520</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:1515</div></div>
|
|
|
|
|
</div><!-- fragment --></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.9.1
|
|
|
|
|
</small></address>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|