structure DXGK_DRIVERCAPS (d3dkmddi.h)
La structure DXGK_DRIVERCAPS décrit les fonctionnalités d’un pilote miniport d’affichage fourni par le pilote 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
Type de données PHYSICAL_ADDRESS (défini comme LARGE_INTEGER) qui indique l’adresse physique la plus 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 directe (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
Structure DXGK_POINTERFLAGS qui identifie les fonctionnalités de pointeur de la souris, dans les indicateurs de champ binaire, 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 du gestionnaire d’interruptions correspondant à un numéro de message fixe.
[out] NumberOfSwizzlingRanges
Nombre de plages swizzling 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 permettant de décrire les fonctionnalités de transformation d’espace gamma et de couleur des pipelines d’affichage. REMARQUE : ce champ remplace 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 bit, que le pilote peut prendre en charge.
[out] MaxQueuedFlipOnVSync
Nombre de retournements pouvant être mis en file d’attente et en attente sur le matériel graphique. Chaque retournement est mis en verrou à un convertisseur numérique à analogique (DAC) à chaque interruption VSync, dans l’ordre, car le matériel graphique met en file d’attente le retournement.
[out] FlipCaps
Structure DXGK_FLIPCAPS qui identifie les fonctionnalités de découpage, dans les indicateurs de champ bit, que le pilote peut prendre en charge.
[out] SchedulingCaps
Structure DXGK_VIDSCHCAPS qui identifie les fonctionnalités de planification de l’unité de traitement graphique (GPU), dans les indicateurs de champ binaire, que le pilote peut prendre en charge.
[out] MemoryManagementCaps
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
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. Prise 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 Windows 8 WDK, définissez ce membre sur DXGKDDI_WDDMv1_2.
Reserved
Réservé.
Reserved1
Réservé.
[out] PreemptionCaps
Structure D3DKMDT_PREEMPTION_CAPS qui décrit les fonctionnalités de préemption des requêtes graphiques GPU prises en charge par le pilote.
Prise en charge à partir de Windows 8.
[out] SupportNonVGA
Si TRUE, le pilote prend en charge la réinitialisation de l’appareil d’affichage et la libération de la propriété de l’appareil auto-test actuel (POST) à l’aide de la fonction DxgkDdiStopDeviceAndReleasePostDisplayOwnership.
Prise en charge à partir de Windows 8.
[out] SupportSmoothRotation
Si TRUE, le pilote prend en charge la mise à jour de la rotation du chemin sur l’adaptateur à l’aide de la fonction DxgkDdiUpdateActiveVidPnPresentPath, tout en ne nécessitant pas de nouveau VidPN à créer et définir.
Prise en charge à partir de Windows 8.
[out] SupportPerEngineTDR
Si 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 le DxgkDdiQueryDependentEngineGroup, DxgkDdiQueryEngineStatuset fonctions DxgkDdiResetEngine.
Prise en charge à partir de Windows 8.
[out] SupportDirectFlip
Si TRUE, le pilote prend en charge la création et l’ouverture d’allocations principales gérées partagées. Une valeur de 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 la mémoire vidéo à retourner à une allocation incompatible.
- Le pilote en 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 aux ressources Direct Flip. Le DWM valide ces ressources à l’aide de la fonction CheckDirectFlipSupport en mode utilisateur.
Prise en charge à partir de Windows 8.
[out] SupportMultiPlaneOverlay
Si TRUE, le pilote miniport d’affichage prend en charge les superpositions multiplanes et le pilote doit également définir une valeur pour le membre MaxOverlayPlanes. Si faux, le sous-système du noyau graphique DirectX n’appelle pas les fonctions de superposition multiplane.
Prise en charge à partir de Windows 8.1.
[out] SupportRuntimePowerManagement
Si 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.
Prise en charge à partir de Windows 8.
[out] SupportSurpriseRemovalInHibernation
Si TRUE, le pilote miniport d’affichage prend en charge le nettoyage des ressources logicielles après qu’un périphérique d’affichage externe en mode veille prolongée est déconnecté du système.
Si ce membre est défini, le pilote 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.
Prise en charge à partir de Windows 8.
[out] HybridDiscrete
Si 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.
Prise en charge à partir de Windows 8.1.
[out] MaxOverlayPlanes
Si SupportRuntimePowerManagement est TRUE, le pilote de miniport d’affichage doit définir MaxOverlayPlanes le nombre maximal de plans de superposition qui peuvent être affichés simultanément sur une seule sortie, y compris la surface principale, qu’il peut prendre en charge. Si le nombre de plans disponibles change lorsque le mode d’exploitation change, le pilote doit utiliser un nombre qui reflète le scénario le plus adapté.
Prise 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 la 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 retournements immédiats vers un plan de superposition multiplane tant que la seule valeur changeant 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 quand l’étirement multiplane par plan est appliqué.
HybridAcpiChainingRequired
Indique que ce pilote discret hybride nécessite un chaînage d’événements ACPI déclenchés sur l’adaptateur intégré.
[out] MaxQueuedMultiPlaneOverlayFlipVSync
Indique le nombre maximal de mises à jour d’un plan unique peut être effectué au cours d’une période Vsync unique, où la mise à jour la plus récente remplace la mise à jour précédente. Si un pilote prend en charge file d’attente de retournement 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. Prise en charge à partir de WDDM 2.4.
MiscCaps.Detachable
Détachable, c’est-à-dire enfichable à chaud. Les pilotes définissent ce bit pendant l’initialisation de l’adaptateur si l’adaptateur est enfichable à chaud. Prise en charge à partir de WDDM 2.4.
MiscCaps.VirtualGpuOnly
L’adaptateur ne doit pas être utilisé par les applications Direct3D sur l’hôte. Prise 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. Prise 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. Prise en charge à partir de Windows 10, version 2004 (WDDM 2.8).
MiscCaps.DisplayableSupport
Indique si un pilote prend en charge la fonctionnalité displayable. 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 MiscCaps bits.
MaxHwQueuedFlips
Nombre maximal de files d’attente de retournement matérielles que le pilote prend en charge. Si le système d’exploitation autorise la prise en charge de la file d’attente de basculement matériel, 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 de basculement matériel. Ajouté dans Windows Server 2022 (WDDM 2.9) ; prise en charge à partir de Windows 11 (WDDM 3.0).
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista |
d’en-tête | d3dkmddi.h (include D3dkmddi.h) |
Voir aussi
DxgkDdiUpdateActiveVidPnPresentPath
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest