> ## 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

> Copia atomicamente um elemento de dados primário do tipo UINT de um recurso para outro, junto com recursos dependentes opcionais.

Copia atomicamente um elemento de dados primário do tipo UINT de um recurso para outro, junto com recursos dependentes opcionais.

Esses "recursos dependentes" recebem esse nome porque dependem do elemento de dados primário para serem localizados; normalmente, o elemento-chave é um endereço, índice ou outro identificador que se refere indiretamente a um ou mais dos recursos dependentes.

Esta função dá suporte a um elemento de dados primário do tipo UINT (32 bits). Uma versão diferente desta função, [AtomicCopyBufferUINT64](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist1/methods/id3d12graphicscommandlist1_atomiccopybufferuint64_public), dá suporte a um elemento de dados primário do tipo UINT64 (64 bits).

## Sintaxe

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

### Parâmetros

*pDstBuffer \[in]*\
Tipo: 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>

O recurso para o qual o elemento de dados primário UINT é copiado.

*DstOffset*\
Tipo: UINT64

Um deslocamento, em bytes, no buffer do recurso de destino que especifica para onde o elemento de dados primário é copiado. Esse deslocamento, combinado com o endereço base do buffer do recurso, deve resultar em um endereço de memória naturalmente alinhado para valores UINT.

*pSrcBuffer \[in]*\
Tipo: 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>

O recurso do qual o elemento de dados primário UINT é copiado. Esses dados normalmente são um endereço, índice ou outro identificador que o código do sombreador pode usar para localizar a versão mais recente de informações sensíveis à latência.

*SrcOffset*\
Tipo: UINT64

Um deslocamento, em bytes, no buffer do recurso de origem que especifica de onde o elemento de dados primário é copiado. Esse deslocamento, combinado com o endereço base do buffer do recurso, deve resultar em um endereço de memória naturalmente alinhado para valores UINT.

*Dependencies*\
Tipo: UINT

O número de recursos dependentes.

*ppDependentResources \[in]*\
Tipo: 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>

Uma matriz de recursos que contêm os elementos dependentes da carga de dados.

*pDependentSubresourceRanges \[in]*\
Tipo: 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>

Uma matriz de intervalos de sub-recursos que especificam os elementos dependentes da carga de dados. Esses elementos são completamente atualizados antes que o próprio elemento de dados primário seja copiado atomicamente. Isso garante que toda a operação seja logicamente atômica; ou seja, o elemento de dados primário nunca se refere a uma carga de dados incompleta.

### Valor retornado

Tipo: void

Nenhum.

## Comentários

Este método normalmente é usado para atualizar recursos para os quais a latência normal do pipeline de renderização pode prejudicar a experiência do usuário. Por exemplo, um aplicativo pode calcular uma matriz de exibição com base na entrada mais recente do usuário (como os sensores de um head-mounted display) e usar esta função para atualizar e ativar essa matriz em listas de comandos já despachadas para a GPU, reduzindo a latência percebida entre a entrada e a renderização.

## Requisitos

**Cabeçalho:** d3d12\_xs.h ou d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib ou d3d12\_x.lib\
**Plataformas com suporte**: consoles XBOX Series e família XBOX One

## Confira também

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


## Related topics

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