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.