Método ID3D12GraphicsCommandList1::AtomicCopyBufferUINT (d3d12.h)
Copia atomicamente um elemento de dados primário do tipo UINT de um recurso para outro, juntamente com recursos dependentes opcionais.
Esses "recursos dependentes" são chamados assim porque dependem do elemento de dados primário para localizá-los, normalmente o elemento chave é um endereço, índice ou outro identificador que se refere a um ou mais recursos dependentes indiretamente.
Essa função dá suporte a um elemento de dados primário do tipo UINT (32bits). Uma versão diferente dessa função, AtomicCopyBufferUINT64, dá suporte a um elemento de dados primário do tipo UINT64 (64bit).
Sintaxe
void AtomicCopyBufferUINT(
[in] ID3D12Resource *pDstBuffer,
UINT64 DstOffset,
[in] ID3D12Resource *pSrcBuffer,
UINT64 SrcOffset,
UINT Dependencies,
[in] ID3D12Resource * const *ppDependentResources,
[in] const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges
);
Parâmetros
[in] pDstBuffer
Tipo: ID3D12Resource*
SAL: In
O recurso no qual o elemento de dados primário UINT é copiado.
DstOffset
Tipo: UINT64
Um deslocamento para o buffer de recursos de destino que especifica onde o elemento de dados primário é copiado, em bytes. Esse deslocamento combinado com o endereço base do buffer de recursos deve resultar em um endereço de memória naturalmente alinhado para valores UINT.
[in] pSrcBuffer
Tipo: ID3D12Resource*
SAL: In
O recurso do qual o elemento de dados primário UINT é copiado. Normalmente, esses dados 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 confidenciais de latência.
SrcOffset
Tipo: UINT64
Um deslocamento para o buffer de recurso de origem que especifica de onde o elemento de dados primário é copiado, em bytes. Esse deslocamento combinado com o endereço base do buffer de recursos deve resultar em um endereço de memória naturalmente alinhado para valores UINT.
Dependencies
Tipo: UINT
O número de recursos dependentes.
[in] ppDependentResources
Tipo: ID3D12Resource*
SAL: In_reads(Dependencies)
Uma matriz de recursos que contém os elementos dependentes da carga de dados.
[in] pDependentSubresourceRanges
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 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
Nenhum
Comentários
Esse método normalmente é usado para atualizar recursos para os quais a latência normal do pipeline de renderização pode ser prejudicial à experiência do usuário. Por exemplo, um aplicativo pode calcular uma matriz de exibição a partir da entrada mais recente do usuário (como dos sensores de uma tela montada na cabeça) e usar essa função para atualizar e ativar essa matriz em listas de comandos já enviadas para a GPU para reduzir a latência percebida entre entrada e renderização.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | d3d12.h |
Biblioteca | D3d12.lib |
DLL | D3d12.dll |