structure DXGK_DRIVERCAPS (d3dkmddi.h)
La structure DXGK_DRIVERCAPS décrit les fonctionnalités d’un pilote miniport d’affichage que le pilote fournit via un appel à sa fonction DxgkDdiQueryAdapterInfo .
Syntaxe
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;
Membres
[out] HighestAcceptableAddress
Un PHYSICAL_ADDRESS type de données (défini comme LARGE_INTEGER) qui indique l’adresse physique la plus élevée acceptable de la mémoire système (RAM) à utiliser.
[out] MaxAllocationListSlotId
Nombre maximal d’identificateurs d’emplacement de liste d’allocation. Un emplacement de liste d’allocation représente l’emplacement où une allocation est dirigée dans la mise en mémoire tampon d’accès direct à la mémoire (DMA).
[out] ApertureSegmentCommitLimit
Nombre maximal d’octets de mémoire physique pris en charge par le pilote miniport d’affichage pour le mappage dans un segment d’ouverture. Le gestionnaire de mémoire vidéo ne mappe pas plus de mémoire physique dans un segment d’ouverture que la limite spécifiée par ApertureSegmentCommitLimit .
[out] MaxPointerWidth
Largeur maximale du pointeur de la souris, en pixels.
[out] MaxPointerHeight
Hauteur maximale du pointeur de la souris, en lignes d’analyse.
[out] PointerCaps
Une structure DXGK_POINTERFLAGS qui identifie les fonctionnalités de pointeur de souris, dans les indicateurs de champ de bits, que le pilote peut prendre en charge.
[out] InterruptMessageNumber
Numéro de message utilisé si des interruptions signalées par un message sont utilisées et que le pilote appelle la fonction DxgkCbNotifyInterrupt à partir du gestionnaire d’interruptions correspondant à un numéro de message fixe.
[out] NumberOfSwizzlingRanges
Nombre de plages de basculement que le pilote peut prendre en charge.
[out] MaxOverlays
Nombre maximal de superpositions que le pilote peut prendre en charge.
[out] GammaRampCaps
Structure DXGK_GAMMARAMPCAPS qui identifie les fonctionnalités de la rampe gamma, dans les indicateurs de champ binaire, que le pilote peut prendre en charge.
[out] ColorTransformCaps
Indicateurs pour décrire les fonctionnalités de transformation gamma et d’espace de couleur des pipelines d’affichage. REMARQUE : ce champ remplace les GammaRampCaps dans la version antérieure à WDDM 2.2 de cette structure.
[out] PresentationCaps
Structure DXGK_PRESENTATIONCAPS qui identifie les fonctionnalités de présentation, dans les indicateurs de champ binaire, que le pilote peut prendre en charge.
[out] MaxQueuedFlipOnVSync
Nombre de retournements pouvant être mis en file d’attente et en attente au niveau du matériel graphique. Chaque basculement est verrouillé vers un convertisseur numérique-analogique (DAC) à chaque interruption VSync, dans l’ordre, car le matériel graphique met en file d’attente le basculement.
[out] FlipCaps
Une structure DXGK_FLIPCAPS qui identifie les fonctionnalités de basculement, dans les indicateurs de champ de bits, que le pilote peut prendre en charge.
[out] SchedulingCaps
Une structure DXGK_VIDSCHCAPS qui identifie les fonctionnalités de planification de l’unité de traitement graphique (GPU), dans les indicateurs de champ de bits, que le pilote peut prendre en charge.
[out] MemoryManagementCaps
Une structure DXGK_VIDMMCAPS qui identifie les fonctionnalités de gestion de la mémoire vidéo que le pilote peut prendre en charge.
[out] GpuEngineTopology
Une structure DXGK_GPUENGINETOPOLOGY qui décrit la topologie du moteur GPU que le pilote peut prendre en charge.
[out] WDDMVersion
Valeur DXGK_WDDMVERSION qui identifie la version de WDDM. Pris en charge à partir de Windows 7.
Si un pilote prend en charge les fonctionnalités windows 7 ou ultérieures (DXGKDDI_INTERFACE_VERSION ≥ DXGKDDI_INTERFACE_VERSION_WIN7), ce membre est réservé et doit être défini sur zéro.
Pour les pilotes plus anciens qui ne prennent pas en charge les fonctionnalités windows 7 ou ultérieures (DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WIN7) :
- Pour compiler le pilote avec windows 7 WDK (version 7600), définissez ce membre sur DXGKDDI_WDDMv1.
- Pour compiler le pilote avec l’Windows 8 WDK, définissez ce membre sur DXGKDDI_WDDMv1_2.
Reserved
Réservé.
Reserved1
Réservé.
[out] PreemptionCaps
Une structure D3DKMDT_PREEMPTION_CAPS qui décrit les fonctionnalités de préemption des demandes graphiques GPU prises en charge par le pilote.
Pris en charge à partir de Windows 8.
[out] SupportNonVGA
Si la valeur est TRUE, le pilote prend en charge la réinitialisation du périphérique d’affichage et la libération de la propriété du périphérique d’auto-test d’alimentation (POST) actuel à l’aide de la fonction DxgkDdiStopDeviceAndReleasePostDisplayOwnership .
Pris en charge à partir de Windows 8.
[out] SupportSmoothRotation
Si la valeur est TRUE, le pilote prend en charge la mise à jour de la rotation du chemin d’accès sur l’adaptateur à l’aide de la fonction DxgkDdiUpdateActiveVidPnPresentPath , sans nécessiter la création et la définition d’un nouveau VidPN.
Pris en charge à partir de Windows 8.
[out] SupportPerEngineTDR
Si la valeur EST TRUE, le pilote prend en charge la réinitialisation des moteurs GPU individuels.
Si ce membre est défini, le pilote miniport d’affichage doit implémenter les fonctions DxgkDdiQueryDependentEngineGroup, DxgkDdiQueryEngineStatus et DxgkDdiResetEngine .
Pris en charge à partir de Windows 8.
[out] SupportDirectFlip
Si la valeur est TRUE, le pilote prend en charge la création et l’ouverture d’allocations principales managées partagées. La valeur TRUE indique également ce qui suit :
- Le pilote miniport d’affichage garantit que lorsque la fonction DxgkDdiSetVidPnSourceAddress est appelée, le pilote n’autorise pas le basculement de la mémoire vidéo vers une allocation incompatible.
- Le pilote de mode utilisateur valide les ressources Direct Flip avant que le Gestionnaire Windows de bureau (DWM) ne les utilise.
Seul le DWM peut retourner la mémoire vidéo sur les ressources Direct Flip. Le DWM valide ces ressources à l’aide de la fonction CheckDirectFlipSupport en mode utilisateur.
Pris en charge à partir de Windows 8.
[out] SupportMultiPlaneOverlay
Si la valeur est TRUE, le pilote miniport d’affichage prend en charge les superpositions multiplan, et le pilote doit également définir une valeur pour le membre MaxOverlayPlanes . Si la valeur est FALSE, le sous-système du noyau graphique DirectX n’appelle pas les fonctions de superposition multiplane.
Pris en charge à partir de Windows 8.1.
[out] SupportRuntimePowerManagement
Si la valeur est TRUE, le pilote miniport d’affichage prend en charge la gestion de l’alimentation au moment de l’exécution.
Si ce membre est défini, le pilote miniport d’affichage doit implémenter les fonctions DxgkDdiSetPowerComponentFState et DxgkDdiPowerRuntimeControlRequest .
Pris en charge à partir de Windows 8.
[out] SupportSurpriseRemovalInHibernation
Si la valeur est TRUE, le pilote de miniport d’affichage prend en charge le nettoyage des ressources logicielles une fois qu’un périphérique d’affichage externe en mode de mise en veille prolongée est déconnecté du système.
Si ce membre est défini, le pilote de miniport d’affichage doit implémenter la fonction DxgkDdiNotifySurpriseRemoval avec le paramètre RemovalType défini sur DxgkRemovalHibernation.
Pour plus d’informations, consultez Utilisation de ressources inter-adaptateurs dans un système hybride.
Pris en charge à partir de Windows 8.
[out] HybridDiscrete
Si la valeur est TRUE, le pilote miniport d’affichage est un GPU discret dans un système hybride.
Si ce membre est défini, le pilote miniport d’affichage doit :
- prise en charge de WDDM 1.3
- prendre en charge les ressources inter-adaptateurs
- n’ont pas de sorties d’affichage
Pour plus d’informations, consultez Utilisation de ressources inter-adaptateurs dans un système hybride.
Pris en charge à partir de Windows 8.1.
[out] MaxOverlayPlanes
Si SupportRuntimePowerManagement a la valeur TRUE, le pilote miniport d’affichage doit définir MaxOverlayPlanes sur le nombre maximal de plans de superposition pouvant être affichés simultanément sur une seule sortie, y compris la surface primaire, qu’il peut prendre en charge. Si le nombre de plans disponibles change lorsque le mode de fonctionnement change, le pilote doit utiliser un nombre qui reflète le scénario le plus adapté.
Pris en charge à partir de Windows 8.1.
HybridIntegrated
Indique si le GPU actuel est hybride.
InternalGpuVirtualAddressRangeStart
Démarrage de la plage d’adresses virtuelles GPU interne.
InternalGpuVirtualAddressRangeEnd
Fin de plage d’adresses virtuelles GPU interne.
SupportSurpriseRemoval
Si la valeur EST TRUE, le pilote miniport d’affichage prend en charge la suppression surprise.
[out] SupportMultiPlaneOverlayImmediateFlip
Si la valeur est TRUE, le pilote miniport d’affichage prend en charge les basculements immédiats vers un plan de superposition multiplan tant que la seule valeur qui change est l’adresse physique à afficher.
[out] CursorScaledWithMultiPlaneOverlayPlane0
Si la valeur est TRUE, le matériel d’affichage applique toujours le même facteur de mise à l’échelle au curseur matériel que celui appliqué au plan 0 lorsque l’étirement de superposition multiplan par plan est appliqué.
HybridAcpiChainingRequired
Indique que ce pilote discret hybride nécessite le chaînage des événements ACPI déclenchés sur l’adaptateur intégré.
[out] MaxQueuedMultiPlaneOverlayFlipVSync
Indique que le nombre maximal de mises à jour d’un seul plan peut être effectué au cours d’une seule période Vsync, où la mise à jour la plus récente remplace la mise à jour précédente. Si un pilote prend en charge la file d’attente de basculement matériel, le système d’exploitation ignore cette valeur.
MiscCaps
Fonctionnalités diverses.
MiscCaps.SupportContextlessPresent
Prend en charge le contexte null dans les appels DDI. Lorsque cette valeur est définie, le système d’exploitation transmet le contexte NULL dans les DDIs associés présents. Pris en charge à partir de WDDM 2.4.
MiscCaps.Detachable
Détachable, c’est-à-dire enfichable à chaud. Les pilotes définissent ce bit lors de l’initialisation de l’adaptateur si l’adaptateur est enfichable à chaud. Pris en charge à partir de WDDM 2.4.
MiscCaps.VirtualGpuOnly
L’adaptateur ne doit pas être utilisé par les applications Direct3D sur l’hôte. Pris en charge à partir de WDDM 2.5.
MiscCaps.ComputeOnly
Prend en charge les appareils Compute-Only en rendant les fonctionnalités d’appareil de rendu uniquement de WDDM. Pris en charge à partir de Windows 10, version 1901 (WDDM 2.6)
MiscCaps.IndependentVidPnVSyncControl
Les pilotes qui définissent cette fonctionnalité doivent lire le VidPnSourceId spécifié dans DdiControlInterrupt3 et contrôler VSync sur le VidPnSourceId mentionné. Prise en charge à partir de Windows 10, version 2004 (WDDM 2.7).
MiscCaps.NoHybridDiscreteDListDllSupport
Indique si un pilote prend en charge une liste d. Pris en charge à partir de Windows 10, version 2004 (WDDM 2.8).
MiscCaps.DisplayableSupport
Indique si un pilote prend en charge la fonctionnalité d’affichage. Prise en charge à partir de Windows 11 (WDDM 3.0).
MiscCaps.NoHybridDiscreteDListDllMuxSupport
MiscCaps.CursorDoesNotSupportXorBlendWithMultiPlaneOverlay
MiscCaps.Reserved
Réservé.
MiscCaps.Value
Une autre façon d’accéder aux bits MiscCaps .
MaxHwQueuedFlips
Nombre maximal de files d’attente de basculement matérielles que le pilote prend en charge. Si le système d’exploitation autorise la prise en charge de la file d’attente inversée matérielle, le pilote peut définir MaxHwQueuedFlips sur une valeur supérieure à 1. Ajouté dans Windows Server 2022 (WDDM 2.9) ; prise en charge à partir de Windows 11 (WDDM 3.0).
HwQueuedFlipCaps
Valeur DXGK_HWQUEUEDFLIP_CAPS qui décrit les fonctionnalités de file d’attente inversée du matériel. Ajouté dans Windows Server 2022 (WDDM 2.9) ; prise en charge à partir de Windows 11 (WDDM 3.0).
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
En-tête | d3dkmddi.h (inclure D3dkmddi.h) |
Voir aussi
DxgkDdiUpdateActiveVidPnPresentPath
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest