Condividi tramite


struttura DXGK_DRIVERCAPS (d3dkmddi.h)

La struttura DXGK_DRIVERCAPS descrive le funzionalità di un driver miniport di visualizzazione fornito dal driver tramite una chiamata alla relativa funzione DxgkDdiQueryAdapterInfo.

Sintassi

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;

Membri

[out] HighestAcceptableAddress

Tipo di dati PHYSICAL_ADDRESS (definito come LARGE_INTEGER) che indica l'indirizzo fisico più alto accettabile della memoria di sistema (RAM) da usare.

[out] MaxAllocationListSlotId

Numero massimo di identificatori di slot dell'elenco di allocazioni. Uno slot di elenco di allocazione rappresenta la posizione in cui viene indirizzata un'allocazione nel buffer DMA (Direct Memory Access).

[out] ApertureSegmentCommitLimit

Numero massimo di byte di memoria fisica supportata dal driver miniport di visualizzazione per il mapping in un segmento di apertura. Il gestore della memoria video non eseguirà il mapping di una quantità maggiore di memoria fisica in un segmento di apertura rispetto al limite specificato ApertureSegmentCommitLimit.

[out] MaxPointerWidth

Larghezza massima del puntatore del mouse, in pixel.

[out] MaxPointerHeight

Altezza massima del puntatore del mouse, nelle linee di analisi.

[out] PointerCaps

Struttura DXGK_POINTERFLAGS che identifica le funzionalità del puntatore del mouse, in flag di campo di bit, che il driver può supportare.

[out] InterruptMessageNumber

Numero di messaggio utilizzato se vengono utilizzati interrupt con segnalazione di messaggi e il driver chiama la funzione DxgkCbNotifyInterrupt dal gestore interrupt corrispondente a un numero di messaggio fisso.

[out] NumberOfSwizzlingRanges

Numero di intervalli di scorrimento che il driver può supportare.

[out] MaxOverlays

Numero massimo di sovrimpressioni supportate dal driver.

[out] GammaRampCaps

Struttura DXGK_GAMMARAMPCAPS che identifica le funzionalità gamma-rampe, in flag di campo di bit, che il driver può supportare.

[out] ColorTransformCaps

Flag per descrivere le funzionalità di trasformazione dello spazio gamma e colore delle pipeline di visualizzazione. NOTA: questo campo sostituisce GammaRampCaps nella versione precedente a WDDM 2.2 di questa struttura.

[out] PresentationCaps

Struttura DXGK_PRESENTATIONCAPS che identifica le funzionalità di presentazione, in flag di campo di bit, che il driver può supportare.

[out] MaxQueuedFlipOnVSync

Numero di capovolgimenti che possono essere accodati e in sospeso nell'hardware grafico. Ogni capovolgimento viene latch a un convertitore da digitale a analogico (DAC) a ogni interrupt VSync, in ordine, in quanto l'hardware grafico accoda il capovolgimento.

[out] FlipCaps

Struttura DXGK_FLIPCAPS che identifica le funzionalità di scorrimento, in flag di campo di bit, che il driver può supportare.

[out] SchedulingCaps

Struttura DXGK_VIDSCHCAPS che identifica le funzionalità di pianificazione dell'unità di elaborazione grafica (GPU), in flag di campo di bit, che il driver può supportare.

[out] MemoryManagementCaps

Struttura DXGK_VIDMMCAPS che identifica le funzionalità di gestione della memoria video supportate dal driver.

[out] GpuEngineTopology

Struttura DXGK_GPUENGINETOPOLOGY che descrive la topologia del motore GPU supportata dal driver.

[out] WDDMVersion

Valore DXGK_WDDMVERSION che identifica la versione di WDDM. Supportato a partire da Windows 7.

Se un driver supporta le funzionalità di Windows 7 o versioni successive (DXGKDDI_INTERFACE_VERSION ≥ DXGKDDI_INTERFACE_VERSION_WIN7), questo membro è riservato e deve essere impostato su zero.

Per i driver meno recenti che non supportano le funzionalità di Windows 7 o versioni successive (DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WIN7):

  • Per compilare il driver con Windows 7 WDK (versione 7600), impostare questo membro su DXGKDDI_WDDMv1.
  • Per compilare il driver con Windows 8 WDK, impostare questo membro su DXGKDDI_WDDMv1_2.

Reserved

Riservato.

Reserved1

Riservato.

[out] PreemptionCaps

Struttura D3DKMDT_PREEMPTION_CAPS che descrive le funzionalità per la precedenza delle richieste grafiche GPU supportate dal driver.

