Запрос возможностей оборудования VidPN
Начиная с Windows 7 драйверы мини-порта дисплея должны сообщать обо всех аппаратных возможностях указанного функционального VidPN. Драйверы должны поддерживать следующую функцию обратного вызова и связанные с ней структуры:
Когда драйвер сообщает о возможностях оборудования, он должен рассматривать клонирование как неявную процедуру, которая выполняется в рамках преобразований поворота или масштабирования: источник необходимо сначала клонировать, прежде чем его можно будет повернуть или масштабировать.
Если какой-либо из членов D3DKMDT_VIDPN_HW_CAPABILITY не имеет значения для указанного пути VidPN, диспетчер режима отображения (DMM) не будет сообщать об ошибках, если для них заданы ненулевое значение. DMM очистит все эти значения, прежде чем отправлять их клиенту пользовательского режима. Однако драйвер должен задать для зарезервированного элемента D3DKMDT_VIDPN_HW_CAPABILITY значение 0.
Пример сценария
Чтобы показать, как драйвер мини-порта дисплея должен сообщать о возможностях оборудования, рассмотрим следующий пример набора конфигураций оборудования P1, P2 и P3:
P1: Surface клонируется из источника S1, затем поворачивается на 90 градусов и масштабируется в соответствии с целевым значением.
P2: Surface клонируется из источника S1 без применения преобразования.
P3: Источник S2 не имеет примененного преобразования.
При вызове DxgkDdiQueryVidPnHWCapability драйвер должен возвращать значения для элементов поворота, масштабирования и клонирования D3DKMDT_VIDPN_HW_CAPABILITY в соответствии со следующей таблицей:
Возвращаемые значения для членов D3DKMDT_VIDPN_HW_CAPABILITY аппаратных возможностей VidPN Path DriverRotation DriverScaling DriverCloning Hardware может выполнять все преобразования поворота, масштабирования и клонирования.
P₁
0
0
0
P".
0
0
0
P₃
0
0
0
Оборудование может выполнять все преобразования, кроме клонирования
P₁
0
0
0
P".
0
0
1
P₃
0
0
0
Оборудование может выполнять клонирование и масштабирование преобразований, но не вращение. Драйвер выполняет поворот с помощью промежуточной щели поворота.
P₁
1
0
0
P".
0
0
0
P₃
0
0
0
Оборудование не может выполнять преобразования клонирования, масштабирования или поворота. Эти операции выполняются драйвером.
P₁
1
1
0
P".
0
0
1
P₃
0
0
0