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
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest