Skip to main content
Copia atómicamente un elemento de datos principal de tipo UINT64 de un recurso a otro, junto con recursos dependientes opcionales. Estos “recursos dependientes” se denominan así porque dependen del elemento de datos principal para localizarlos; normalmente, el elemento clave es una dirección, un índice u otro identificador que hace referencia indirectamente a uno o varios de los recursos dependientes. Esta función admite un elemento de datos principal de tipo UINT64 (64 bits). Una versión diferente de esta función, AtomicCopyBufferUINT, admite un elemento de datos principal de tipo UINT (32 bits).

Sintaxis

Parámetros

pDstBuffer [in]
Tipo: ID3D12Resource *
SAL: In El recurso en el que se copia el elemento de datos principal UINT64. DstOffset
Tipo: UINT64
Un desplazamiento en el búfer del recurso de destino que especifica dónde se copia el elemento de datos principal, en bytes. Este desplazamiento, combinado con la dirección base del búfer del recurso, debe dar como resultado una dirección de memoria alineada de forma natural para valores UINT64. pSrcBuffer [in]
Tipo: ID3D12Resource *
SAL: In El recurso desde el que se copia el elemento de datos principal UINT64. Estos datos suelen ser una dirección, un índice u otro identificador que el código del sombreador puede usar para localizar la versión más reciente de la información sensible a la latencia. SrcOffset
Tipo: UINT64
Un desplazamiento en el búfer del recurso de origen que especifica desde dónde se copia el elemento de datos principal, en bytes. Este desplazamiento, combinado con la dirección base del búfer del recurso, debe dar como resultado una dirección de memoria alineada de forma natural para valores UINT64. Dependencies
Tipo: UINT
El número de recursos dependientes. ppDependentResources [in]
Tipo: ID3D12Resource *const *
SAL: In_reads(Dependencies) Una matriz de recursos que contienen los elementos dependientes de la carga de datos. pDependentSubresourceRanges [in]
Tipo: const D3D12_SUBRESOURCE_RANGE_UINT64 *
SAL: In_reads(Dependencies) Una matriz de intervalos de subrecursos que especifican los elementos dependientes de la carga de datos. Estos elementos se actualizan completamente antes de que el propio elemento de datos principal se copie atómicamente. Esto garantiza que toda la operación sea lógicamente atómica; es decir, el elemento de datos principal nunca hace referencia a una carga de datos incompleta.

Valor devuelto

Tipo: void Ninguno.

Comentarios

Este método se usa normalmente para actualizar recursos en los que la latencia normal de la canalización de representación puede ser perjudicial para la experiencia del usuario. Por ejemplo, una aplicación puede calcular una matriz de vista a partir de la entrada de usuario más reciente (como la procedente de los sensores de un casco de realidad virtual) y usar esta función para actualizar y activar esta matriz en listas de comandos ya enviadas a la GPU, con el fin de reducir la latencia percibida entre la entrada y la representación.

Requisitos

Encabezado: d3d12_xs.h o d3d12_x.h
Biblioteca: d3d12_xs.lib o d3d12_x.lib
Plataformas compatibles: consolas XBOX Series y familia XBOX One

Consulte también

ID3D12GraphicsCommandList1
Última modificación el 28 de agosto de 2026