重迭 DDI
本節僅適用于 Windows 7 和更新版本,以及 Windows Server 2008 R2 和更新版本的 Windows 作業系統。
Overlay DDI 是 Direct3D 第 9 版 DDI 的延伸模組,可驗證重迭支援。 重迭 DDI 是由下列進入點所組成:
Direct3D 執行時間會使用 D3DDDICAPS_TYPE 列舉中的D3DDDICAPS_CHECKOVERLAYSUPPORT值,來驗證顯示裝置是否支援特定的重迭。 執行時間會在執行時間呼叫GetCaps時,驅動程式GetCaps函式pData參數所指向之D3DDDIARG_GETCAPS結構的Type成員中設定D3DDDICAPS_CHECKOVERLAYSUPPORT。 執行時間也會將 D3DDDIARG_GETCAPS 的 pInfo 成員設定為描述重迭 之 DDICHECKOVERLAYSUPPORTINPUT 結構的指標。 如果驅動程式支援重迭,驅動程式會設定 D3DOVERLAYCAPS 結構的成員,並在D3DDDIARG_GETCAPS 的 pData成員中傳回這個結構的指標。 否則,如果驅動程式不支援重迭,則驅動程式會根據缺少支援是否以重迭格式為基礎,使用 D3DDDIERR_UNSUPPORTEDOVERLAYFORMAT 或 D3DDDIERR_UNSUPPORTEDOVERLAY 來失敗呼叫其 GetCaps 函式。 DirectX SDK 檔說明 D3DOVERLAYCAPS。
驅動程式會設定 D3DOVERLAYCAPS 的 MaxOverlayDisplayWidth 和 MaxOverlayDisplayHeight 成員,指出驅動程式和硬體可能具有的任何限制,這牽涉到延展重迭資料) 之後的最終重迭大小 (。
驅動程式會設定 D3DOVERLAYCAPS Caps 成員中的D3DOVERLAYCAPS_STRETCHX (0x00000040) 和D3DOVERLAYCAPS_STRETCHY (0x00000080) 功能位,以指出重迭硬體能夠任意縮放和壓縮重迭資料。 驅動程式不應該嘗試模擬透過 GPU 的重迭延展,而且只有在重迭硬體支援延展時,才應該設定這些上限。 應用程式通常需要較少的額外負荷,才能在視訊處理和組合階段執行 GPU 延展,而不是讓驅動程式在非常結束時執行個別傳遞,以模擬重迭延展。
驅動程式應該從 D3DDDI_OVERLAYINFOFLAGS 結構處理下列新的位欄位旗標。 D3DDDI_OVERLAYINFOFLAGS結構會識別要執行的重迭作業類型。 呼叫驅動程式的 CreateOverlay 或 UpdateOverlay函式時,D3DDDI_OVERLAYINFO 結構的Flags成員中指定D3DDDI_OVERLAYINFOFLAGS結構。
LimitedRGB
重迭是有限的範圍 RGB,而不是完整的範圍 RGB。 在有限的範圍 RGB 中,RGB 範圍會經過壓縮,讓 16:16:16 是黑色,而 235:235:235 是白色。YCbCrBT709
重迭是 BT.709,表示 HDTV) (高畫質電視,而不是 BT.601。YCbCrxvYCC
重迭會延伸 YCbCr (xvYCC) ,而不是傳統 YCbCr。例如,當顯示格式為 64 位,而不是 32 位 (例如,當 Desktop Windows Manager (DWM) 針對顯示) 模式使用 D3DFMT_A16B16G16R16F 時,執行時間會在D3DDDI_OVERLAYINFO結構的DstColorKeyLow成員中放置較低的 32 位重迭色彩索引鍵,以及D3DDDI_OVERLAYINFO 的 DstColorKeyHigh成員中的上方 32 位。