ID3D12Device3::EnqueueMakeResident method (d3d12.h)

Asynchronously makes objects resident for the device.

Syntax

HRESULT EnqueueMakeResident(
       D3D12_RESIDENCY_FLAGS Flags,
       UINT                  NumObjects,
  [in] ID3D12Pageable        * const *ppObjects,
  [in] ID3D12Fence           *pFenceToSignal,
       UINT64                FenceValueToSignal
);

Parameters

Flags

Type: D3D12_RESIDENCY_FLAGS

Controls whether the objects should be made resident if the application is over its memory budget.

NumObjects

Type: UINT

The number of objects in the ppObjects array to make resident for the device.

[in] ppObjects

Type: ID3D12Pageable*

A pointer to a memory block; contains an array of ID3D12Pageable interface pointers for the objects.

Even though most D3D12 objects inherit from ID3D12Pageable, residency changes are only supported on the following:

  • descriptor heaps
  • heaps
  • committed resources
  • query heaps

[in] pFenceToSignal

Type: ID3D12Fence*

A pointer to the fence used to signal when the work is done.

FenceValueToSignal

Type: UINT64

An unsigned 64-bit value signaled to the fence when the work is done.

Return value

Type: HRESULT

This method returns one of the Direct3D 12 Return Codes.

Remarks

EnqueueMakeResident performs the same actions as MakeResident, but does not wait for the resources to be made resident. Instead, EnqueueMakeResident signals a fence when the work is done.

The system will not allow work that references the resources that are being made resident by using EnqueueMakeResident before its fence is signaled. Instead, calls to this API are guaranteed to signal their corresponding fence in order, so the same fence can be used from call to call.

Requirements

Requirement Value
Target Platform Windows
Header d3d12.h
Library D3D12.lib
DLL D3D12.dll

See also

ID3D12Device

ID3D12Device3