共用方式為


ID3D12Device8::CreatePlacedResource1 方法 (d3d12.h)

建立放置於特定堆積中的資源。 放置的資源是可用的最輕量資源物件,而且是建立和終結最快的資源物件。

您的應用程式可以重疊堆積區域上的多個 Direct3D 放置和保留資源,以重複使用視訊記憶體。 簡單的記憶體重複使用模型(如 備註中所述)存在,以釐清任何指定時間的重疊資源是否有效。 為了最大化圖形工具支援,不支持簡單的模型數據繼承;不支援更精細的磚和子資源失效。 只會發生完整重疊的資源失效。

語法

HRESULT CreatePlacedResource1(
  ID3D12Heap                 *pHeap,
  UINT64                     HeapOffset,
  const D3D12_RESOURCE_DESC1 *pDesc,
  D3D12_RESOURCE_STATES      InitialState,
  const D3D12_CLEAR_VALUE    *pOptimizedClearValue,
  REFIID                     riid,
  void                       **ppvResource
);

參數

pHeap

類型:[in] ID3D12Heap*

ID3D12Heap 介面的指標,表示資源所在的堆積。

HeapOffset

類型:UINT64

資源的位移,以位元組為單位。 HeapOffset 必須是資源的倍數,而且 HeapOffset 加上資源大小必須小於或等於堆積大小。 GetResourceAllocationInfo 必須用來瞭解紋理資源的大小。

pDesc

類型:[in] const D3D12_RESOURCE_DESC1*

描述資源之 D3D12_RESOURCE_DESC1 結構的指標,包括 mip 區域。

InitialState

類型:D3D12_RESOURCE_STATES

資源的初始狀態,作為 D3D12_RESOURCE_STATES 列舉常數的位 OR'd 組合。

當資源與 D3D12_HEAP_TYPE_UPLOAD 堆積一起建立時,InitialState 必須 D3D12_RESOURCE_STATE_GENERIC_READ。 當資源與 D3D12_HEAP_TYPE_READBACK 堆積一起建立時,InitialState 必須 D3D12_RESOURCE_STATE_COPY_DEST

pOptimizedClearValue

類型:[in,選擇性] const D3D12_CLEAR_VALUE*

指定描述清楚色彩之預設值的 D3D12_CLEAR_VALUE

pOptimizedClearValue 指定最理想的清除作業值。 當建立的資源是具有 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGETD3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 旗標的紋理時,您的應用程式應該選擇最常使用 呼叫清除作業的值。

清除作業可以與其他值一起呼叫,但當值符合傳遞至資源建立的值時,這些作業不會那麼有效率。

pOptimizedClearValue 搭配 D3D12_RESOURCE_DIMENSION_BUFFER使用時必須是 NULL。

riid

類型:REFIID

資源介面的全域唯一標識碼 (GUID)。 這是輸入參數。

REFIIDGUID,可以使用 __uuidof 宏來取得資源的介面。 例如,__uuidof(ID3D12Resource) 取得資源的介面 GUID。 雖然 riid 通常是,ID3D12Resource的 GUID,但它可能是任何介面的 GUID。 如果資源物件不支援此 GUID的介面,則建立會失敗並產生 E_NOINTERFACE

ppvResource

類型:[out,選擇性] void**

接收資源指標的記憶體區塊指標。 ppvResource 可以是 NULL,以啟用功能測試。 當 ppvResource 為 NULL 時,不會建立任何物件,而且當 pResourceDesc 和其他參數 時,將不會傳回S_FALSE。

傳回值

類型:HRESULT

如果記憶體不足而無法建立資源,這個方法會傳回 E_OUTOFMEMORY。 如需其他可能的傳回值,請參閱 Direct3D 12 傳回碼

言論

請參閱 ID3D12Device::CreatePlacedResource

要求

要求 價值
最低支援的用戶端 Windows 10 組建 20348
支援的最低伺服器 Windows 10 組建 20348
標頭 d3d12.h
連結庫 d3d12.lib
DLL d3d12.dll

另請參閱