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 |