ID3D12Device::CreateCommittedResource メソッド (d3d12.h)
リソース全体を格納するのに十分な大きさのヒープであり、リソースがヒープにマップされるように、リソースと暗黙的なヒープの両方を作成します。
構文
HRESULT CreateCommittedResource(
[in] const D3D12_HEAP_PROPERTIES *pHeapProperties,
[in] D3D12_HEAP_FLAGS HeapFlags,
[in] const D3D12_RESOURCE_DESC *pDesc,
[in] D3D12_RESOURCE_STATES InitialResourceState,
[in, optional] const D3D12_CLEAR_VALUE *pOptimizedClearValue,
[in] REFIID riidResource,
[out, optional] void **ppvResource
);
パラメーター
[in] pHeapProperties
型: const D3D12_HEAP_PROPERTIES*
リソースのヒープのプロパティを提供する D3D12_HEAP_PROPERTIES 構造体へのポインター。
[in] HeapFlags
ヒープ オプション。D3D12_HEAP_FLAGS 列挙定数のビットごとの OR の組み合わせ。
[in] pDesc
型: const D3D12_RESOURCE_DESC*
リソースを記述する D3D12_RESOURCE_DESC 構造体へのポインター。
[in] InitialResourceState
D3D12_RESOURCE_STATES 列挙定数のビットごとの OR の組み合わせとしてのリソースの初期状態。
[in, optional] pOptimizedClearValue
型: const D3D12_CLEAR_VALUE*
クリア カラーの既定値を記述する D3D12_CLEAR_VALUE 構造体を指定します。
pOptimizedClearValue
[in] riidResource
型: REFIID
ppvResourceで返されるリソース インターフェイスのグローバル一意識別子 (
[out, optional] ppvResource
型: void**
作成されたリソース オブジェクトへの要求されたインターフェイス ポインターを受け取るメモリ ブロックへの省略可能なポインター。
ppvResource を nullptr
して、機能テストを有効にすることができます。 ppvResource
戻り値
型: HRESULT
関数が成功した場合は、S_OKを返します。 それ以外の場合は、HRESULTエラー コードを返します。
戻り値 | 形容 |
---|---|
E_OUTOFMEMORY | リソースを作成するためのメモリが不足しています。 |
その他 可能な戻り値については、Direct3D 12 のリターン コード を参照してください。
備考
このメソッドは、リソースとヒープの両方を作成します。これにより、ヒープはリソース全体を格納するのに十分な大きさになり、リソースはヒープにマップされます。 ヒープ オブジェクトはアプリケーションで取得できないため、作成されたヒープは暗黙的なヒープと呼ばれます。 リソースの最終的な参照を解放する前に、アプリケーションで GPU がこのリソースの読み取りまたは書き込みを行ならないようにする必要があります。
暗黙的なヒープは、メソッドがアプリケーションに制御を返す前に、GPU アクセス用に常駐します。 レジデンシーも参照してください。
リソース GPU VA マッピングは変更できません。 ID3D12CommandQueue::UpdateTileMappings と ボリューム タイル リソースのを参照してください。
このメソッドは、複数のスレッドによって同時に呼び出される場合があります。
例
頂点バッファーを作成します。
auto heapProperties = CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_DEFAULT);
auto resourceDesc = CD3DX12_RESOURCE_DESC::Buffer(SampleAssets::VertexDataSize);
ThrowIfFailed(m_device->CreateCommittedResource(
&heapProperties,
D3D12_HEAP_FLAG_NONE,
&resourceDesc,
D3D12_RESOURCE_STATE_COPY_DEST,
nullptr,
IID_PPV_ARGS(&m_vertexBuffer)));
Direct3D 12 リファレンスのコード例
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | d3d12.h |
ライブラリ | D3D12.lib |
DLL | D3D12.dll |
関連項目
CreatePlacedResource の
CreateReservedResource の