跳轉到主要內容
建立已保留且尚未對應至堆積中任何頁面的資源 (可選擇用於受保護的工作階段)。另請參閱 ID3D12Device::CreateReservedResource。
只有從使用相同受保護資源工作階段建立之堆積中的圖格,才能對應至受保護的保留資源。

語法

參數

pDesc [in]
類型:const D3D12_RESOURCE_DESC *
D3D12_RESOURCE_DESC 結構的指標,描述資源。 InitialState [in]
類型:D3D12_RESOURCE_STATES
資源的初始狀態,以 D3D12_RESOURCE_STATES 列舉常數的位元 OR 組合表示。 pOptimizedClearValue [in, optional]
類型:const D3D12_CLEAR_VALUE *
指定 D3D12_CLEAR_VALUE 結構,描述清除色彩的預設值。 pOptimizedClearValue 會指定清除作業最佳化的值。當建立的資源是具有 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET 或 D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 旗標的紋理時,您應該選擇最常用來呼叫清除作業的值。您可以使用其他值呼叫清除作業,但這些作業的效率不如值與建立資源時傳入的值相符時那麼高。 使用 D3D12_RESOURCE_DIMENSION_BUFFER 時,必須將 pOptimizedClearValue 設定為 nullptr。 pProtectedSession [in, optional]
類型:ID3D12ProtectedResourceSession *
代表內容保護工作階段之物件的選擇性指標。如果有提供,此工作階段表示資源應受到保護。您可以呼叫 ID3D12Device4::CreateProtectedResourceSession 來取得 ID3D12ProtectedResourceSession。 riid [in]
類型:const IID &
要在 ppvResource 中傳回之資源介面的全域唯一識別碼 (GUID) 參考。請參閱備註。 雖然 riidResource 最常是 ID3D12Resource 的 GUID,但它可以是任何介面的 GUID。如果資源物件不支援此 GUID 的介面,則建立會失敗並傳回 E_NOINTERFACE。 ppvResource [out, optional]
類型:void **
記憶體區塊的選擇性指標,該區塊會接收所建立資源物件的要求介面指標。 ppvResource 可以是 nullptr,以啟用功能測試。當 ppvResource 為 nullptr 時,不會建立任何物件,且當 pDesc 有效時會傳回 S_FALSE。

傳回值

類型:HRESULT 如果函式成功,會傳回 S_OK。否則會傳回 HRESULT 錯誤碼。 如需其他可能的傳回值,請參閱 Direct3D 12 傳回碼。

備註

CreateReservedResource 相當於 Direct3D 11 中的 D3D11_RESOURCE_MISC_TILED。它會建立僅具有虛擬記憶體、沒有備份存放區的資源。 您需要使用 CopyTileMappings 和 UpdateTileMappings,將資源對應至實體記憶體 (也就是堆積)。 只有當介面卡支援圖格資源層級 1 或更高層級時,才能建立這些資源類型。圖格資源層級定義了存取未對應至堆積之資源的行為。

需求

標頭: d3d12_xs.h
程式庫: d3d12_xs.lib
支援的平台:XBOX Series 主機

另請參閱

CreateCommittedResource1 CreatePlacedResource ID3D12Device4
最後修改於 2026年10月6日