> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AtomicCopyBufferUINT

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

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

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

この関数は UINT 型 (32 ビット) のプライマリ データ要素をサポートします。この関数の別バージョンである [AtomicCopyBufferUINT64](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist1/methods/id3d12graphicscommandlist1_atomiccopybufferuint64_public) は、UINT64 型 (64 ビット) のプライマリ データ要素をサポートします。

## 構文

```cpp theme={null}
void AtomicCopyBufferUINT(
    ID3D12Resource  pDstBuffer,
    UINT64 DstOffset,
    ID3D12Resource  pSrcBuffer,
    UINT64 SrcOffset,
    UINT Dependencies,
    ID3D12Resource const  ppDependentResources,
    const D3D12_SUBRESOURCE_RANGE_UINT64  pDependentSubresourceRanges
)
```

### パラメーター

*pDstBuffer \[in]*\
型: ID3D12Resource \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>*In*</code>

UINT プライマリ データ要素のコピー先となるリソース。

*DstOffset*\
型: UINT64

宛先リソース バッファーへのオフセット (バイト単位)。プライマリ データ要素のコピー先を指定します。このオフセットとリソース バッファーのベース アドレスの合計は、UINT 値に対して自然アライメントされたメモリ アドレスにならなければなりません。

*pSrcBuffer \[in]*\
型: ID3D12Resource \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>*In*</code>

UINT プライマリ データ要素のコピー元となるリソース。このデータは通常、シェーダー コードが遅延に敏感な情報の最新バージョンを見つけるために使用できるアドレス、インデックス、または他のハンドルです。

*SrcOffset*\
型: UINT64

ソース リソース バッファーへのオフセット (バイト単位)。プライマリ データ要素のコピー元を指定します。このオフセットとリソース バッファーのベース アドレスの合計は、UINT 値に対して自然アライメントされたメモリ アドレスにならなければなりません。

*Dependencies*\
型: UINT

依存リソースの数。

*ppDependentResources \[in]*\
型: ID3D12Resource \*const \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>*In\_reads*(Dependencies)</code>

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

*pDependentSubresourceRanges \[in]*\
型: const D3D12\_SUBRESOURCE\_RANGE\_UINT64 \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>*In\_reads*(Dependencies)</code>

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

### 戻り値

型: void

なし。

## 解説

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

## 要件

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

## 関連項目

[ID3D12GraphicsCommandList1](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist1/id3d12graphicscommandlist1_public)


## Related topics

- [AtomicCopyBufferUINT64](/ja-jp/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist1/methods/id3d12graphicscommandlist1_atomiccopybufferuint64_public.md)
- [D3D12_SUBRESOURCE_RANGE_UINT64](/ja-jp/reference/graphics/d3d12/structs/d3d12_subresource_range_uint64_public.md)
- [CopyBufferRegion](/ja-jp/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_copybufferregion_public.md)
- [CopyTiles](/ja-jp/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_copytiles_public.md)
- [D3D12_TILE_COPY_FLAGS](/ja-jp/reference/graphics/d3d12/enums/d3d12_tile_copy_flags_public.md)
