Threading e Sincronização Nível Um

No Nível Um de threading e sincronização, o WDDM não permite a reentrância em uma classe de função específica. Ou seja, apenas um thread pode inserir o driver dentro de uma classe específica. No entanto, chamadas de várias classes de Nível Um e chamadas de Nível Zero podem ser inseridas simultaneamente. Embora dois ou mais threads de diferentes classes de primeiro nível e threads de chamadas de nível zero possam ser executados no driver ao mesmo tempo, nenhum dos dois threads pode pertencer a um único processo.

O WDDM categoriza as chamadas para o driver de miniporto de exibição que são feitas no Nível Um de threading e sincronização em classes não inconsultas, como as classes a seguir. Classes adicionais incluem VidMm, máquinas virtuais e vGPUs.

Classe Pointer

O WDDM não permite uma chamada para uma das funções de classe de ponteiro de forma reentrante. Ou seja, no máximo, um thread pode estar em execução em uma das seguintes funções em um determinado momento:

Classe agendador de GPU

O WDDM não permite uma chamada para uma das funções de classe do carregador do agendador de GPU de forma reentrante. Ou seja, no máximo, um thread pode estar em execução em uma das seguintes funções em um determinado momento:

Classe de intervalo de swizzling

O WDDM não permite uma chamada para uma das funções de classe de intervalo de swizzling de forma reentrante. Ou seja, no máximo, um thread pode estar em execução em uma das seguintes funções em um determinado momento:

Classe Overlay

O WDDM não permite uma chamada para uma das funções de classe de sobreposição de forma reentrante. Ou seja, no máximo, um thread pode estar em execução em uma das seguintes funções em um determinado momento:

Classe de E/S filho

O WDDM não permite uma chamada para uma das funções de classe de E/S filho de forma reentrante. Ou seja, no máximo, um thread pode estar em execução em uma das seguintes funções por dispositivo filho em um determinado momento.

As funções de classe de E/S filho são sincronizadas por dispositivo filho (ou seja, chamadas simultâneas para vários dispositivos filho são permitidas). No entanto, se houver dependências internas entre dispositivos filho, o driver de miniporto de exibição deverá bloquear as chamadas conforme necessário.

Classe de exibição

O WDDM não permite uma chamada para uma das funções de classe de exibição de forma reentrante. Ou seja, no máximo, um thread pode estar em execução em uma das seguintes funções em um determinado momento: