Freigeben über


Unterstützung Path-Independent Drehung

Ab Windows 8.1 Update unterstützt das Betriebssystem das Klonen von Hochformatanzeigen auf Querformatanzeigen mit der größtmöglichen Auflösung. Der Anzeigeminiporttreiber muss die richtigen Offsetwerte in der D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT-Struktur für den primären Klonpfad und sekundären Klonpfad festlegen, wie unter Unterstützen der Drehung in einem Display-Miniport-Treiber beschrieben.

Diese Gerätetreiberschnittstellen (Device Driver Interfaces, DDIs) sind neu in Windows 8.1 Update:

  • D3DKMDT_VPPR_GET_CONTENT_ROTATION
  • D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART
  • D3DKMDT_VPPR_GET_OFFSET_ROTATION

Diese DDIs werden in Windows 8.1 Update aktualisiert:

Klonen eines Geräts im Hochformat

Wenn ein Treiber eines Hochformatgeräts zum Klonen in einen Monitor im Querformat aufgefordert wird, sollte er Quellmodusauflösungen (x,y) melden, die den Auflösungen im primären Klonpfad entsprechen. Der sekundäre Klonpfad könnte dann 90- und 270-Grad-Offsetwerte (D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT) unterstützen. Offset90 oder . Offset270 sind TRUE). Wenn also ein VidPN mit einem D3DKMDT_VIDPN_PRESENT_PATH_ROTATION Enumerationswert committet wird, der einen Offset von 90 oder 270 Grad angibt, bedeutet dies, dass die (x,y)-Auflösungen in diesem speziellen Pfad gedreht werden.

Standardmäßig wählt das Betriebssystem den sekundären Klonpfad als internen Anzeigebereich aus. Für den Fall, dass der interne Bereich portrait-first ist, erwartet das Betriebssystem D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT. Offset270 soll für diesen Pfad festgelegt werden, um im internen Anzeigebereich im Querformat anzuzeigen. Bei einem externen Monitor mit Querformat im sekundären Klonpfad erwartet das Betriebssystem, dass der Treiber D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT unterstützt. Offset90, obwohl dies wahrscheinlich ein seltenes Szenario sein wird.

Beispielszenarien für klonen

Hier sehen Sie ein typisches Szenario, in dem ein Gerät im Hochformat mit einer nativen Auflösung von 800 (Breite) x 1280 Pixel (Höhe) im Klonmodus mit einem Fernsehgerät im Querformat mit einer Höhe von 1080 Pixel verbunden ist. Der Treiber meldet diese Informationen an das Betriebssystem:

Quellmodus
1280 x 800

TV-Zielmodus
1920 x 1080 (Seitenverhältnis beibehaltene Skalierung)

Gerätezielmodus
800 x 1280 (Identitätsskalierung)

Primärer Klonpfad (TV)
Treiber unterstützt nur D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT. Offset0 sowie normale Drehunterstützung

sekundärer Klonpfad (Gerät)
Treiber unterstützt nur D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT. Offset270 sowie normale Drehunterstützung

Der Aufruf der DxgkDdiCommitVidPn-Funktion gibt dann mit den folgenden Pfadeinstellungen aus der D3DKMDT_VIDPN_PRESENT_PATH_ROTATION-Enumeration zurück:

Primärer Klonpfad (TV)
D3DKMDT_VPPR_IDENTITY

sekundärer Klonpfad (Gerät)
D3DKMDT_VPPR_IDENTITY_OFFSET270

Das Betriebssystem erwartet, dass der Treiber den bereitgestellten Inhalt um 270 Grad rotiert.

Wenn der Benutzer im Dropdownfeld Ausrichtung der Systemsteuerung die Option Querformat (umgedreht) wählt, wird der Aufruf der DxgkDdiCommitVidPn-Funktion mit den folgenden Pfadeinstellungen aus der D3DKMDT_VIDPN_PRESENT_PATH_ROTATION Enumeration zurückgegeben:

Primärer Klonpfad (TV)
D3DKMDT_VPPR_ROTATE180

sekundärer Klonpfad (Gerät)
D3DKMDT_VPPR_ROTATE180_OFFSET270

Wenn der Desktopfenster-Manager (DWM) den Inhalt bereits um 180 Grad gedreht hat, muss der Treiber ihn noch um weitere 270 Grad im sekundären Klonpfad rotieren. Andernfalls muss der Treiber den Inhalt um 180 Grad für den Fernseher und 90 Grad für das Gerät drehen. Beachten Sie, dass der Treiber zum Rotieren des Inhalts das Rotieren-Element der DXGK_PRESENTFLAGS-Struktur festlegen muss.