ID3D12Device::CreateReservedResource メソッド (d3d12.h)
ヒープ内のページにまだマップされていない、予約済みのリソースを作成します。
構文
HRESULT CreateReservedResource(
[in] const D3D12_RESOURCE_DESC *pDesc,
[in] D3D12_RESOURCE_STATES InitialState,
[in, optional] const D3D12_CLEAR_VALUE *pOptimizedClearValue,
[in] REFIID riid,
[out, optional] void **ppvResource
);
パラメーター
[in] pDesc
型: const D3D12_RESOURCE_DESC*
リソースを記述する D3D12_RESOURCE_DESC 構造体へのポインター。
[in] InitialState
D3D12_RESOURCE_STATES 列挙定数 のビットごとの OR'd の組み合わせとしてのリソースの初期状態。
[in, optional] pOptimizedClearValue
型: 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
必要があります。
[in] riid
種類: REFIID
ppvResource で返されるリソース インターフェイスのグローバル一意識別子 (GUID) への参照。 「解説」を参照してください。
riidResource は最も一般的に ID3D12Resource の GUID ですが、任意のインターフェイスの GUID である可能性があります。 リソース オブジェクトがこの GUID のインターフェイスをサポートしていない場合は、 E_NOINTERFACEで作成が失敗します。
[out, optional] ppvResource
型: void**
作成されたリソース オブジェクトへの要求されたインターフェイス ポインターを受け取るメモリ ブロックへの省略可能なポインター。
ppvResource には、 を指定 nullptr
して、機能テストを有効にすることができます。 ppvResource が の場合、nullptr
オブジェクトは作成されません。pDesc が有効な場合、S_FALSEが返されます。
戻り値
種類: HRESULT
関数が成功した場合は、S_OK を返します。 それ以外の場合は、 HRESULTエラー コードが返されます。
戻り値 | 説明 |
---|---|
E_OUTOFMEMORY | リソースを作成するためのメモリが不足しています。 |
その他Direct3D 12可能な戻り値については、戻りコードを参照してください。
注釈
CreateReservedResource は、Direct3D 11 の D3D11_RESOURCE_MISC_TILED と同じです。 仮想メモリのみのリソースを作成し、バッキング ストアは作成しません。
CopyTileMappings と UpdateTileMappings を使用して、リソースを物理メモリ (つまりヒープ) にマップする必要があります。
これらのリソースの種類は、アダプターがタイルリソース層 1 以上をサポートしている場合にのみ作成できます。 タイルリソース層は、ヒープにマップされていないリソースにアクセスする動作を定義します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d12.h |
Library | D3D12.lib |
[DLL] | D3D12.dll |