ID3D12Device10::CreatePlacedResource2 メソッド (d3d12.h)
特定のヒープに配置されるリソースを作成します。 配置されたリソースは、使用可能な最も軽量なリソース オブジェクトであり、作成と破棄が最も高速です。
アプリケーションでは、ヒープ領域に配置された複数の Direct3D リソースと予約済みリソースを重複させることで、ビデオ メモリを再利用できます。 単純なメモリ再利用モデル ( 「解説」で説明) は、どの重複するリソースが有効であるかを特定の時点で明確にするために存在します。 グラフィックス ツールのサポートを最大化するために、単純なモデルのデータ継承はサポートされていません。詳細なタイルとサブリソースの無効化はサポートされていません。 完全に重複するリソースの無効化のみが発生します。
DirectX 12 Agility SDK 1.7 以降が必要です。
構文
HRESULT CreatePlacedResource2(
ID3D12Heap *pHeap,
UINT64 HeapOffset,
const D3D12_RESOURCE_DESC1 *pDesc,
D3D12_BARRIER_LAYOUT InitialLayout,
const D3D12_CLEAR_VALUE *pOptimizedClearValue,
UINT32 NumCastableFormats,
const DXGI_FORMAT *pCastableFormats,
REFIID riid,
void **ppvResource
);
パラメーター
pHeap
種類: [入力] ID3D12Heap*
リソースが配置されるヒープを表す ID3D12Heap インターフェイスへのポインター。
HeapOffset
種類: UINT64
リソースへのオフセット (バイト単位)。 HeapOffset はリソースのアラインメントの倍数である必要があり、HeapOffset とリソース サイズはヒープ サイズ以下である必要があります。 テクスチャ リソースのサイズを理解するには、GetResourceAllocationInfo を使用する必要があります。
pDesc
型: [in] const D3D12_RESOURCE_DESC*
リソースを記述 するD3D12_RESOURCE_DESC 構造体へのポインター。
InitialLayout
テクスチャ リソースの初期レイアウト。 バッファーのD3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED 。
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 は NULL である必要があります。
NumCastableFormats
pCastableFormats 内の要素の数。
pCastableFormats
このリソースをキャストできる DXGI_FORMAT 構造体の連続した配列。
riid
型: REFIID
リソース インターフェイスのグローバル一意識別子 (GUID)。 これは入力パラメーターです。
リソースへのインターフェイスの REFIID ( GUID) は、 マクロを __uuidof
使用して取得できます。 たとえば、 はインターフェイス __uuidof(ID3D12Resource)
の GUID を リソースに取得します。 riid は、最も一般的には ID3D12Resource の GUID ですが、任意のインターフェイスの任意の GUID である可能性があります。 リソース オブジェクトがこの GUID のインターフェイスをサポートしていない場合、 作成は E_NOINTERFACE で失敗します。
ppvResource
型: [out, optional] void**
リソースへのポインターを受け取るメモリ ブロックへのポインター。 ppvResource を NULL にして、機能テストを有効にすることができます。 ppvResource が NULL の場合、オブジェクトは作成されません。pResourceDesc やその他のパラメーターが有効な場合、S_FALSEが返されます。
戻り値
型: HRESULT
リソースを作成するのに十分なメモリがない場合、このメソッドは E_OUTOFMEMORY を返します。 その他の可能な戻り値については、「戻りコードのDirect3D 12」を参照してください。
注釈
「ID3D12Device::CreatePlacedResource の備考」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d12.h |
Library | D3d12.lib |
[DLL] | D3d12.dll |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示