struttura DXGKARG_CREATEHWQUEUE (d3dkmddi.h)
La struttura DXGKARG_CREATEHWQUEUE viene usata con DxgkDdiCreateHwQueue per creare una coda hardware.
Sintassi
typedef struct _DXGKARG_CREATEHWQUEUE {
HANDLE hHwQueue;
D3DDDI_CREATEHWQUEUEFLAGS Flags;
UINT PrivateDriverDataSize;
VOID *pPrivateDriverData;
D3DKMT_HANDLE hHwQueueProgressFence;
VOID *HwQueueProgressFenceCPUVirtualAddress;
D3DGPU_VIRTUAL_ADDRESS HwQueueProgressFenceGPUVirtualAddress;
} DXGKARG_CREATEHWQUEUE;
Membri
hHwQueue
[in/out] All'input, Dxgkrnlhandle alla coda hardware. In caso di output, l'handle del driver viene gestito nella coda hardware.
Flags
[in] Struttura D3DDDI_CREATEHWQUEUEFLAGS contenente i flag di creazione della coda.
PrivateDriverDataSize
[in] Dimensioni in byte dei dati del driver privato a cui pPrivateDriverData punta.
pPrivateDriverData
[in/out] Puntatore ai dati del driver privato passati dalla funzione di pfnCreateHwContextCb del driver in modalità utente. Poiché pPrivateDriverData è un parametro in uscita, il KmD può anche restituire dati privati alla messaggistica unificata.
hHwQueueProgressFence
[in] Handle per l'oggetto di sincronizzazione GPU creato dal sistema operativo per questa coda hardware. Il limite di stato viene usato per sincronizzare il completamento del buffer DMA in questa coda hardware. Vedere la sezione Osservazioni.
HwQueueProgressFenceCPUVirtualAddress
[in] Indirizzo virtuale DELLA CPU in modalità kernel che può essere usato per leggere il valore attualmente segnalato del limite di stato della coda hardware.
HwQueueProgressFenceGPUVirtualAddress
[in] Indirizzo virtuale GPU che può essere usato per leggere o scrivere il valore del limite di stato della coda hardware. Il valore di isolamento dello stato della coda deve aumentare in modo monotonico con ogni nuovo invio alla coda hardware. Le istruzioni GPU per aggiornare il limite di stato della coda devono essere inserite dal driver in modalità utente alla fine del buffer DMA monitorato.
Osservazioni
Per gli HWQueue per l'invio del kernel, il sistema operativo allocherà lo stato di avanzamento come tipo di isolamento nativo nelle GPU che supportano recinzioni native. Quando viene impostato il flag di NativeProgressFence
Quando si crea un recinto nativo per un oggetto HWQueue, il sistema operativo imposta anche D3DKMT_CREATEHWQUEUE::Flags.NativeProgressFence su TRUE, in modo che il runtime sia anche consapevole che lo stato di avanzamento di HWQueue è stato allocato come limite nativo.
Per l'invio degli utenti HWQueues, il sistema operativo allocherà lo stato di avanzamento come limite nativo in DxgkDdiCreateHwQueueForUserModeSubmission() per definizione.
Nota sulla compatibilità dei driver:
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10, versione 1703 (WDDM 2.2) |
intestazione |
d3dkmddi.h |