Método ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64 (d3d12.h)
Copia de forma atómica 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, índice u otro identificador que hace referencia a uno o varios recursos dependientes indirectamente.
Esta función admite un elemento de datos principal de tipo UINT64 (64 bits). Otra versión de esta función, AtomicCopyBufferUINT, admite un elemento de datos principal de tipo UINT (32 bits).
Sintaxis
void AtomicCopyBufferUINT64(
[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
Recurso en el que se copia el elemento de datos principal UINT64.
DstOffset
Tipo: UINT64
Desplazamiento en el búfer de recursos 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 de recursos debe dar lugar a una dirección de memoria alineada de forma natural para los valores UINT64.
[in] pSrcBuffer
Tipo: ID3D12Resource*
SAL: In
Recurso del que se copia el elemento de datos principal UINT64. Normalmente, estos datos son una dirección, un índice u otro identificador que el código de sombreador puede usar para buscar la versión más reciente de información confidencial de latencia.
SrcOffset
Tipo: UINT64
Desplazamiento en el búfer de recursos de origen que especifica dónde se copia el elemento de datos principal, en bytes. Este desplazamiento combinado con la dirección base del búfer de recursos debe dar lugar a una dirección de memoria alineada de forma natural para los valores UINT64.
Dependencies
Tipo: UINT
Número de recursos dependientes.
[in] ppDependentResources
Tipo: ID3D12Resource*
SAL: In_reads(Dependencies)
Matriz de recursos que contienen los elementos dependientes de la carga de datos.
[in] pDependentSubresourceRanges
Tipo: const D3D12_SUBRESOURCE_RANGE_UINT64*
SAL: In_reads(Dependencies)
Matriz de intervalos de subrecursos que especifican los elementos dependientes de la carga de datos. Estos elementos se actualizan completamente antes de que el 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
None
Observaciones
Este método se usa normalmente para actualizar los recursos para los que la latencia de canalización de representación normal 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 (por ejemplo, desde los sensores de una pantalla montada con encabezado) y usar esta función para actualizar y activar esta matriz en listas de comandos ya enviadas a la GPU para reducir la latencia percibido entre la entrada y la representación.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | d3d12.h |
Library | D3d12.lib |
Archivo DLL | D3d12.dll |