Skip to main content
UINT 型のプライマリ データ要素を、オプションの依存リソースとともに、あるリソースから別のリソースへアトミックにコピーします。 これらの「依存リソース」は、位置を特定するためにプライマリ データ要素に依存することからそのように名付けられています。通常、キー要素はアドレス、インデックス、または 1 つ以上の依存リソースを間接的に参照するその他のハンドルです。 この関数は UINT 型 (32 ビット) のプライマリ データ要素をサポートします。この関数の別バージョンである AtomicCopyBufferUINT64 は、UINT64 型 (64 ビット) のプライマリ データ要素をサポートします。

構文

パラメーター

pDstBuffer [in]
型: ID3D12Resource *
SAL: In UINT プライマリ データ要素のコピー先となるリソース。 DstOffset
型: UINT64
宛先リソース バッファーへのオフセット (バイト単位)。プライマリ データ要素のコピー先を指定します。このオフセットとリソース バッファーのベース アドレスの合計は、UINT 値に対して自然アライメントされたメモリ アドレスにならなければなりません。 pSrcBuffer [in]
型: ID3D12Resource *
SAL: In UINT プライマリ データ要素のコピー元となるリソース。このデータは通常、シェーダー コードが遅延に敏感な情報の最新バージョンを見つけるために使用できるアドレス、インデックス、または他のハンドルです。 SrcOffset
型: UINT64
ソース リソース バッファーへのオフセット (バイト単位)。プライマリ データ要素のコピー元を指定します。このオフセットとリソース バッファーのベース アドレスの合計は、UINT 値に対して自然アライメントされたメモリ アドレスにならなければなりません。 Dependencies
型: UINT
依存リソースの数。 ppDependentResources [in]
型: ID3D12Resource *const *
SAL: In_reads(Dependencies) データ ペイロードの依存要素を含むリソースの配列。 pDependentSubresourceRanges [in]
型: const D3D12_SUBRESOURCE_RANGE_UINT64 *
SAL: In_reads(Dependencies) データ ペイロードの依存要素を指定するサブリソース範囲の配列。これらの要素は、プライマリ データ要素自体がアトミックにコピーされる前に完全に更新されます。これにより、操作全体が論理的にアトミックであることが保証されます。つまり、プライマリ データ要素が不完全なデータ ペイロードを参照することは決してありません。

戻り値

型: void なし。

解説

このメソッドは通常、通常のレンダリング パイプラインの遅延がユーザー エクスペリエンスに悪影響を及ぼす可能性のあるリソースを更新するために使用されます。たとえば、アプリケーションは (ヘッドマウント ディスプレイのセンサーなどの) 最新のユーザー入力からビュー マトリックスを計算し、この関数を使用して、すでに GPU にディスパッチされたコマンド リスト内でこの行列を更新して有効化することで、入力とレンダリング間の知覚遅延を低減できます。

要件

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

関連項目

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