Skip to main content
デスクリプターをコピー元からコピー先にコピーします。

構文

パラメーター

NumDestDescriptorRanges [in]
型: UINT
コピー先のデスクリプター範囲の数。 pDestDescriptorRangeStarts [in]
型: const D3D12_CPU_DESCRIPTOR_HANDLE *
コピー先の D3D12_CPU_DESCRIPTOR_HANDLE オブジェクトの配列。 すべてのコピー先およびコピー元デスクリプターは、同じ D3D12_DESCRIPTOR_HEAP_TYPE のヒープに存在する必要があります。 pDestDescriptorRangeSizes [in, optional]
型: const UINT *
コピー先のデスクリプター範囲サイズの配列。 NumSrcDescriptorRanges [in]
型: UINT
コピー元のデスクリプター範囲の数。 pSrcDescriptorRangeStarts [in]
型: const D3D12_CPU_DESCRIPTOR_HANDLE *
コピー元の D3D12_CPU_DESCRIPTOR_HANDLE オブジェクトの配列。
pSrcDescriptorRangeStarts パラメーターのすべての要素は、シェーダー可視ではないデスクリプター ヒープに存在する必要があります。これは、シェーダー可視デスクリプター ヒープは WRITE_COMBINE メモリまたは GPU ローカル メモリに作成される場合があり、そこからの読み取りが非常に低速なためです。アプリケーションが、ローカルの「ストレージ」デスクリプター ヒープから、指定のパスまたはフレームに必要なデスクリプターを GPU バインドのデスクリプター ヒープにコピーしてデスクリプター ヒープを管理する場合は、ストレージ ヒープにはシェーダー不透明ヒープを使用し、必要に応じて GPU 可視ヒープにコピーしてください。
pSrcDescriptorRangeSizes [in, optional]
型: const UINT *
コピー元のデスクリプター範囲サイズの配列。 DescriptorHeapsType [in]
型: D3D12_DESCRIPTOR_HEAP_TYPE
コピーするデスクリプター ヒープのタイプを指定する D3D12_DESCRIPTOR_HEAP_TYPE 型の値。デスクリプター タイプによってサイズが異なる場合があるため、これは必須です。 コピー元とコピー先のデスクリプター ヒープはどちらも同じタイプでなければなりません。そうでない場合、デバッグ レイヤーがエラーを発行します。

戻り値

型: void なし。

解説

該当する場合は、このメソッドよりも ID3D12Device::CopyDescriptorsSimple を優先してください。コピーの線形性により、CPU キャッシュ ミス率が改善される可能性があります。

要件

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

関連項目

デスクリプターのコピー ID3D12Device
最終更新日 2026年8月24日