|
192 | 192 | <tr class="memitem:ad5ae5a5e42b878f2e18ab5d1fbfb9916"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916">ALLOCATOR_FLAGS</a> { <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a2fb30967b492c27823a80b5de3aea26f">ALLOCATOR_FLAG_NONE</a> = 0 |
193 | 193 | , <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a1b06bb21df006f76a9ed1bc41838bc52">ALLOCATOR_FLAG_SINGLETHREADED</a> = 0x1 |
194 | 194 | , <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb">ALLOCATOR_FLAG_ALWAYS_COMMITTED</a> = 0x2 |
| 195 | +, <a class="el" href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916ae7dc7ab9168148281ebfe1586f554335">ALLOCATOR_FLAG_DEFAULT_POOLS_NOT_ZEROED</a> = 0x4 |
195 | 196 | }</td></tr> |
196 | 197 | <tr class="memdesc:ad5ae5a5e42b878f2e18ab5d1fbfb9916"><td class="mdescLeft"> </td><td class="mdescRight">Bit flags to be used with ALLOCATOR_DESC::Flags. <a href="namespace_d3_d12_m_a.html#ad5ae5a5e42b878f2e18ab5d1fbfb9916">More...</a><br /></td></tr> |
197 | 198 | <tr class="separator:ad5ae5a5e42b878f2e18ab5d1fbfb9916"><td class="memSeparator" colspan="2"> </td></tr> |
@@ -347,6 +348,61 @@ <h2 class="memtitle"><span class="permalink"><a href="#ad5ae5a5e42b878f2e18ab5d1 |
347 | 348 | </td></tr> |
348 | 349 | <tr><td class="fieldname"><a id="ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb" name="ad5ae5a5e42b878f2e18ab5d1fbfb9916a068863dc0538ff4ea153b046b31e94fb"></a>ALLOCATOR_FLAG_ALWAYS_COMMITTED </td><td class="fielddoc"><p >Every allocation will have its own memory block. To be used for debugging purposes. </p> |
349 | 350 | </td></tr> |
| 351 | +<tr><td class="fieldname"><a id="ad5ae5a5e42b878f2e18ab5d1fbfb9916ae7dc7ab9168148281ebfe1586f554335" name="ad5ae5a5e42b878f2e18ab5d1fbfb9916ae7dc7ab9168148281ebfe1586f554335"></a>ALLOCATOR_FLAG_DEFAULT_POOLS_NOT_ZEROED </td><td class="fielddoc"><p >Heaps created for the default pools will be created with flag <code>D3D12_HEAP_FLAG_CREATE_NOT_ZEROED</code>, allowing for their memory to be not zeroed by the system if possible, which can speed up allocation.</p> |
| 352 | +<p >Only affects default pools. To use the flag with <a class="el" href="custom_pools.html">Custom memory pools</a>, you need to add it manually:</p> |
| 353 | +<div class="fragment"><div class="line">poolDesc.heapFlags |= D3D12_HEAP_FLAG_CREATE_NOT_ZEROED;</div> |
| 354 | +</div><!-- fragment --><p >Only avaiable if <code>ID3D12Device8</code> is present. Otherwise, the flag is ignored. </p> |
| 355 | +</td></tr> |
| 356 | +</table> |
| 357 | + |
| 358 | +</div> |
| 359 | +</div> |
| 360 | +<a id="ab433989212ee6736bf9d63c5bc565df4" name="ab433989212ee6736bf9d63c5bc565df4"></a> |
| 361 | +<h2 class="memtitle"><span class="permalink"><a href="#ab433989212ee6736bf9d63c5bc565df4">◆ </a></span>DEFRAGMENTATION_FLAGS</h2> |
| 362 | + |
| 363 | +<div class="memitem"> |
| 364 | +<div class="memproto"> |
| 365 | + <table class="memname"> |
| 366 | + <tr> |
| 367 | + <td class="memname">enum <a class="el" href="namespace_d3_d12_m_a.html#ab433989212ee6736bf9d63c5bc565df4">D3D12MA::DEFRAGMENTATION_FLAGS</a></td> |
| 368 | + </tr> |
| 369 | + </table> |
| 370 | +</div><div class="memdoc"> |
| 371 | + |
| 372 | +<p>Flags to be passed as <a class="el" href="struct_d3_d12_m_a_1_1_d_e_f_r_a_g_m_e_n_t_a_t_i_o_n___d_e_s_c.html#aac9a357e679a0afa9ab84cd06057630b" title="Flags.">DEFRAGMENTATION_DESC::Flags</a>. </p> |
| 373 | +<table class="fieldtable"> |
| 374 | +<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab433989212ee6736bf9d63c5bc565df4a9d0301a81136ca79e3ba52542c6d2e13" name="ab433989212ee6736bf9d63c5bc565df4a9d0301a81136ca79e3ba52542c6d2e13"></a>DEFRAGMENTATION_FLAG_ALGORITHM_FAST </td><td class="fielddoc"><p >Use simple but fast algorithm for defragmentation. May not achieve best results but will require least time to compute and least allocations to copy. </p> |
| 375 | +</td></tr> |
| 376 | +<tr><td class="fieldname"><a id="ab433989212ee6736bf9d63c5bc565df4ace3a84861ed6a1b8066fa9c12c7e89b9" name="ab433989212ee6736bf9d63c5bc565df4ace3a84861ed6a1b8066fa9c12c7e89b9"></a>DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED </td><td class="fielddoc"><p >Default defragmentation algorithm, applied also when no <code>ALGORITHM</code> flag is specified. Offers a balance between defragmentation quality and the amount of allocations and bytes that need to be moved. </p> |
| 377 | +</td></tr> |
| 378 | +<tr><td class="fieldname"><a id="ab433989212ee6736bf9d63c5bc565df4af205647f08a5c2cddced83ed66892467" name="ab433989212ee6736bf9d63c5bc565df4af205647f08a5c2cddced83ed66892467"></a>DEFRAGMENTATION_FLAG_ALGORITHM_FULL </td><td class="fielddoc"><p >Perform full defragmentation of memory. Can result in notably more time to compute and allocations to copy, but will achieve best memory packing. </p> |
| 379 | +</td></tr> |
| 380 | +<tr><td class="fieldname"><a id="ab433989212ee6736bf9d63c5bc565df4a567e0fe890cc07d8dd6576584e8d9f2d" name="ab433989212ee6736bf9d63c5bc565df4a567e0fe890cc07d8dd6576584e8d9f2d"></a>DEFRAGMENTATION_FLAG_ALGORITHM_MASK </td><td class="fielddoc"><p >A bit mask to extract only <code>ALGORITHM</code> bits from entire set of flags. </p> |
| 381 | +</td></tr> |
| 382 | +</table> |
| 383 | + |
| 384 | +</div> |
| 385 | +</div> |
| 386 | +<a id="a82bb787a69699a877b4166789a30e602" name="a82bb787a69699a877b4166789a30e602"></a> |
| 387 | +<h2 class="memtitle"><span class="permalink"><a href="#a82bb787a69699a877b4166789a30e602">◆ </a></span>DEFRAGMENTATION_MOVE_OPERATION</h2> |
| 388 | + |
| 389 | +<div class="memitem"> |
| 390 | +<div class="memproto"> |
| 391 | + <table class="memname"> |
| 392 | + <tr> |
| 393 | + <td class="memname">enum <a class="el" href="namespace_d3_d12_m_a.html#a82bb787a69699a877b4166789a30e602">D3D12MA::DEFRAGMENTATION_MOVE_OPERATION</a></td> |
| 394 | + </tr> |
| 395 | + </table> |
| 396 | +</div><div class="memdoc"> |
| 397 | + |
| 398 | +<p>Operation performed on single defragmentation move. </p> |
| 399 | +<table class="fieldtable"> |
| 400 | +<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac" name="a82bb787a69699a877b4166789a30e602a29a5c20322e633f6c34ddebd16bc61ac"></a>DEFRAGMENTATION_MOVE_OPERATION_COPY </td><td class="fielddoc"><p >Resource has been recreated at <code>pDstTmpAllocation</code>, data has been copied, old resource has been destroyed. <code>pSrcAllocation</code> will be changed to point to the new place. This is the default value set by <a class="el" href="class_d3_d12_m_a_1_1_defragmentation_context.html#a1606c015d02edc094bb246986159d592" title="Starts single defragmentation pass.">DefragmentationContext::BeginPass()</a>. </p> |
| 401 | +</td></tr> |
| 402 | +<tr><td class="fieldname"><a id="a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6" name="a82bb787a69699a877b4166789a30e602abefe270a1803998dda3f8e01ec3a4ad6"></a>DEFRAGMENTATION_MOVE_OPERATION_IGNORE </td><td class="fielddoc"><p >Set this value if you cannot move the allocation. New place reserved at <code>pDstTmpAllocation</code> will be freed. <code>pSrcAllocation</code> will remain unchanged. </p> |
| 403 | +</td></tr> |
| 404 | +<tr><td class="fieldname"><a id="a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242" name="a82bb787a69699a877b4166789a30e602aa2143507d723de458c2ed94e143ac242"></a>DEFRAGMENTATION_MOVE_OPERATION_DESTROY </td><td class="fielddoc"><p >Set this value if you decide to abandon the allocation and you destroyed the resource. New place reserved <code>pDstTmpAllocation</code> will be freed, along with <code>pSrcAllocation</code>. </p> |
| 405 | +</td></tr> |
350 | 406 | </table> |
351 | 407 |
|
352 | 408 | </div> |
|
0 commit comments