Supportato a partire da Windows 8.

[out] SupportNonVGA

Se TRUE, il driver supporta la reimpostazione del dispositivo di visualizzazione e il rilascio della proprietà del dispositivo auto-test corrente tramite la funzione DxgkDdiStopDeviceAndReleasePostDisplayOwnership.

Supportato a partire da Windows 8.

[out] SupportSmoothRotation

Se TRUE, il driver supporta l'aggiornamento della rotazione del percorso sulla scheda usando la funzione DxgkDdiUpdateActiveVidPnPresentPath, senza richiedere la creazione e l'impostazione di un nuovo VidPN.

Supportato a partire da Windows 8.

[out] SupportPerEngineTDR

Se TRUE, il driver supporta la reimpostazione dei singoli motori GPU.

Se questo membro è impostato, il driver miniport di visualizzazione deve implementare il DxgkDdiQueryDependentEngineGroup, DxgkDdiQueryEngineStatuse funzioni DxgkDdiResetEngine.

Supportato a partire da Windows 8.

[out] SupportDirectFlip

Se TRUE, il driver supporta la creazione e l'apertura di allocazioni primarie gestite condivise. Il valore TRUE indica anche quanto segue:

  • Il driver miniport di visualizzazione garantisce che quando viene chiamata la funzione DxgkDdiSetVidSourceAddress, il driver non consente il capovolgimento della memoria video a un'allocazione incompatibile.
  • Il driver in modalità utente convalida le risorse Direct Flip prima che vengano usate da Desktop Windows Manager (DWM).

Solo DWM può capovolgere la memoria video alle risorse Direct Flip. DWM convalida queste risorse usando la funzione CheckDirectFlipSupport in modalità utente.

Supportato a partire da Windows 8.

[out] SupportMultiPlaneOverlay

Se TRUE, il driver miniport di visualizzazione supporta sovrimpressioni multipla e il driver deve anche impostare un valore per il maxOverlayPlanes membro. Se FALSE, il sottosistema kernel della grafica DirectX non chiamerà le funzioni di sovrapposizione multipla.

Supportato a partire da Windows 8.1.

[out] SupportRuntimePowerManagement

Se TRUE, il driver miniport di visualizzazione supporta il risparmio energia in fase di esecuzione.

Se questo membro è impostato, il driver miniport di visualizzazione deve implementare le funzioni DxgkDdiSetPowerComponentFState e DxgkDdiPowerRuntimeControlRe quest.

Supportato a partire da Windows 8.

[out] SupportSurpriseRemovalInHibernation

Se TRUE, il driver miniport di visualizzazione supporta la pulizia delle risorse software dopo che un dispositivo di visualizzazione esterno in modalità di ibernazione viene disconnesso dal sistema.

Se questo membro è impostato, il driver del miniport di visualizzazione deve implementare la funzione DxgkDdiNotifySurpriseRemoval con il parametro removeType impostato su DxgkRemovalHibernation.

Per altre informazioni, vedere Uso di risorse tra adattatori in un sistema ibrido.

Supportato a partire da Windows 8.

[out] HybridDiscrete

Se TRUE, il driver miniport di visualizzazione è una GPU discreta in un sistema ibrido .

Se questo membro è impostato, il driver miniport di visualizzazione deve:

  • supporto di WDDM 1.3
  • supportare le risorse tra adattatori
  • non hanno output di visualizzazione

Per altre informazioni, vedere Uso di risorse tra adattatori in un sistema ibrido.

Supportato a partire da Windows 8.1.

[out] MaxOverlayPlanes

Se SupportRuntimePowerManagement è TRUE, il driver miniport di visualizzazione deve impostare MaxOverlayPlanes al numero massimo di piani di sovrimpressione che possono essere visualizzati simultaneamente in un singolo output, inclusa la superficie primaria, che può supportare. Se il numero di aerei disponibili cambierà quando cambia la modalità operativa, il driver deve usare un numero che rifletta lo scenario migliore.

Supportato a partire da Windows 8.1.

HybridIntegrated

Indica se la GPU corrente è ibrida.

InternalGpuVirtualAddressRangeStart

Inizio dell'intervallo di indirizzi virtuali GPU interno.

InternalGpuVirtualAddressRangeEnd

Fine dell'intervallo di indirizzi virtuali GPU interno.

SupportSurpriseRemoval

Se TRUE, il driver miniport di visualizzazione supporta la rimozione a sorpresa.

[out] SupportMultiPlaneOverlayImmediateFlip

