DXGK_DRIVERCAPS struttura (d3dkmddi.h)

La struttura DXGK_DRIVERCAPS descrive le funzionalità di un driver miniport visualizzato fornito tramite una chiamata alla 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;
#if ...
      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;

Members

[out] HighestAcceptableAddress

Un PHYSICAL_ADDRESS tipo di dati (definito come LARGE_INTEGER) che indica l'indirizzo fisico accettabile più elevato della memoria di sistema da usare.

[out] MaxAllocationListSlotId

Numero massimo di identificatori dello slot di allocazione. 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 visualizzato per il mapping in un segmento di apertura. La gestione memoria video non esegue il mapping della memoria fisica in un segmento di apertura rispetto al limite specificato da 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 bit, che il driver può supportare.

[out] InterruptMessageNumber

Il numero di messaggio utilizzato se vengono usati interruzioni con segnale di messaggio e il driver chiama la funzione DxgkCbNotifyInterrupt dal gestore di interruzioni corrispondente a un numero di messaggio fisso.

[out] NumberOfSwizzlingRanges

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

[out] MaxOverlays

Numero massimo di sovrimpressione che il driver può supportare.

[out] GammaRampCaps

Struttura DXGK_GAMMARAMPCAPS che identifica le funzionalità gamma-rampe, in flag di campo 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 pre-WDDM 2.2 di questa struttura.

[out] PresentationCaps

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

[out] MaxQueuedFlipOnVSync

Numero di capovolgimenti che possono essere accodati e in sospeso nell'hardware grafico. Ogni capovolgimento viene latchato a un convertitore digitale-analogico (DAC) a ogni interruzione VSync, in ordine, perché l'hardware grafico accoda il capovolgimento.

[out] FlipCaps

Struttura DXGK_FLIPCAPS che identifica le funzionalità di scorrimento, in flag di campo a 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 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 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 il 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 il preemption 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 self-test (POST) corrente usando la funzione DxgkDdiStopDeviceAndReleasePostDisplayOwnership corrente.

Supportato a partire da Windows 8.

[out] SupportSmoothRotation

Se TRUE, il driver supporta la rotazione del percorso di aggiornamento sulla scheda usando la funzione DxgkDdiUpdateActiveVidPresentPath , 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 visualizzato deve implementare le funzioni DxgkDdiQueryDependentEngineGroup, DxgkDdiQueryEngineStatus e DxgkDdiResetEngine .

Supportato a partire da Windows 8.

[out] SupportDirectFlip

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

  • Il driver miniport visualizzato garantisce che quando viene chiamata la funzione DxgkDdiSetVidSourceAddress , il driver non consente l'scorrimento della memoria video a un'allocazione non compatibile.
  • Il driver in modalità utente convalida le risorse Direct Flip prima dell'uso di Desktop Windows Manager (DWM).

Solo DWM può scorrere 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 visualizzato supporta sovrimpressione multipla e il driver deve anche impostare un valore per il membro MaxOverlayPlanes . Se FALSE, il sottosistema kernel della grafica DirectX non chiamerà funzioni di sovrapposizione multiplane.

Supportato a partire da Windows 8.1.

[out] SupportRuntimePowerManagement

Se TRUE, il driver miniport visualizzato supporta la gestione dell'alimentazione in fase di esecuzione.

Se questo membro è impostato, il driver miniport visualizzato deve implementare le funzioni DxgkDdiSetPowerComponentFState e DxgkDdiPowerRuntimeControlRequest .

Supportato a partire da Windows 8.

[out] SupportSurpriseRemovalInHibernation

Se TRUE, il driver miniport visualizzato 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 miniport visualizzato deve implementare la funzione DxgkDdiNotifySurpriseRemoval con il parametro RemoveType impostato su DxgkRemovalHibernation.

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

Supportato a partire da Windows 8.

[out] HybridDiscrete

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

Se questo membro è impostato, il driver miniport visualizzato deve:

  • supporta WDDM 1.3
  • supportare le risorse tra schede
  • non hanno output di visualizzazione

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

Supportato a partire da Windows 8.1.

[out] MaxOverlayPlanes

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

Supportato a partire da Windows 8.1.

HybridIntegrated

Indica se la GPU corrente è ibrida.

InternalGpuVirtualAddressRangeStart

Avvio dell'intervallo di indirizzi virtuali GPU interno.

InternalGpuVirtualAddressRangeEnd

Fine dell'intervallo di indirizzi virtuali GPU interno.

SupportSurpriseRemoval

Se TRUE, il driver miniport visualizzato supporta la rimozione delle sorprese.

[out] SupportMultiPlaneOverlayImmediateFlip

Se TRUE, il driver miniport di visualizzazione supporta il capovolgimento immediato a un piano di sovrapposizione multipla fino a quando l'unico valore che cambia è l'indirizzo fisico da visualizzare.

[out] CursorScaledWithMultiPlaneOverlayPlane0

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

HybridAcpiChainingRequired

Indica che questo driver discreto ibrido richiede la concatenazione di eventi ACPI attivati nell'adattatore integrato.

[out] MaxQueuedMultiPlaneOverlayFlipVSync

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

MiscCaps

Funzionalità varie.

MiscCaps.SupportContextlessPresent

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

MiscCaps.Detachable

Scollegabile, ad esempio hot-plug-plug-able. I driver impostano questo bit durante l'inizializzazione dell'adattatore se l'adattatore è plug-in-hot.Driver set this bit during adapter initialization if the adapter is hot-pluggable. Supportato a partire da WDDM 2.4.

MiscCaps.VirtualGpuOnly

La scheda non deve essere usata 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 l'oggetto VidPnSourceId specificato in DdiControlInterrupt3 e controllare VSync nell'oggetto VidPnSourceId indicato. Supportato a partire da Windows 10 versione 2004 (WDDM 2.7).

MiscCaps.NoHybridDiscreteDListDllSupport

Indica se un driver supporta un d-List. 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.Reserved

Riservato.

MiscCaps.Value

Un modo alternativo per accedere ai bit MiscCaps .

MaxHwQueuedFlips

Numero massimo di code di capovolgimento hardware supportate dal driver. Se il sistema operativo consente il supporto della coda di capovolgimento 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 capovolgimento hardware. Aggiunta in Windows Server 2022 (WDDM 2.9); supportato a partire da Windows 11 (WDDM 3.0).

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Intestazione d3dkmddi.h (include D3dkmddi.h)

Vedi 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