Share via


ID3D12Device3::EnqueueMakeResident 方法 (d3d12.h)

以異步方式讓對象成為裝置的駐留物件。

語法

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

參數

Flags

類型: D3D12_RESIDENCY_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

另請參閱

ID3D12Device

ID3D12Device3