Skip to main content
このアダプター上のリソース コレクションに必要なメモリのサイズと配置を取得します。

構文

パラメーター

visibleMask [in]
型: UINT
シングル GPU 動作の場合は、これを 0 に設定します。GPU ノードが複数ある場合は、ノード (デバイスの物理アダプター) を識別するビットを設定します。マスク内の各ビットは、単一のノードに対応します。マルチアダプター システム も参照してください。 numResourceDescs [in]
型: UINT
pResourceDescs 配列内のリソース記述子の数。 pResourceDescs [in]
型: const D3D12_RESOURCE_DESC*
情報を取得するリソースを記述した D3D12_RESOURCE_DESC 構造体の配列。

戻り値

型: D3D12_RESOURCE_ALLOCATION_INFO 指定したリソース配列に割り当てられたビデオ メモリに関する情報を提供する D3D12_RESOURCE_ALLOCATION_INFO 構造体。 エラーが発生した場合、D3D12_RESOURCE_ALLOCATION_INFO::SizeInBytesUINT64_MAX に等しくなります。

解説

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

要件

ヘッダー: d3d12_xs.h または d3d12_x.h
ライブラリ: d3d12_xs.lib または d3d12_x.lib
サポートされているプラットフォーム: XBOX Series 本体および XBOX One ファミリ

関連項目

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