Pular para o conteúdo principal
Copia atomicamente um elemento de dados primário do tipo UINT64 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 UINT64 (64 bits). Uma versão diferente desta função, AtomicCopyBufferUINT, dá suporte a um elemento de dados primário do tipo UINT (32 bits).

Sintaxe

Parâmetros

pDstBuffer [in]
Tipo: ID3D12Resource *
SAL: In O recurso para o qual o elemento de dados primário UINT64 é 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 UINT64. pSrcBuffer [in]
Tipo: ID3D12Resource *
SAL: In O recurso do qual o elemento de dados primário UINT64 é 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 UINT64. Dependencies
Tipo: UINT
O número de recursos dependentes. ppDependentResources [in]
Tipo: ID3D12Resource *const *
SAL: In_reads(Dependencies) Uma matriz de recursos que contêm os elementos dependentes da carga de dados. pDependentSubresourceRanges [in]
Tipo: const D3D12_SUBRESOURCE_RANGE_UINT64 *
SAL: In_reads(Dependencies) 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
Última modificação em 6 de outubro de 2026