次の方法で共有


ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64 メソッド (d3d12.h)

UINT64 型のプライマリ データ要素を、オプションの依存リソースと共に、あるリソースから別のリソースにアトミックにコピーします。

これらの "依存リソース" は、それらを見つけるためにプライマリ データ要素に依存するため、名前が付けられています。通常、キー要素は、1 つ以上の依存リソースを間接的に参照するアドレス、インデックス、またはその他のハンドルです。

この関数は、UINT64 型 (64 ビット) のプライマリ データ要素をサポートします。 この関数の別のバージョン である AtomicCopyBufferUINT では、UINT 型 (32 ビット) のプライマリ データ要素がサポートされています。

構文

void AtomicCopyBufferUINT64(
  [in] ID3D12Resource                       *pDstBuffer,
       UINT64                               DstOffset,
  [in] ID3D12Resource                       *pSrcBuffer,
       UINT64                               SrcOffset,
       UINT                                 Dependencies,
  [in] ID3D12Resource                       * const *ppDependentResources,
  [in] const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges
);

パラメーター

[in] pDstBuffer

種類: ID3D12Resource*

SAL: In

UINT64 プライマリ データ要素がコピーされるリソース。

DstOffset

種類: UINT64

プライマリ データ要素のコピー先を指定する宛先リソース バッファーへのオフセット (バイト単位)。 このオフセットをリソース バッファーのベース アドレスと組み合わせると、UINT64 値に合わせて自然にアラインされるメモリ アドレスになる必要があります。

[in] pSrcBuffer

種類: ID3D12Resource*

SAL: In

UINT64 プライマリ データ要素のコピー元のリソース。 通常、このデータはアドレス、インデックス、またはその他のハンドルであり、シェーダー コードは待機時間の機密情報の最新バージョンを検索するために使用できます。

SrcOffset

種類: UINT64

プライマリ データ要素のコピー元を指定するソース リソース バッファーへのオフセット (バイト単位)。 このオフセットをリソース バッファーのベース アドレスと組み合わせると、UINT64 値に合わせて自然にアラインされるメモリ アドレスになる必要があります。

Dependencies

型: UINT

依存リソースの数。

[in] ppDependentResources

種類: ID3D12Resource*

SAL: In_reads(Dependencies)

データ ペイロードの依存要素を含むリソースの配列。

[in] pDependentSubresourceRanges

型: const D3D12_SUBRESOURCE_RANGE_UINT64*

SAL: In_reads(Dependencies)

データ ペイロードの依存要素を指定するサブリソース範囲の配列。 これらの要素は、プライマリ データ要素自体がアトミックにコピーされる前に完全に更新されます。 これにより、操作全体が論理的にアトミックになります。つまり、プライマリ データ要素が不完全なデータ ペイロードを参照することはありません。

戻り値

なし

解説

通常、このメソッドは、レンダリング パイプラインの通常の待機時間がユーザー エクスペリエンスにとって有害になる可能性があるリソースを更新するために使用されます。 たとえば、アプリケーションでは、最新のユーザー入力 (ヘッドマウントディスプレイのセンサーなど) からビュー マトリックスを計算し、この関数を使用して、入力とレンダリングの間に認識される待機時間を短縮するために、既に GPU にディスパッチされているコマンド リストでこのマトリックスを更新およびアクティブ化できます。

要件

要件
対象プラットフォーム Windows
ヘッダー d3d12.h
Library D3d12.lib
[DLL] D3d12.dll

こちらもご覧ください

ID3D12GraphicsCommandList1