Freigeben über


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

DXGK_VIDSCHCAPS

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

CheckDirectFlipSupport

DXGK_POINTERFLAGS

D3DKMDT_PREEMPTION_CAPS

DXGK_GAMMARAMPCAPS

DxgkDdiQueryAdapterInfo

DXGK_PRESENTATIONCAPS

DXGK_VIDMMCAPS

DXGK_GPUENGINETOPOLOGY

DxgkDdiQueryEngineStatus

DxgkDdiSetPowerComponentFState

DxgkDdiSetVidPnSourceAddress

DxgkDdiResetEngine

DxgkDdiPowerRuntimeControlRequest

DxgkCbNotifyInterrupt

DxgkDdiNotifySurpriseRemoval

DxgkDdiQueryDependentEngineGroup

DXGK_FLIPCAPS

DXGKARG_QUERYADAPTERINFO