Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
DxgkddiSuspendContext indica alla GPU di sospendere un contesto. Se la GPU non riconosce il completamento della sospensione entro il timeout del timeout (rilevamento e ripristino del timeout), il sistema operativo rileverà il timeout del motore ed eseguirà una reimpostazione del motore.
Sintassi
DXGKDDI_SUSPENDCONTEXT DxgkddiSuspendcontext;
NTSTATUS DxgkddiSuspendcontext(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_SUSPENDCONTEXT pSuspendContext
)
{...}
Parametri
hAdapter
[in] Contesto hardware da anteporre e contrassegnato come sospeso. Questo tipo di richiesta di precedenza non ha un periodo di tolleranza e dovrebbe essere rispettato dalla GPU il prima possibile.
pSuspendContext
[in] Puntatore a una struttura DXGKARG_SUSPENDCONTEXT che contiene argomenti aggiuntivi per questa funzione.
Valore restituito
DxgkddiSuspendContext restituisce STATUS_SUCCESS se il contesto è già sospeso al momento della chiamata. In caso contrario, questo valore viene impostato su STATUS_PENDING e l'operazione di sospensione verrà completata quando contextSuspendFence viene segnalato tramite un interrupt.
Osservazioni
Registrare l'implementazione di questa funzione di callback impostandola in DRIVER_INITIALIZATION_DATA.
Anche se la precedenza round robin può essere avviata dalla GPU, il sistema operativo ha comunque bisogno di un modo per anteporre il contesto per altri motivi; ad esempio, se deve spostare le allocazioni o eseguire una transizione di potenza GPU.
Il valore di sospensione del contesto è necessario per gestire i casi in cui il sistema operativo sospende un contesto, non attende il riconoscimento di sospensione, riprende e sospende di nuovo un contesto. Il valore di sospensione consentirà al sistema operativo di distinguere tra l'acknowledgement di sospensione precedente e quello più recente.
Una volta sospeso un contesto, si presuppone che tutti i riferimenti a esso siano passati dalla GPU e che il sistema operativo sia libero di distruggere il contesto o spostarne la memoria. A differenza di WDDM 2.3 o versioni precedenti, nessun comando di cambio di contesto NULL separato (indicato in precedenza dalla ContextSwitch flag in DxgkDdiSubmitCommandVirtual) è presente in modalità di pianificazione WDDM 2.4, perché DxgkddiSuspendContext dovrebbe eseguire questo lavoro.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | d3dkmddi.h |