DXGKDDI_PREEMPTCOMMAND funzione di callback (d3dkmddi.h)
La funzione DxgkDdiPreemptCommand impedisce un buffer DMA (Direct Memory Access) inviato in precedenza e attualmente accodato nell'unità di esecuzione dei comandi hardware.
Sintassi
DXGKDDI_PREEMPTCOMMAND DxgkddiPreemptcommand;
NTSTATUS DxgkddiPreemptcommand(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_PREEMPTCOMMAND pPreemptCommand
)
{...}
Parametri
[in] hAdapter
Handle a un blocco di contesto associato a una scheda di visualizzazione. Il driver miniport visualizzato in precedenza ha fornito questo handle al sottosistema kernel della grafica Microsoft DirectX nel parametro di output MiniportDeviceContext della funzione DxgkDdiAddDevice .
[in] pPreemptCommand
Puntatore a una struttura di DXGKARG_PREEMPTCOMMAND che descrive il comando usato per anteporre un buffer DMA inviato in precedenza all'unità di esecuzione dei comandi hardware.
Valore restituito
Restituisce STATUS_SUCCESS al completamento corretto. Se il driver restituisce invece un codice di errore, il sistema operativo causa la verifica di un bug di sistema. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
Commenti
Se il driver determina che l'hardware è già stato completato l'elaborazione di tutti i buffer DMA inviati e che l'hardware ha informato l'utilità di pianificazione dell'unità di elaborazione grafica (GPU) sul completamento- quando la funzione DxgkDdiPreemptCommand viene chiamata per premettere i buffer DMA, il driver deve eseguire le operazioni seguenti anziché inviare il preempt fence identificato dal membro PreemptionFenceId di DXGKARG_PREEMPTCOMMAND all'hardware:
- Generare IRQL a livello di interruzione. Ad esempio, il driver può chiamare la funzione DxgkCbSynchronizeExecution per sincronizzare con la relativa funzione DxgkDdiInterruptRoutine .
-
Informare l'utilità di pianificazione gpu sulle informazioni di preemption. Il driver può chiamare direttamente la funzione DxgkCbNotifyInterrupt o chiamare direttamente la funzione DxgkDdiInterruptRoutine , ad esempio se il driver deve eseguire anche altri aggiornamenti.
Si noti che l'utilità di pianificazione GPU gestisce le istanze in cui l'hardware ha interrotto la risposta a causa del funzionamento del rilevamento timeout e del ripristino (TDR).
- 0x2
- Codice di errore NTSTATUS restituito dalla chiamata del driver non riuscito
- Puntatore alla struttura DXGKARG_PREEMPTCOMMAND
- Puntatore a una struttura di dati dell'utilità di pianificazione interna
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Piattaforma di destinazione | Desktop |
Intestazione | d3dkmddi.h |
IRQL | DISPATCH_LEVEL |