Se TRUE, il driver del miniport di visualizzazione supporta il capovolgimento immediato a un piano di sovrapposizione multipla, purché l'unico valore che cambia sia l'indirizzo fisico da visualizzare.

[out] CursorScaledWithMultiPlaneOverlayPlane0

Se TRUE, l'hardware di visualizzazione applicherà sempre lo stesso fattore di ridimensionamento al cursore hardware applicato al piano 0 quando viene applicato l'estensione della sovrapposizione multipla del piano.

HybridAcpiChainingRequired

Indica che questo driver discreto ibrido richiede il concatenamento di eventi ACPI attivati sulla scheda integrata.

[out] MaxQueuedMultiPlaneOverlayFlipVSync

Indica il numero massimo di aggiornamenti a un singolo piano che può essere eseguito entro un singolo periodo Vsync, in cui l'aggiornamento più recente sostituisce l'aggiornamento precedente. Se un driver supporta coda di scorrimento hardware, il sistema operativo ignora questo valore.

MiscCaps

Funzionalità varie.

MiscCaps.SupportContextlessPresent

Supporta il contesto Null nelle chiamate DDI. Quando questo valore viene impostato, il sistema operativo passerà il contesto NULL nelle DDI correlate. Supportato a partire da WDDM 2.4.

MiscCaps.Detachable

Scollegabile, ad esempio collegabile a caldo. I driver impostano questo bit durante l'inizializzazione dell'adattatore se l'adattatore è collegabile a caldo. Supportato a partire da WDDM 2.4.

MiscCaps.VirtualGpuOnly

L'adattatore non deve essere usato dalle applicazioni Direct3D nell'host. Supportato a partire da WDDM 2.5.

MiscCaps.ComputeOnly

Supporta Compute-Only dispositivi eseguendo il rendering delle funzionalità del dispositivo di sola rendering di WDDM. Supportato a partire da Windows 10 versione 1901 (WDDM 2.6)

MiscCaps.IndependentVidPnVSyncControl

I driver che impostano questa funzionalità devono leggere il VidPnSourceId specificato in DdiControlInterrupt3 e controllare VSync nell'elemento VidPnSourceId indicato. Supportato a partire da Windows 10 versione 2004 (WDDM 2.7).

MiscCaps.NoHybridDiscreteDListDllSupport

Indica se un driver supporta un elenco d. Supportato a partire da Windows 10 versione 2004 (WDDM 2.8).

MiscCaps.DisplayableSupport

Indica se un driver supporta la funzionalità visualizzabile. Supportato a partire da Windows 11 (WDDM 3.0).

MiscCaps.NoHybridDiscreteDListDllMuxSupport

MiscCaps.CursorDoesNotSupportXorBlendWithMultiPlaneOverlay

MiscCaps.Reserved

Riservato.

MiscCaps.Value

Un modo alternativo per accedere ai bit MiscCaps.

MaxHwQueuedFlips

Numero massimo di code di scorrimento hardware supportate dal driver. Se il sistema operativo consente il supporto della coda di scorrimento hardware, il driver può impostare MaxHwQueuedFlips su un valore maggiore di 1. Aggiunta in Windows Server 2022 (WDDM 2.9); supportato a partire da Windows 11 (WDDM 3.0).

HwQueuedFlipCaps

Valore DXGK_HWQUEUEDFLIP_CAPS che descrive le funzionalità della coda di scorrimento hardware. Aggiunta in Windows Server 2022 (WDDM 2.9); supportato a partire da Windows 11 (WDDM 3.0).

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista
intestazione d3dkmddi.h (include D3dkmddi.h)

Vedere anche

DxgkDdiUpdateActiveVidPnPresentPath

DXGK_VIDSCHCAPS

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

CheckDirectFlipSupport

DXGK_POINTERFLAGS

D3DKMDT_PREEMPTION_CAPS

DXGK_GAMMARAMPCAPS

DxgkDdiQueryAdapterInfo

DXGK_PRESENTATIONCAPS

DXGK_VIDMMCAPS

DXGK_GPUENGINETOPOLOGY

DxgkDdiQueryEngineStatus

DxgkDdiSetPowerComponentFState

DxgkDdiSetVidSourceAddress

DxgkDdiResetEngine

DxgkDdiPowerRuntimeControlRequest

DxgkCbNotifyInterrupt

DxgkDdiNotifySurpriseRemoval

DxgkDdiQueryDependentEngineGroup

DXGK_FLIPCAPS

DXGKARG_QUERYADAPTERINFO