查詢 VidPN 硬體功能
從 Windows 7 開始,必須顯示迷你埠驅動程式,才能報告指定功能 VidPN 的所有硬體功能。 驅動程式應該支援下列回呼函式及其相關聯的結構:
當驅動程式報告硬體功能時,應該考慮複製為作為旋轉或調整轉換一部分完成的隱含程式:必須先複製來源,才能旋轉或調整。
如果D3DKMDT_VIDPN_HW_CAPABILITY的任何成員在指定的 VidPN 路徑上沒有任何意義,則如果成員設定為非零值,則顯示模式管理員 (DMM) 將不會回報任何錯誤。 DMM 會先清除所有這類值,再將其報告給使用者模式用戶端。 不過,驅動程式需要將 保留成員的值 設定為 0 D3DKMDT_VIDPN_HW_CAPABILITY。
範例案例
若要示範顯示迷你埠驅動程式應該如何報告硬體功能,請考慮下列硬體設定 P1、P2 和 P3 的範例集:
P1: Surface 會從來源 S1 複製,然後旋轉 90 度並縮放以符合目標。
P2: Surface 會從來源 S1 複製,且沒有套用的轉換。
P3: 來源 S2 沒有套用的轉換。
呼叫 DxgkDdiQueryVidPnHWCapability 時,驅動程式應該根據下表傳迴旋轉、縮放和複製 D3DKMDT_VIDPN_HW_CAPABILITY 成員的值:
傳回D3DKMDT_VIDPN_HW_CAPABILITY硬體功能 VidPN 路徑 DriverRotation DriverScaling DriverCloning 硬體成員的傳回值,可以執行所有旋轉、縮放和複製轉換。
P₁
0
0
0
P不等
0
0
0
P₃
0
0
0
硬體可以執行複製以外的所有轉換
P₁
0
0
0
P不等
0
0
1
P₃
0
0
0
硬體可以執行複製和調整轉換,但不能執行旋轉。 驅動程式會使用中繼旋轉 blit 來執行旋轉。
P₁
1
0
0
P不等
0
0
0
P₃
0
0
0
硬體無法執行複製、調整或旋轉轉換。 這些作業是由驅動程式執行。
P₁
1
1
0
P不等
0
0
1
P₃
0
0
0