Потоки и синхронизация уровня 1
На уровне 1 потоки и синхронизация WDDM не разрешает повторную запись в определенном классе функций. То есть только один поток может войти в драйвер в определенном классе. Однако вызовы из нескольких классов уровня 1 и вызовов нулевого уровня можно вводить одновременно. Хотя два или более потока из разных классов первого уровня и потоков из вызовов нулевого уровня могут выполняться в драйвере одновременно, ни один поток не может принадлежать одному процессу.
WDDM классифицирует вызовы в драйвере мини-порта дисплея, которые выполняются на уровне 1 потока и синхронизации в классы непостояния, например следующие классы. Дополнительные классы включают VidMm, виртуальные машины и виртуальные GPU.
Класс указателя
WDDM не позволяет повторно вызывать одну из функций класса указателя. Это значит, что в данный момент времени один поток может выполняться в одной из следующих функций:
Класс планировщика GPU
WDDM не позволяет повторно вызывать одну из функций загрузчика планировщика GPU. Это значит, что в данный момент времени один поток может выполняться в одной из следующих функций:
- DxgkDdiBuildPagingBuffer
- DxgkDdiPatch
- DxgkDdiPreemptCommand
- DxgkDdiQueryDependentEngineGroup
- DxgkDdiQueryEngineStatus
- DxgkDdiResetEngine
- DxgkDdiSubmitCommand
Класс swizzling Range
WDDM не позволяет повторно вызывать одну из функций класса диапазонов swizzling. Это значит, что в данный момент времени один поток может выполняться в одной из следующих функций:
Класс overlay
WDDM не позволяет повторно вызывать одну из функций класса наложения. Это значит, что в данный момент времени один поток может выполняться в одной из следующих функций:
Дочерний класс ввода-вывода
WDDM не позволяет повторно вызывать одну из дочерних функций класса ввода-вывода. Это значит, что в данный момент времени один поток может выполняться в одной из следующих функций для каждого дочернего устройства.
Функции дочернего класса ввода-вывода синхронизируются для каждого дочернего устройства (то есть разрешены одновременные вызовы нескольких дочерних устройств). Однако если между дочерними устройствами существуют внутренние зависимости, драйвер мини-порта дисплея должен блокировать вызовы по мере необходимости.
- DxgkDdiQueryChildStatus
- DxgkDdiQueryConnectionChange
- DxgkDdiQueryDeviceDescriptor
- DxgkDdiDisplayDetectControl
- DxgkDdiI2CReceiveDataFromDisplay
- DxgkDdiI2CTransmitDataToDisplay
- DxgkDdiOPMConfigureProtectedOutput
- DxgkDdiOPMCreateProtectedOutput
- DxgkDdiOPMDeprotectedOutput
- DxgkDdiOPMGetCertificate
- DxgkDdiOPMGetCertificateSize
- DxgkDdiOPMGetCOPPCompatibleInformation
- DxgkDdiOPMGetInformation
- DxgkDdiOPMGetRandomNumber
- DxgkDdiOPMSetSigningKeyAndSequenceNumbers
Класс Display
WDDM не позволяет повторно вызывать одну из функций класса отображения. Это значит, что в данный момент времени один поток может выполняться в одной из следующих функций: