支援Path-Independent旋轉
從Windows 8.1 更新版開始,作業系統支援在橫向優先顯示器上複製直向優先顯示器,且解析度最高。 顯示迷你埠驅動程式必須在主要複製路徑和次要複製路徑的D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT結構中設定適當的位移值,如支援顯示迷你埠驅動程式中的旋轉中所述。
這些設備磁碟機介面 (DIS) 是Windows 8.1 更新版的新功能:
- D3DKMDT_VPPR_GET_CONTENT_ROTATION
- D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART
- D3DKMDT_VPPR_GET_OFFSET_ROTATION
這些 DIS 會在 Windows 8.1 更新版中更新:
複製直向優先裝置
當直向優先裝置的驅動程式要求複製到橫向優先監視器時,它應該回報來源模式, (x,y) 解析度符合主要複製路徑中的解析度。 次要複製路徑接著可以支援 90 度和 270 度位移值 , (D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT。Offset90 或 。Offset270 為 TRUE) 。 因此,當 VidPN 使用指出 90 度或 270 度位移 的 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION 列舉值進行認可時,這表示 (x,y) 解析度會在這個特定路徑中翻轉。
根據預設,作業系統會選擇次要複製路徑做為內部顯示面板。 在內部面板為直向優先的情況下,作業系統預期 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT。要在此路徑上設定Offset270 ,以便在橫向模式的內部顯示面板上顯示。 如果是次要複製路徑中的橫向優先外部監視器,作業系統預期驅動程式支援 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT。Offset90,雖然這可能是罕見的案例。
範例複製案例
以下是一般案例,其中原生解析度為 800 (寬度的直向優先裝置,) x 1280 圖元 (高度) 連線到高度為 1080 圖元的橫向優先電視。 驅動程式會將此資訊回報給作業系統:
來源模式
1280 x 800
電視目標模式
1920 x 1080 (外觀比例保留縮放比例)
裝置目標模式
800 x 1280 (身分識別調整)
電視 (主要複製路徑)
驅動程式僅支援 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT。Offset0,以及一般旋轉支援
次要複製路徑 (裝置)
驅動程式僅支援 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT。Offset270以及一般旋轉支援
DxgkDdiCommitVidPn函式的呼叫接著會從D3DKMDT_VIDPN_PRESENT_PATH_ROTATION列舉傳回這些路徑設定:
電視 (主要複製路徑)
D3DKMDT_VPPR_IDENTITY
次要複製路徑 (裝置)
D3DKMDT_VPPR_IDENTITY_OFFSET270
作業系統預期驅動程式會旋轉提供的內容 270 度。
如果在 [顯示 控制台 的方向 ] 下拉式方塊中,使用者選擇 [ 橫向 (翻轉) ] 選項, 則 DxgkDdiCommitVidPn 函式的呼叫會從 D3DKMDT_VIDPN_PRESENT_PATH_ROTATION 列舉傳回這些路徑設定:
電視 (主要複製路徑)
D3DKMDT_VPPR_ROTATE180
次要複製路徑 (裝置)
D3DKMDT_VPPR_ROTATE180_OFFSET270
如果桌面視窗管理員 (DWM) 已經旋轉 180 度的內容,驅動程式仍然必須在次要複製路徑中旋轉另一個 270 度。 否則,驅動程式必須旋轉電視的內容 180 度,裝置必須旋轉 90 度。 請注意,若要旋轉內容,驅動程式必須設定DXGK_PRESENTFLAGS結構的Rotate成員。