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

> Copie de façon atomique un élément de données principal de type UINT d'une ressource à une autre, ainsi que des ressources dépendantes facultatives.

Copie de façon atomique un élément de données principal de type UINT d'une ressource à une autre, ainsi que des ressources dépendantes facultatives.

Ces « ressources dépendantes » sont ainsi nommées parce qu'elles dépendent de l'élément de données principal pour être localisées; l'élément clé est généralement une adresse, un index ou un autre handle qui fait référence indirectement à une ou plusieurs des ressources dépendantes.

Cette fonction prend en charge un élément de données principal de type UINT (32 bits). Une autre version de cette fonction, [AtomicCopyBufferUINT64](/fr-CA/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist1/methods/id3d12graphicscommandlist1_atomiccopybufferuint64_public), prend en charge un élément de données principal de type UINT64 (64 bits).

## Syntaxe

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

### Paramètres

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

La ressource dans laquelle l'élément de données principal UINT est copié.

*DstOffset*\
Type : UINT64

Un décalage dans la mémoire tampon de la ressource de destination qui spécifie, en octets, l'endroit où l'élément de données principal est copié. Ce décalage, combiné à l'adresse de base de la mémoire tampon de la ressource, doit produire une adresse mémoire naturellement alignée pour les valeurs UINT.

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

La ressource à partir de laquelle l'élément de données principal UINT est copié. Ces données sont généralement une adresse, un index ou un autre handle que le code de nuanceur peut utiliser pour localiser la version la plus récente des informations sensibles à la latence.

*SrcOffset*\
Type : UINT64

Un décalage dans la mémoire tampon de la ressource source qui spécifie, en octets, l'endroit à partir duquel l'élément de données principal est copié. Ce décalage, combiné à l'adresse de base de la mémoire tampon de la ressource, doit produire une adresse mémoire naturellement alignée pour les valeurs UINT.

*Dependencies*\
Type : UINT

Le nombre de ressources dépendantes.

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

Un tableau de ressources qui contiennent les éléments dépendants de la charge utile de données.

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

Un tableau de plages de sous-ressources qui spécifient les éléments dépendants de la charge utile de données. Ces éléments sont entièrement mis à jour avant que l'élément de données principal soit lui-même copié de façon atomique. Cela garantit que l'opération entière est logiquement atomique; autrement dit, l'élément de données principal ne fait jamais référence à une charge utile de données incomplète.

### Valeur de retour

Type : void

Aucune.

## Remarques

Cette méthode est généralement utilisée pour mettre à jour des ressources pour lesquelles la latence normale du pipeline de rendu peut nuire à l'expérience utilisateur. Par exemple, une application peut calculer une matrice de vue à partir de la plus récente entrée utilisateur (comme les capteurs d'un casque) et utiliser cette fonction pour mettre à jour et activer cette matrice dans des listes de commandes déjà envoyées au GPU, afin de réduire la latence perçue entre l'entrée et le rendu.

## Configuration requise

**En-tête :** d3d12\_xs.h ou d3d12\_x.h\
**Bibliothèque :** d3d12\_xs.lib ou d3d12\_x.lib\
**Plateformes prises en charge :** consoles XBOX Series et famille XBOX One

## Voir aussi

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


## Related topics

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