DXGKARG_SUBMITCOMMANDTOHWQUEUE struttura (d3dkmddi.h)
Argomenti usati per inviare un comando alla coda hardware.
Sintassi
typedef struct _DXGKARG_SUBMITCOMMANDTOHWQUEUE {
[in] HANDLE hHwQueue;
UINT64 HwQueueProgressFenceId;
D3DGPU_VIRTUAL_ADDRESS DmaBufferVirtualAddress;
UINT DmaBufferSize;
UINT DmaBufferPrivateDataSize;
VOID *pDmaBufferPrivateData;
DXGK_SUBMITCOMMANDFLAGS Flags;
D3DGPU_VIRTUAL_ADDRESS HwQueueProgressFenceGpuVa;
VOID *HwQueueProgressFenceCpuVa;
} DXGKARG_SUBMITCOMMANDTOHWQUEUE;
Members
[in] hHwQueue
Coda hardware inviata a.
HwQueueProgressFenceId
ID di stato della coda hardware che verrà segnalato quando il Blt presente viene eseguito sulla GPU.
DmaBufferVirtualAddress
Indirizzo virtuale del buffer DMA da eseguire nella GPU.
DmaBufferSize
Dimensioni del buffer DMA da eseguire nella GPU.
DmaBufferPrivateDataSize
Dimensioni dei dati privati del buffer.
pDmaBufferPrivateData
Dati binari passati dalla modalità utente callback DDI pfnSubmitToHwQueueCb, per gli invii di comandi dalla modalità utente o per gli invii in modalità kernel, ad esempio Present Blt, private driver data buffer compilato da DdiPresent.
Importante
Il buffer dei dati del driver privato verrà liberato al ritorno da DxgkDdiSubmitCommandToHwQueue. Ciò è diverso da WDDM 2.0-2.3, dove la durata dei dati del driver privato viene estesa fino al completamento del buffer dei comandi nella GPU.
Flags
Questi verranno impostati su zero per i buffer dei comandi generati dal driver in modalità utente. I buffer dei comandi generati dal driver in modalità kernel DdiPresentToHwQueue avranno il flag Presente impostato su 1.
HwQueueProgressFenceGpuVa
GPU VA (accelerazione video) del recinto che verrà segnalato al completamento del buffer DMA.
HwQueueProgressFenceCpuVa
CPU in modalità kernel va del recinto che verrà segnalato al completamento del buffer DMA.
Se il nodo inviato a ha il limite RingBufferFenceRelease impostato su 0, l'aggiornamento della recinzione viene inserito dal driver in modalità utente come ultima istruzione alla fine del buffer DMA o per gli invii del kernel, in risposta alla chiamata DdiSignalMonitoredFence.
Se il nodo inviato a ha il limite RingBufferFenceRelease impostato su 1, l'aggiornamento della recinzione viene eseguito dopo che il buffer DMA non è più in uso da GPU o CPU. La meccanica esatta dell'aggiornamento della recinzione è fino alla KMD/GPU. Ad esempio, può essere eseguita dall'hardware del processore di gestione del contesto quando si ritira il buffer DMA o dal KMD.
Requisiti
Requisito | Valore |
---|---|
Intestazione | d3dkmddi.h |