次の方法で共有


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

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 は最も一般的に ID3D12ResourceGUID ですが、任意のインターフェイスの 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

こちらもご覧ください

CreateCommittedResource

CreatePlacedResource

ID3D12Device