Threading e sincronização nível três
O threading e a sincronização de nível três garantem que:
- Apenas um único thread (o thread de chamada) esteja dentro do driver do modo kernel.*
- O hardware gráfico esteja ocioso.
- Nenhum buffer de acesso direto à memória (DMA) esteja sendo processado pelo driver ou passado pelo agendador da GPU.
- A memória de vídeo seja completamente removida para hospedar a memória da CPU.
O WDDM garante que chamadas como as seguintes no driver de miniporta de exibição sejam feitas sob o nível três de threading e sincronização.
* Uma exceção é que DxgkDdiQueryAdapterInfo pode ser chamado ao mesmo tempo que DxgkDdiSetPowerState ou DxgkDdiQueryChildRelations. Isso permite que o sistema evite ativar um dispositivo de um estado de baixo consumo de energia quando DxgkDdiQueryAdapterInfo é chamado. Os drivers precisam usar a sincronização necessária para retornar informações corretas de DxgkDdiQueryAdapterInfo.