DXGK_DRIVERCAPS Struktur (d3dkmddi.h)
Die DXGK_DRIVERCAPS-Struktur beschreibt die Funktionen eines Anzeigeminiporttreibers, die der Treiber über einen Aufruf seiner DxgkDdiQueryAdapterInfo-Funktion bereitstellt.
Syntax
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;
Member
[out] HighestAcceptableAddress
Ein PHYSICAL_ADDRESS Datentyp (definiert als LARGE_INTEGER), der die höchste zulässige physische Adresse des Systemspeichers (RAM) angibt.
[out] MaxAllocationListSlotId
Die maximale Anzahl von Zuordnungslistenslotbezeichnern. Ein Zuordnungslistenslot stellt dar, wo eine Zuordnung in DMA-Pufferung (Direct Memory Access) geleitet wird.
[out] ApertureSegmentCommitLimit
Die maximale Anzahl von Bytes des physischen Arbeitsspeichers, die der Anzeigeminiporttreiber für die Zuordnung zu einem Blendensegment unterstützt. Der Videospeicher-Manager zuordnen nicht mehr physischen Arbeitsspeicher in ein Blendensegment als den Grenzwert, den ApertureSegmentCommitLimit angibt.
[out] MaxPointerWidth
Die maximale Breite des Mauszeigers in Pixel.
[out] MaxPointerHeight
Die maximale Höhe des Mauszeigers in Scanlinien.
[out] PointerCaps
Eine DXGK_POINTERFLAGS Struktur, die die Mauszeigerfunktionen in Bitfeldflags identifiziert, die der Treiber unterstützen kann.
[out] InterruptMessageNumber
Die Nachrichtennummer, die verwendet wird, wenn Nachrichtensignal-Interrupts verwendet werden, und der Treiber ruft die DxgkCbNotifyInterrupt-Funktion vom Interrupthandler auf, der einer festen Nachrichtennummer entspricht.
[out] NumberOfSwizzlingRanges
Die Anzahl der Schwenkbereiche, die der Treiber unterstützen kann.
[out] MaxOverlays
Die maximale Anzahl von Überlagerungen, die der Treiber unterstützen kann.
[out] GammaRampCaps
Eine DXGK_GAMMARAMPCAPS Struktur, die die Gamma-Ramp-Funktionen in Bitfeldflags identifiziert, die der Treiber unterstützen kann.
[out] ColorTransformCaps
Flags zur Beschreibung der Gamma- und Farbraumtransformationsfunktionen der Anzeigepipelines. HINWEIS: Dieses Feld ersetzt gammaRampCaps in der Version vor WDDM 2.2 dieser Struktur.
[out] PresentationCaps
Eine DXGK_PRESENTATIONCAPS Struktur, die die Präsentationsfunktionen in Bitfeldflags identifiziert, die der Treiber unterstützen kann.
[out] MaxQueuedFlipOnVSync
Die Anzahl der Flips, die an der Grafikhardware in die Warteschlange gestellt werden können. Jeder Flip wird bei jedem VSync-Interrupt an einen Digital-Analog-Wandler (DAC) verriegelt, damit die Grafikhardware den Flip in die Warteschlange stellt.
[out] FlipCaps
Eine DXGK_FLIPCAPS Struktur, die die Vom Treiber unterstützten Flippingfunktionen in Bitfeldflags identifiziert.
[out] SchedulingCaps
Eine DXGK_VIDSCHCAPS Struktur, die die Gpu-Planungsfunktionen (Graphics Processing Unit) in Bitfeldflags identifiziert, die der Treiber unterstützen kann.
[out] MemoryManagementCaps
Eine DXGK_VIDMMCAPS-Struktur , die die Videospeicherverwaltungsfunktionen identifiziert, die der Treiber unterstützen kann.
[out] GpuEngineTopology
Eine DXGK_GPUENGINETOPOLOGY Struktur, die die Vom Treiber unterstützte GPU-Engine-Topologie beschreibt.
[out] WDDMVersion
Ein DXGK_WDDMVERSION Wert, der die Version von WDDM identifiziert. Wird ab Windows 7 unterstützt.
Wenn ein Treiber Features von Windows 7 oder höher (DXGKDDI_INTERFACE_VERSION ≥ DXGKDDI_INTERFACE_VERSION_WIN7) unterstützt, ist dieser Member reserviert und sollte auf 0 festgelegt werden.
Für ältere Treiber, die keine Windows 7- oder höher-Features unterstützen (DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WIN7):
- Um den Treiber mit dem Windows 7 WDK (Version 7600) zu kompilieren, legen Sie diesen Member auf DXGKDDI_WDDMv1 fest.
- Um den Treiber mit dem Windows 8 WDK zu kompilieren, legen Sie diesen Member auf DXGKDDI_WDDMv1_2 fest.
Reserved
Reserviert.
Reserved1
Reserviert.
[out] PreemptionCaps
Eine D3DKMDT_PREEMPTION_CAPS-Struktur , die die Vom Treiber unterstützten Funktionen für die Vorzeitige Entfernung von GPU-Grafikanforderungen beschreibt.
Wird ab Windows 8 unterstützt.
[out] SupportNonVGA
Bei TRUE unterstützt der Treiber das Zurücksetzen des Anzeigegeräts und das Freigeben des Besitzes des aktuellen POST-Geräts (Power-On Self-Test) mithilfe der DxgkDdiStopDeviceAndReleasePostDisplayOwnership-Funktion .
Wird ab Windows 8 unterstützt.
[out] SupportSmoothRotation
Wenn TRUE, unterstützt der Treiber die Aktualisierung der Pfadrotation auf dem Adapter mithilfe der DxgkDdiUpdateActiveVidPnPresentPath-Funktion , ohne dass eine neue VidPN erstellt und festgelegt werden muss.
Wird ab Windows 8 unterstützt.
[out] SupportPerEngineTDR
Bei TRUE unterstützt der Treiber das Zurücksetzen einzelner GPU-Engines.
Wenn dieses Element festgelegt ist, muss der Anzeigeminiporttreiber die Funktionen DxgkDdiQueryDependentEngineGroup, DxgkDdiQueryEngineStatus und DxgkDdiResetEngine implementieren.
Wird ab Windows 8 unterstützt.
[out] SupportDirectFlip
Bei TRUE unterstützt der Treiber das Erstellen und Öffnen freigegebener verwalteter primärer Zuordnungen. Ein Wert von TRUE gibt außerdem Folgendes an:
- Der Anzeigeminiporttreiber garantiert, dass der Treiber beim Aufruf der DxgkDdiSetVidPnSourceAddress-Funktion nicht zulässt, dass der Videospeicher in eine inkompatible Zuordnung umgedreht wird.
- Der Benutzermodustreiber überprüft Direct Flip-Ressourcen, bevor sie vom Desktop-Windows-Manager (DWM) verwendet werden.
Nur der DWM kann den Videospeicher in Direct Flip-Ressourcen umlegen. Der DWM überprüft diese Ressourcen mithilfe der CheckDirectFlipSupport-Funktion im Benutzermodus.
Wird ab Windows 8 unterstützt.
[out] SupportMultiPlaneOverlay
Bei TRUE unterstützt der Miniporttreiber mehrschichtige Überlagerungen, und der Treiber sollte auch einen Wert für das MaxOverlayPlanes-Element festlegen. Wenn FALSE, ruft das DirectX-Grafikkernsubsystem keine Mehrplanenüberlagerungsfunktionen auf.
Wird ab Windows 8.1 unterstützt.
[out] SupportRuntimePowerManagement
Wenn TRUE, unterstützt der Display-Miniporttreiber die Laufzeitenergieverwaltung.
Wenn dieses Element festgelegt ist, muss der Anzeigeminiporttreiber die Funktionen DxgkDdiSetPowerComponentFState und DxgkDdiPowerRuntimeControlRequest implementieren.
Wird ab Windows 8 unterstützt.
[out] SupportSurpriseRemovalInHibernation
Wenn TRUE, unterstützt der Display-Miniporttreiber das Bereinigen von Softwareressourcen, nachdem ein externes Anzeigegerät im Ruhezustandsmodus vom System getrennt wurde.
Wenn dieser Member festgelegt ist, muss der Anzeigeminiporttreiber die DxgkDdiNotifySurpriseRemoval-Funktion implementieren, wobei der RemovalType-Parameter auf DxgkRemovalHibernation festgelegt ist.
Weitere Informationen finden Sie unter Verwenden adapterübergreifender Ressourcen in einem Hybridsystem.
Wird ab Windows 8 unterstützt.
[out] HybridDiscrete
Bei TRUE ist der Display-Miniporttreiber eine diskrete GPU in einem Hybridsystem.
Wenn dieser Member festgelegt ist, sollte der Anzeigeminiporttreiber:
- Unterstützung von WDDM 1.3
- Unterstützung adapterübergreifender Ressourcen
- über keine Anzeigeausgaben verfügen
Weitere Informationen finden Sie unter Verwenden adapterübergreifender Ressourcen in einem Hybridsystem.
Wird ab Windows 8.1 unterstützt.
[out] MaxOverlayPlanes
Wenn SupportRuntimePowerManagementTRUE ist, sollte der Anzeigeminiporttreiber MaxOverlayPlanes auf die maximale Anzahl von Überlagerungsebenen festlegen, die gleichzeitig auf einer einzelnen Ausgabe angezeigt werden können, einschließlich der primären Oberfläche, die unterstützt werden kann. Wenn sich die Anzahl der verfügbaren Ebenen ändert, wenn sich der Betriebsmodus ändert, sollte der Treiber eine Zahl verwenden, die das best-case-Szenario widerspiegelt.
Wird ab Windows 8.1 unterstützt.
HybridIntegrated
Gibt an, ob die aktuelle GPU hybrid ist.
InternalGpuVirtualAddressRangeStart
Interner virtueller GPU-Adressbereich starten.
InternalGpuVirtualAddressRangeEnd
Interner virtueller GPU-Adressbereich endet.
SupportSurpriseRemoval
Wenn TRUE, unterstützt der Display-Miniporttreiber das Entfernen von Überraschungen.
[out] SupportMultiPlaneOverlayImmediateFlip
Wenn TRUE, unterstützt der Anzeigeminiporttreiber sofortiges Umblättern auf eine Mehrschichtebene, solange der einzige Wert, der sich ändert, die physische Adresse ist, die angezeigt werden soll.
[out] CursorScaledWithMultiPlaneOverlayPlane0
Bei TRUE wendet die Anzeigehardware immer den gleichen Skalierungsfaktor auf den Hardwarecursor an, der auf Ebene 0 angewendet wird, wenn pro Ebene mehrschichtiges Überlagerungsdehnung angewendet wird.
HybridAcpiChainingRequired
Gibt an, dass dieser diskrete Hybridtreiber eine Verkettung von ACPI-Ereignissen erfordert, die auf dem integrierten Adapter ausgelöst werden.
[out] MaxQueuedMultiPlaneOverlayFlipVSync
Gibt an, dass die maximale Anzahl von Updates für eine einzelne Ebene innerhalb eines einzelnen Vsync-Zeitraums durchgeführt werden kann, in dem das letzte Update das vorherige Update außer Kraft setzt. Wenn ein Treiber hardware flip queue unterstützt, ignoriert das Betriebssystem diesen Wert.
MiscCaps
Verschiedene Funktionen.
MiscCaps.SupportContextlessPresent
Unterstützt NULL-Kontext in DDI-Aufrufen. Wenn dieser Wert festgelegt ist, übergibt das Betriebssystem den NULL-Kontext in den vorhandenen zugehörigen DDIs. Wird ab WDDM 2.4 unterstützt.
MiscCaps.Detachable
Ablösbar, d.h. hot-pluggable. Treiber legen dieses Bit während der Adapterinitialisierung fest, wenn der Adapter hot-plug-fähig ist. Wird ab WDDM 2.4 unterstützt.
MiscCaps.VirtualGpuOnly
Der Adapter sollte nicht von Direct3D-Anwendungen auf dem Host verwendet werden. Wird ab WDDM 2.5 unterstützt.
MiscCaps.ComputeOnly
Unterstützt Compute-Only-Geräte, indem die Funktionen von WDDM für reines Rendern von Geräten gerendert werden. Unterstützt ab Windows 10 Version 1901 (WDDM 2.6)
MiscCaps.IndependentVidPnVSyncControl
Treiber, die diese Funktion festlegen, sollten die angegebene VidPnSourceId in DdiControlInterrupt3 lesen und VSync für die erwähnte VidPnSourceId steuern. Wird ab Windows 10 Version 2004 (WDDM 2.7) unterstützt.
MiscCaps.NoHybridDiscreteDListDllSupport
Gibt an, ob ein Treiber eine d-List unterstützt. Unterstützt ab Windows 10 Version 2004 (WDDM 2.8).
MiscCaps.DisplayableSupport
Gibt an, ob ein Treiber die anzeigebare Funktion unterstützt. Unterstützt ab Windows 11 (WDDM 3.0).
MiscCaps.NoHybridDiscreteDListDllMuxSupport
MiscCaps.CursorDoesNotSupportXorBlendWithMultiPlaneOverlay
MiscCaps.Reserved
Reserviert.
MiscCaps.Value
Eine alternative Möglichkeit, auf die MiscCaps-Bits zuzugreifen.
MaxHwQueuedFlips
Die maximale Anzahl von Hardware-Flip-Warteschlangen, die der Treiber unterstützt. Wenn das Betriebssystem die Unterstützung von Hardware-Flip-Warteschlangen zulässt, kann der Treiber MaxHwQueuedFlips auf einen Wert größer als 1 festlegen. Hinzugefügt in Windows Server 2022 (WDDM 2.9); unterstützt ab Windows 11 (WDDM 3.0).
HwQueuedFlipCaps
Ein DXGK_HWQUEUEDFLIP_CAPS Wert, der die Funktionen der Hardware-Flipwarteschlange beschreibt. Hinzugefügt in Windows Server 2022 (WDDM 2.9); unterstützt ab Windows 11 (WDDM 3.0).
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Kopfzeile | d3dkmddi.h (einschließlich D3dkmddi.h) |
Weitere Informationen
DxgkDdiUpdateActiveVidPnPresentPath
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest