Skip to main content
このアダプター上のリソースのコレクションに必要なメモリのサイズとアラインメントに関する詳細な情報を取得します。ID3D12Device::GetResourceAllocationInfo も参照してください。 このメソッドから返される D3D12_RESOURCE_ALLOCATION_INFO に加えて、このバージョンでは D3D12_RESOURCE_ALLOCATION_INFO1 構造体の配列も返され、入力として渡された各リソース記述に対する追加の詳細を提供します。pResourceAllocationInfo1 パラメーターを参照してください。

構文

パラメーター

visibleMask [in]
型: UINT
シングル GPU 動作の場合は 0 に設定します。複数の GPU ノードがある場合は、ノード (デバイスの物理アダプター) を識別するビットを設定します。マスクの各ビットは 1 つのノードに対応します。マルチアダプター システム も参照してください。 numResourceDescs [in]
型: UINT
pResourceDescs 配列内のリソース記述子の数。これは pResourceAllocationInfo1 のサイズ (要素数) でもあります。 pResourceDescs [in]
型: const D3D12_RESOURCE_DESC *
情報を取得するリソースを記述する D3D12_RESOURCE_DESC 構造体の配列。 pResourceAllocationInfo1 [out]
型: D3D12_RESOURCE_ALLOCATION_INFO1 *
入力として渡された各リソース記述に対する追加の詳細を含む D3D12_RESOURCE_ALLOCATION_INFO1 構造体の配列。これにより、アプリケーションが複数のリソース用のヒープを、各リソースを配置する場所のオフセットを手動で計算することなく、簡単に割り当てることができます。

戻り値

型: D3D12_RESOURCE_ALLOCATION_INFO 指定されたリソースの配列に割り当てられたビデオ メモリに関する情報を提供する D3D12_RESOURCE_ALLOCATION_INFO 構造体。

解説

CreatePlacedResource を使用する場合、アプリケーションはテクスチャ リソースのサイズとアラインメントの特性を理解するために GetResourceAllocationInfo を使用する必要があります。このメソッドの結果は特定のアダプターによって異なり、このアダプターおよびドライバー バージョンに固有のものとして扱う必要があります。 アプリケーションは GetResourceAllocationInfo の出力を使用してテクスチャのパック済みミップのプロパティを理解することはできません。テクスチャのパック済みミップのプロパティを理解するには、アプリケーションは GetResourceTiling を使用する必要があります。 テクスチャ リソースのサイズは、GetResourceTiling から返される情報とは大きく異なります。これは、一部のアダプター アーキテクチャが一般的なレンダリング シナリオ中の有効な帯域幅を減らすためにテクスチャに追加のメモリを割り当てるためです。これには、テクスチャ レイアウトに制約があるテクスチャや、標準化されたテクスチャ レイアウトを持つテクスチャも含まれます。その追加のメモリは、CreateReservedResource および UpdateTileMappings を使用するアプリケーションによってスパースにマップまたは再マップすることはできず、GetResourceTiling では報告されません。 アプリケーションは、バッファー リソース (D3D12_RESOURCE_DIMENSION_BUFFER) に対しては GetResourceAllocationInfo の使用を省略できます。バッファーはすべてのアダプター上で同じサイズを持ち、これは D3D12_RESOURCE_DESC::Width 以上の 64 KB の最小の倍数に過ぎません。 複数のリソース記述が渡される場合、構造体のサイズとアラインメントを計算するための C++ アルゴリズムが使用されます。たとえば、2 つの小さな 64 KB アラインメントのリソースと 1 つの小さな 4 MB アラインメントのリソースからなる 3 要素配列は、配列の順序に応じて異なるサイズを報告します。4 MB アラインメントのリソースが真ん中にある場合、結果として得られる Size は 12 MB です。それ以外の場合、結果として得られる Size は 8 MB です。返される Alignment は常に 4 MB になります。これは、リソース配列内のすべてのアラインメントのスーパーセットであるためです。

要件

ヘッダー: d3d12_xs.h
ライブラリ: d3d12_xs.lib
サポートされるプラットフォーム: XBOX Series 本体

関連項目

ID3D12Device4
最終更新日 2026年8月24日