DXGK_DRIVERCAPS結構(d3dkmddi.h)
DXGK_DRIVERCAPS 結構描述驅動程式透過呼叫其 DxgkDdiQueryAdapterInfo 函式所提供的顯示迷你埠驅動程式功能。
語法
typedef struct _DXGK_DRIVERCAPS {
[out] PHYSICAL_ADDRESS HighestAcceptableAddress;
[out] UINT MaxAllocationListSlotId;
[out] SIZE_T ApertureSegmentCommitLimit;
[out] UINT MaxPointerWidth;
[out] UINT MaxPointerHeight;
[out] DXGK_POINTERFLAGS PointerCaps;
[out] UINT InterruptMessageNumber;
[out] UINT NumberOfSwizzlingRanges;
[out] UINT MaxOverlays;
union {
[out] DXGK_GAMMARAMPCAPS GammaRampCaps;
[out] DXGK_COLORTRANSFORMCAPS ColorTransformCaps;
};
[out] DXGK_PRESENTATIONCAPS PresentationCaps;
[out] UINT MaxQueuedFlipOnVSync;
[out] DXGK_FLIPCAPS FlipCaps;
[out] DXGK_VIDSCHCAPS SchedulingCaps;
[out] DXGK_VIDMMCAPS MemoryManagementCaps;
[out] DXGK_GPUENGINETOPOLOGY GpuEngineTopology;
[out] DXGK_WDDMVERSION WDDMVersion;
DXGK_VIRTUALADDRESSCAPS_DEPRECATED Reserved;
DXGK_DMABUFFERCAPS_DEPRECATED Reserved1;
[out] D3DKMDT_PREEMPTION_CAPS PreemptionCaps;
[out] BOOLEAN SupportNonVGA;
[out] BOOLEAN SupportSmoothRotation;
[out] BOOLEAN SupportPerEngineTDR;
[out] BOOLEAN SupportDirectFlip;
[out] BOOLEAN SupportMultiPlaneOverlay;
[out] BOOLEAN SupportRuntimePowerManagement;
[out] BOOLEAN SupportSurpriseRemovalInHibernation;
[out] BOOLEAN HybridDiscrete;
[out] UINT MaxOverlayPlanes;
BOOLEAN HybridIntegrated;
D3DGPU_VIRTUAL_ADDRESS InternalGpuVirtualAddressRangeStart;
D3DGPU_VIRTUAL_ADDRESS InternalGpuVirtualAddressRangeEnd;
BOOLEAN SupportSurpriseRemoval;
[out] BOOLEAN SupportMultiPlaneOverlayImmediateFlip;
[out] BOOLEAN CursorScaledWithMultiPlaneOverlayPlane0;
BOOLEAN HybridAcpiChainingRequired;
[out] UINT MaxQueuedMultiPlaneOverlayFlipVSync;
union {
struct {
UINT SupportContextlessPresent : 1;
UINT Detachable : 1;
UINT VirtualGpuOnly : 1;
UINT ComputeOnly : 1;
UINT IndependentVidPnVSyncControl : 1;
UINT NoHybridDiscreteDListDllSupport : 1;
UINT DisplayableSupport : 1;
UINT NoHybridDiscreteDListDllMuxSupport : 1;
UINT CursorDoesNotSupportXorBlendWithMultiPlaneOverlay : 1;
#if ...
UINT Reserved : 23;
#elif
UINT Reserved : 25;
#elif
UINT Reserved : 26;
#elif
UINT Reserved : 27;
#elif
UINT Reserved : 28;
#elif
UINT Reserved : 29;
#else
UINT Reserved : 30;
#endif
};
UINT Value;
} MiscCaps;
UINT MaxHwQueuedFlips;
DXGK_HWQUEUEDFLIP_CAPS HwQueuedFlipCaps;
} DXGK_DRIVERCAPS;
成員
[out] HighestAcceptableAddress
PHYSICAL_ADDRESS數據類型(定義為LARGE_INTEGER),表示系統記憶體(RAM) 使用的最高可接受實體位址。
[out] MaxAllocationListSlotId
配置清單位置識別碼的最大數目。 配置清單位置代表在直接記憶體存取 (DMA) 緩衝中導向配置的位置。
[out] ApertureSegmentCommitLimit
顯示迷你埠驅動程序支持對應到光圈區段的最大物理記憶體位元組數。 視訊記憶體管理員不會將比 ApertureSegmentCommitLimit 指定的限制更多的物理記憶體對應到光圈區段。
[out] MaxPointerWidth
滑鼠指標的最大寬度,以像素為單位。
[out] MaxPointerHeight
滑鼠指標的最大高度,以掃描行為單位。
[out] PointerCaps
DXGK_POINTERFLAGS 結構,可識別驅動程式可支援的位字段旗標的滑鼠中的滑鼠指標功能。
[out] InterruptMessageNumber
如果使用訊息訊號中斷,而且驅動程式會從對應至固定訊息號碼的插斷處理程式呼叫 DxgkCbNotifyInterrupt 函式時所使用的訊息編號。
[out] NumberOfSwizzlingRanges
驅動程式可支援的令人眼花繚亂的範圍數目。
[out] MaxOverlays
驅動程式可支援的重疊數目上限。
[out] GammaRampCaps
DXGK_GAMMARAMPCAPS 結構,可識別驅動程式可支援的位字段旗標伽瑪坡道功能。
[out] ColorTransformCaps
用來描述顯示管線之 gamma 和色彩空間轉換功能的旗標。 注意:此欄位會取代此結構前 WDDM 2.2 版本中的 GammaRampCaps。
[out] PresentationCaps
DXGK_PRESENTATIONCAPS 結構,可識別驅動程式可支援的位字段旗標的呈現功能。
[out] MaxQueuedFlipOnVSync
可在圖形硬體上排入佇列和擱置的翻轉次數。 每次 VSync 中斷時,每個翻轉都會閂鎖到數位對模擬轉換器(DAC),因為圖形硬體會排入翻轉佇列。
[out] FlipCaps
DXGK_FLIPCAPS 結構,可識別驅動程式可支援的位字段旗標中翻轉功能。
[out] SchedulingCaps
DXGK_VIDSCHCAPS 結構,可識別驅動程式可以支援的位字段旗標的圖形處理單位 (GPU) 排程功能。
[out] MemoryManagementCaps
DXGK_VIDMMCAPS 結構,識別驅動程式可支援的視訊記憶體管理功能。
[out] GpuEngineTopology
描述驅動程式可支援的 GPU 引擎拓撲的 DXGK_GPUENGINETOPOLOGY 結構。
[out] WDDMVersion
識別 WDDM 版本的 DXGK_WDDMVERSION 值。 從 Windows 7 開始支援。
如果驅動程式支援 Windows 7 或更新版本功能(DXGKDDI_INTERFACE_VERSION ≥ DXGKDDI_INTERFACE_VERSION_WIN7),則此成員是保留的,且應設定為零。
對於不支援 Windows 7 或更新版本的舊版驅動程式(DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WIN7):
- 若要使用 Windows 7 WDK 編譯驅動程式(版本 7600),請將此成員設定為 DXGKDDI_WDDMv1。
- 若要使用 Windows 8 WDK 編譯驅動程式,請將此成員設定為 DXGKDDI_WDDMv1_2。
Reserved
保留。
Reserved1
保留。
[out] PreemptionCaps
D3DKMDT_PREEMPTION_CAPS 結構,描述驅動程式所支援之 GPU 圖形要求先佔的功能。
從 Windows 8 開始支援。
[out] SupportNonVGA
如果 TRUE,驅動程式支援使用 DxgkDdiStopDeviceAndReleasePostDisplayOwnership 函式來重設顯示裝置,並釋放目前電源上自我測試 (POST) 裝置的擁有權。
從 Windows 8 開始支援。
[out] SupportSmoothRotation
如果 TRUE,驅動程式支援使用 DxgkDdiUpdateActiveVidatePnPresentPath 函式來更新適配卡的路徑輪替,而不需要建立並設定新的 VidPN。
從 Windows 8 開始支援。
[out] SupportPerEngineTDR
如果 TRUE,驅動程式支援重設個別 GPU 引擎。
如果已設定此成員,則顯示迷你埠驅動程序必須實作 DxgkDdiQueryDependentEngineGroup、DxgkDdiQueryEngineStatus和 DxgkDdiResetEngine 函式。
從 Windows 8 開始支援。
[out] SupportDirectFlip
如果 TRUE,驅動程式支援建立和開啟共享受控主要配置。 TRUE 值也表示下列各項:
- 顯示迷你埠驅動程式可確保呼叫 DxgkDdiSetVidPnSourceAddress 函式時,驅動程式不允許將視訊記憶體翻轉為不相容的配置。
- 使用者模式驅動程式會在桌面 Windows 管理員 (DWM) 使用資源之前驗證直接翻轉資源。
只有 DWM 可以將視訊記憶體翻轉至直接翻轉資源。 DWM 會使用 user-mode CheckDirectFlipSupport 函式來驗證這些資源。
從 Windows 8 開始支援。
[out] SupportMultiPlaneOverlay
如果 TRUE,則顯示迷你埠驅動程序支援多重平面重疊,而且驅動程式也應該為 MaxOverlayPlanes 成員設定值。 如果 FALSE,DirectX 圖形核心子系統將不會呼叫多平面重疊函式。
從 Windows 8.1 開始支援。
[out] SupportRuntimePowerManagement
如果 TRUE,則顯示迷你埠驅動程式支援運行時間電源管理。
如果設定此成員,則顯示迷你埠驅動程序必須實作 DxgkDdiSetPowerComponentFState 和 DxgkDdiPowerRuntimeControlRequest 函式。
從 Windows 8 開始支援。
[out] SupportSurpriseRemovalInHibernation
如果 TRUE,則顯示迷你埠驅動程式支援在處於休眠模式的外部顯示裝置與系統中斷連線之後清除軟體資源。
如果設定此成員,顯示迷你埠驅動程式必須實作 DxgkDdiNotifySurpriseRemoval 函式,並將 RemovalType 參數設定為 DxgkRemovalHibernation。
如需詳細資訊,請參閱 在混合式系統中使用交叉配接器資源。
從 Windows 8 開始支援。
[out] HybridDiscrete
如果 TRUE,則顯示迷你連接埠驅動程式是混合式系統中 的離散 GPU。
如果已設定此成員,則顯示迷你埠驅動程序應該:
- 支援 WDDM 1.3
- 支援跨配接器資源
- 沒有顯示輸出
如需詳細資訊,請參閱 在混合式系統中使用交叉配接器資源。
從 Windows 8.1 開始支援。
[out] MaxOverlayPlanes
如果 SupportRuntimePowerManagementTRUE,則顯示迷你埠驅動程式應將 MaxOverlayPlanes 設定為單一輸出上可同時顯示在單一輸出上的最大重疊平面數目,包括主要介面, 它可以支援。 如果作業模式變更時可用的平面數目會變更,驅動程序應該使用反映最佳案例的數位。
從 Windows 8.1 開始支援。
HybridIntegrated
指出目前的 GPU 是否為混合式。
InternalGpuVirtualAddressRangeStart
內部 GPU 虛擬位址範圍開始。
InternalGpuVirtualAddressRangeEnd
內部 GPU 虛擬位址範圍結束。
SupportSurpriseRemoval
如果為TRUE,則顯示迷你埠驅動程式支援意外移除。
[out] SupportMultiPlaneOverlayImmediateFlip
如果為 TRUE,只要變更的唯一值就是要顯示的實體地址,顯示迷你埠驅動程式就支援立即翻轉到多平面重疊平面。
[out] CursorScaledWithMultiPlaneOverlayPlane0
如果為 TRUE,顯示硬體一律會將相同的縮放比例套用至硬體游標,如同套用至平面 0 時,套用每平面多平面重疊延展。
HybridAcpiChainingRequired
表示此混合式離散驅動程式需要整合式配接器上觸發的ACPI事件鏈結。
[out] MaxQueuedMultiPlaneOverlayFlipVSync
指出單一平面的更新數目上限可以在單一 Vsync 期間內進行,其中最新的更新會覆寫先前的更新。 如果驅動程式支援 硬體翻轉佇列,則 OS 會忽略此值。
MiscCaps
其他功能。
MiscCaps.SupportContextlessPresent
支援 DDI 呼叫中的 Null 內容。 設定此值時,OS 會在目前相關的 DIS 中傳遞 NULL 內容。 從 WDDM 2.4 開始支援。
MiscCaps.Detachable
可卸離,也就是熱插即用。 如果適配卡可熱插即用,驅動程式會在適配卡初始化期間設定此位。 從 WDDM 2.4 開始支援。
MiscCaps.VirtualGpuOnly
主機上的 Direct3D 應用程式不應該使用配接器。 從 WDDM 2.5 開始支援。
MiscCaps.ComputeOnly
藉由轉譯 WDDM 的僅限轉譯裝置功能,支援 Compute-Only 裝置。 從 Windows 10 版本 1901 開始支援 (WDDM 2.6)
MiscCaps.IndependentVidPnVSyncControl
設定這項功能的驅動程序應該會在 DdiControlInterrupt3 中讀取指定的 VidPnSourceId,並在所述的 VidPnSourceId 上控制 VSync。 從 Windows 10 版本 2004 (WDDM 2.7) 開始支援。
MiscCaps.NoHybridDiscreteDListDllSupport
指出驅動程式是否支援 d-List。 從 Windows 10 版本 2004 (WDDM 2.8) 開始支援。
MiscCaps.DisplayableSupport
指出驅動程式是否支援可顯示的功能。 從 Windows 11 開始支援 (WDDM 3.0)。
MiscCaps.NoHybridDiscreteDListDllMuxSupport
MiscCaps.CursorDoesNotSupportXorBlendWithMultiPlaneOverlay
MiscCaps.Reserved
保留。
MiscCaps.Value
存取 MiscCaps 位的替代方式。
MaxHwQueuedFlips
驅動程式支持的硬體翻轉佇列數目上限。 如果 OS 允許硬體翻轉佇列支援,驅動程式可以將 MaxHwQueuedFlips 設定為大於 1 的值。 已在 Windows Server 2022 中新增 (WDDM 2.9):從 Windows 11 開始支援 (WDDM 3.0)。
HwQueuedFlipCaps
描述硬體翻轉佇列功能的 DXGK_HWQUEUEDFLIP_CAPS 值。 已在 Windows Server 2022 中新增 (WDDM 2.9):從 Windows 11 開始支援 (WDDM 3.0)。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
標頭 | d3dkmddi.h (包括 D3dkmddi.h) |
另請參閱
DxgkDdiUpdateActiveVidPnPresentPath
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest