構文
パラメーター
pHeapProperties [in]型: const D3D12_HEAP_PROPERTIES * リソースのヒープのプロパティを提供する D3D12_HEAP_PROPERTIES 構造体へのポインター。 HeapFlags [in]
型: D3D12_HEAP_FLAGS D3D12_HEAP_FLAGS 列挙定数のビットごとの OR 結合としてのヒープ オプション。 pDesc [in]
型: const D3D12_RESOURCE_DESC * リソースを記述する D3D12_RESOURCE_DESC 構造体へのポインター。 InitialResourceState [in]
型: D3D12_RESOURCE_STATES D3D12_RESOURCE_STATES 列挙定数のビットごとの OR 結合としてのリソースの初期状態。 D3D12_HEAP_TYPE_UPLOAD ヒープと共にリソースを作成する場合は、InitialResourceState を D3D12_RESOURCE_STATE_GENERIC_READ に設定する必要があります。 D3D12_HEAP_TYPE_READBACK ヒープと共にリソースを作成する場合は、InitialResourceState を D3D12_RESOURCE_STATE_COPY_DEST に設定する必要があります。 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 を呼び出して取得できます。 riidResource [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 の戻り値コード を参照してください。
解説
このメソッドは、リソース全体を収容するのに十分な大きさのヒープにリソースがマップされるように、リソースとヒープの両方を作成します。作成されたヒープはアプリケーションからは取得できないため、暗黙のヒープと呼ばれます。リソースの最後の参照を解放する前に、アプリケーションは GPU がこのリソースの読み取りや書き込みを行わなくなることを確認する必要があります。 暗黙のヒープは、メソッドがアプリケーションに制御を返す前に GPU アクセスのためにレジデントにされます。レジデンシ も参照してください。 リソースの GPU VA マッピングは変更できません。ID3D12CommandQueue::UpdateTileMappings と ボリューム タイル リソース を参照してください。 このメソッドは、複数のスレッドから同時に呼び出すことができます。要件
ヘッダー: d3d12_xs.hライブラリ: d3d12_xs.lib
サポートされるプラットフォーム: XBOX Series 本体
