Mehrschichtige VidPN-Präsentation
Wenn Mehrplanenüberlagerungen verwendet werden, gelten diese Anforderungen für Funktionen, die auf mehreren Oberflächen in Video Present Networks (VidPNs) dargestellt werden:
DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay
- Wenn DXGK_MULTIPLANE_OVERLAY_PLANE. Aktiviert ist false. Der Anzeige-Miniporttreiber sollte die angegebene Ebene deaktivieren.
- Wenn eine Ebene in einem vorherigen Aufruf von DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay aktiviert wurde, aber nicht im aktuellen Aufruf vorhanden ist, sollte der Treiber die Ebene weiterhin anzeigen, ohne sie umzudrehen.
- Es ist möglich, dass der Treiber während desselben VSync mehrere Aufrufe an DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay empfängt (ein Aufruf zum Umblättern einer Ebene und ein anderer Aufruf zum Flipen einer anderen Ebene). In diesem Fall sollte der Treiber beide Aufrufe verarbeiten.
- Die übergebenen Daten sollten im Benutzermodus von einer vertrauenswürdigen Quelle überprüft worden sein. Der Anzeige-Miniporttreiber sollte die Daten jedoch weiterhin überprüfen, um sicherzustellen, dass er keine Probleme verursacht. Wenn die Daten falsch sind, kann der Treiber den Aufruf mit einem STATUS_INVALID_PARAMETER Fehlercode fehlschlagen, aber solche Fehler werden möglicherweise nicht ordnungsgemäß behandelt und bedeuten entweder einen Fehler im Betriebssystem oder im Benutzermodustreiber.
DxgkDdiSetVidPnSourceVisibility
Wenn DXGKARG_SETVIDPNSOURCEVISIBILITY. Visible ist für eine bestimmte Quelle in einem Aufruf dieser Funktion auf FALSE festgelegt. Alle Hardwareebenen müssen deaktiviert werden, einschließlich der Ebene, die für die primäre Oberfläche verwendet wird. Wenn Visible auf TRUE festgelegt ist, muss nur die für die primäre Oberfläche verwendete Ebene aktiviert werden, und alle anderen Ebenen müssen deaktiviert bleiben.
DxgkDdiSetVidPnSourceAddress
Wenn diese Funktion aufgerufen wird, sollte der Treiber alle nicht primären Überlagerungsebenen deaktivieren. Die primäre Oberfläche wird mithilfe von DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay im Überlagerungsmodus mit mehreren Ebenen gekippt.