ID3D12Device3::EnqueueMakeResident 方法 (d3d12.h)
以異步方式讓對象成為裝置的駐留物件。
語法
HRESULT EnqueueMakeResident(
D3D12_RESIDENCY_FLAGS Flags,
UINT NumObjects,
[in] ID3D12Pageable * const *ppObjects,
[in] ID3D12Fence *pFenceToSignal,
UINT64 FenceValueToSignal
);
參數
Flags
控制如果應用程式超過其記憶體預算,是否應該將物件設為駐留。
NumObjects
類型: UINT
ppObjects 陣列中要為裝置建立常駐的物件數目。
[in] ppObjects
類型: ID3D12Pageable*
記憶體區塊的指標;包含物件的 ID3D12Pageable 介面指標數位。
即使大部分的 D3D12 對象繼承自 ID3D12Pageable,但落地變更僅支援下列專案:
- 描述元堆積
- 堆積
- 已認可的資源
- 查詢堆積
[in] pFenceToSignal
類型: ID3D12Fence*
當工作完成時,用來發出訊號的柵欄指標。
FenceValueToSignal
類型: UINT64
工作完成時,未帶正負號的 64 位值會向柵欄發出訊號。
傳回值
類型: HRESULT
這個方法會傳回其中一個 Direct3D 12 傳回碼。
備註
EnqueueMakeResident 會執行與 MakeResident 相同的動作,但不會等待資源成為常駐。 相反地, EnqueueMakeResident 會在工作完成時發出柵欄訊號。
系統不允許使用 EnqueueMakeResident 在其柵欄發出訊號之前,參考已存在之資源的工作。 相反地,此 API 的呼叫保證會依序發出對應的柵欄訊號,因此相同的柵欄可用於呼叫呼叫。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d12.h |
程式庫 | D3D12.lib |
Dll | D3D12.dll |