Skip to main content
コピー可能なリソース レイアウトを取得します。 アップロード ヒープ内の領域をサブ割り当てする際に、アプリが D3D12_PLACED_SUBRESOURCE_FOOTPRINTD3D12_SUBRESOURCE_FOOTPRINT を入力するのを支援します。

構文

パラメーター

pResourceDesc [in]
型: const D3D12_RESOURCE_DESC *
リソースの記述。D3D12_RESOURCE_DESC 構造体へのポインター。 FirstSubresource [in]
型: UINT
リソース内の最初のサブリソースのインデックス。 有効な値の範囲は 0 から D3D12_REQ_SUBRESOURCES です。 NumSubresources [in]
型: UINT
リソース内のサブリソースの数。有効な値の範囲は 0 から (D3D12_REQ_SUBRESOURCES - FirstSubresource) です。 BaseOffset
型: UINT64
リソースへのオフセット (バイト単位)。 pLayouts [out, optional]
型: D3D12_PLACED_SUBRESOURCE_FOOTPRINT *
各サブリソースの記述と配置を入力する D3D12_PLACED_SUBRESOURCE_FOOTPRINT 構造体の配列 (長さ NumSubresources) へのポインター。 pNumRows [out, optional]
型: UINT *
各サブリソースの行数が入力される整数変数の配列 (長さ NumSubresources) へのポインター。 pRowSizeInBytes [out, optional]
型: UINT64 *
各エントリに各サブリソースの行のパディングなしのサイズ (バイト単位) が入力される整数変数の配列 (長さ NumSubresources) へのポインター。 たとえば、Texture2D リソースの幅が 32 でピクセルあたりのバイト数が 4 の場合、 pRowSizeInBytes は 128 を返します。 pRowSizeInBytes行ピッチ と混同しないでください。pLayouts を調べてそこから行ピッチを取得すると、D3D12_TEXTURE_DATA_PITCH_ALIGNMENT に整列されているため 256 になります。 pTotalBytes [out, optional]
型: UINT64 *
合計サイズ (バイト単位) が入力される整数変数へのポインター。

戻り値

型: void なし。

解説

このルーチンは、アップロード ヒープ内の領域をサブ割り当てする際に、アプリケーションが D3D12_PLACED_SUBRESOURCE_FOOTPRINT 構造体と D3D12_SUBRESOURCE_FOOTPRINT 構造体を入力するのを支援します。 結果の構造体は GPU アダプターに依存しません。つまり、値は GPU アダプターによって変わりません。 GetCopyableFootprints は、リソース フォーマット、テクスチャ レイアウト、アライメント要件 (D3D12_RESOURCE_DESC 構造体から) について指定された詳細を使用して、サブリソース構造体を入力します。 アプリケーションはこれらすべての詳細にアクセスできるため、このメソッドまたはそのバリエーションをアプリの一部として記述することができます。

D3D12Multithreading サンプルでは、ID3D12Device::GetCopyableFootprints を次のように使用しています。
D3D12 リファレンスのサンプル コード を参照してください。

要件

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

関連項目

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