Metodo ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64 (d3d12.h)
Atomicamente copia un elemento dati primario di tipo UINT64 da una risorsa a un'altra, insieme alle risorse dipendenti facoltative.
Queste "risorse dipendenti" sono denominate in modo denominato perché dipendono dall'elemento dati primario per individuarle, in genere l'elemento chiave è un indirizzo, un indice o un altro handle che fa riferimento a una o più risorse dipendenti indirettamente.
Questa funzione supporta un elemento dati primario di tipo UINT64 (64bit). Una versione diversa di questa funzione, AtomicCopyBufferUINT, supporta un elemento dati primario di tipo UINT (32bit).
Sintassi
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
);
Parametri
[in] pDstBuffer
Tipo: ID3D12Resource*
SAL: In
Risorsa copiata dall'elemento dati primario UINT64.
DstOffset
Tipo: UINT64
Offset nel buffer delle risorse di destinazione che specifica dove l'elemento dati primario viene copiato in byte. Questo offset combinato con l'indirizzo di base del buffer di risorse deve comportare un indirizzo di memoria allineato naturalmente per i valori UINT64.
[in] pSrcBuffer
Tipo: ID3D12Resource*
SAL: In
Risorsa copiata dall'elemento dati primario UINT64. Questi dati sono in genere un indirizzo, un indice o un altro handle che il codice shader può usare per individuare la versione più recente delle informazioni sensibili alla latenza.
SrcOffset
Tipo: UINT64
Offset nel buffer di risorse di origine che specifica la posizione in cui l'elemento dati primario viene copiato da, in byte. Questo offset combinato con l'indirizzo di base del buffer di risorse deve comportare un indirizzo di memoria allineato naturalmente per i valori UINT64.
Dependencies
Tipo: UINT
Numero di risorse dipendenti.
[in] ppDependentResources
Tipo: ID3D12Resource*
SAL: In_reads(Dependencies)
Matrice di risorse che contengono gli elementi dipendenti del payload dei dati.
[in] pDependentSubresourceRanges
Tipo: const D3D12_SUBRESOURCE_RANGE_UINT64*
SAL: In_reads(Dependencies)
Matrice di intervalli di sottorisorse che specificano gli elementi dipendenti del payload dei dati. Questi elementi vengono completamente aggiornati prima che l'elemento dati primario venga copiato atomicamente. Ciò garantisce che l'intera operazione sia logicamente atomica; ovvero, l'elemento dati primario non fa mai riferimento a un payload di dati incompleto.
Valore restituito
nessuno
Osservazioni
Questo metodo viene in genere usato per aggiornare le risorse per cui la latenza normale della pipeline di rendering può essere dannosa per l'esperienza utente. Ad esempio, un'applicazione può calcolare una matrice di visualizzazione dall'input utente più recente (ad esempio dai sensori di uno schermo montato sulla testa) e usare questa funzione per aggiornare e attivare questa matrice negli elenchi di comandi già inviati alla GPU per ridurre la latenza percepita tra input e rendering.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d12.h |
Libreria | D3d12.lib |
DLL | D3d12.dll |