Презентация VidPN с наложением нескольких плоскостей
При использовании многоплановых наложений эти требования применяются к функциям, используемым для представления на нескольких поверхностях в сетях видеотрансляции (VidPNs):
DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay
- Если DXGK_MULTIPLANE_OVERLAY_PLANE. Включено имеет значение false, драйвер минипорта дисплея должен отключить указанную плоскость.
- Если плоскость была включена в предыдущем вызове DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay , но отсутствует в текущем вызове, драйвер должен продолжать отображать плоскость, не переворачивая ее.
- Возможно, драйвер получит несколько вызовов DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay во время одной виртуальной синхронизации (один вызов для перевернуть одну плоскость, а другой — для перевернуть другую плоскость). В этом случае драйвер должен обработать оба вызова.
- Переданные данные должны быть проверены в пользовательском режиме доверенным источником. Однако драйвер минипорта дисплея по-прежнему должен проверка данные, чтобы убедиться, что это не приведет к проблемам. Если данные неверны, драйвер может завершить вызов с кодом ошибки STATUS_INVALID_PARAMETER , но такие сбои могут не обрабатываться корректно и подразумевают ошибку в операционной системе или в драйвере пользовательского режима.
DxgkDdiSetVidPnSourceVisibility
Когда DXGKARG_SETVIDPNSOURCEVISIBILITY. Для метода Visible задано значение FALSE для заданного источника в вызове этой функции. Все аппаратные плоскости должны быть отключены, включая слой, используемый для основной поверхности. Если для свойства Visible задано значение TRUE, должна быть включена только плоскость, используемая для основной поверхности, а все остальные плоскости должны оставаться отключенными.
DxgkDdiSetVidPnSourceAddress
При вызове этой функции драйвер должен отключить все не первичные плоскости наложения. Основная поверхность перевернута с помощью DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay в режиме многопланового наложения.