同じ保護されたリソース セッションで作成されたヒープからのタイルのみを、保護された予約済みリソースにマップできます。
構文
パラメーター
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 * コンテンツ保護のセッションを表すオブジェクトへのオプションのポインター。指定された場合、このセッションはリソースが保護されるべきであることを示します。ID3D12ProtectedResourceSession は ID3D12Device4::CreateProtectedResourceSession を呼び出して取得できます。 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 を使用する必要があります。 これらのリソース型は、アダプターがタイル リソース Tier 1 以上をサポートしている場合にのみ作成できます。タイル リソースの Tier は、ヒープにマップされていないリソースへのアクセス時の動作を定義します。要件
ヘッダー: d3d12_xs.hライブラリ: d3d12_xs.lib
サポートされるプラットフォーム: XBOX Series 本体
