L’énumération D3DKMDT_GDISURFACETYPE indique le type de surface verrouillable utilisée par le Gestionnaire de fenêtres de bureau (DWM) pour la redirection.
D3DKMDT_GDISURFACE_INVALID Le pilote ne doit pas voir cette valeur.
D3DKMDT_GDISURFACE_TEXTURE Indique que la surface a les propriétés suivantes :
Il a une texture à un niveau.
Il n’est pas visible par l’UC et le gestionnaire de mémoire vidéo le crée en tant que surface partagée.
Il est ouvert par un pilote en mode utilisateur et utilisé comme texture pendant la composition DWM.
Il est utilisé par un pilote en mode utilisateur comme cible de rendu pour le rendu DirectX.
Il est utilisé comme surface source ou de destination dans les opérations matérielles accélérées par GDI.
D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE Indique que la surface a les propriétés suivantes :
Il est visible par l’UC et sera largement utilisé par l’UC. L’allocation doit être un format linéaire et dans un segment d’ouverture GPU cohérent dans le cache.
Il est utilisé comme surface source dans les opérations matérielles accélérées par GDI.
Il est utilisé comme surface de destination dans les opérations GDI de bits (copie uniquement).
Son pitch doit être retourné par le pilote miniport d’affichage.
Sa valeur de tangage et son adresse de surface doivent être alignées sur la valeur du membre AlignmentShift de la structure DXGK_PRESENTATIONCAPS (autrement dit, DXGK_DRIVERCAPS->PresentationCaps.AlignmentShift).
D3DKMDT_GDISURFACE_STAGING Indique que la surface a les propriétés suivantes :
Il n’est pas visible par l’UC.
Il est utilisé comme surface source ou de destination dans les opérations matérielles accélérées par GDI.
Il est utilisé comme surface source ou de destination dans les opérations bitblt GDI (copie uniquement).
D3DKMDT_GDISURFACE_LOOKUPTABLE Indique que la surface a les propriétés suivantes :
Il n’est pas visible par l’UC.
Il est utilisé uniquement pendant le traitement des commandes spécifiées par le ClearTypeBlend et OpCode. DXGK_GDIOP_BITBLT membres (copie uniquement) de la structure DXGK_RENDERKM_COMMAND.
Le format est défini par la valeur D3DDDIFMT_A8 de l’énumération D3DDDIFORMAT.
L’allocation de recherche gamma est créée une fois et ne change jamais après son initialisation. L’allocation est initialisée au format D3DDDIFMT_A8 en émettant une commande DXGK_RENDERKM_COMMAND->Opcode.DXGK_GDIOP_BITBLT à partir d’une surface de D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE.
D3DKMDT_GDISURFACE_EXISTINGSYSMEM Indique que la surface a les propriétés suivantes :
Il est visible par l’UC. L’allocation doit être un format linéaire et dans un segment d’ouverture GPU cohérent dans le cache.
Sa valeur de tangage et son adresse de surface doivent être alignées sur la valeur du membre AlignmentShift de la structure DXGK_PRESENTATIONCAPS (autrement dit, DXGK_DRIVERCAPS->PresentationCaps.AlignmentShift).
L’adresse de surface est transmise au pilote.
Cette valeur est utilisée de la même façon que la valeur D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE.
D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE Réservé à l’utilisation du système. N’utilisez pas cette valeur dans votre pilote.
Prise en charge à partir de Windows 8.
D3DKMDT_GDISURFACE_TEXTURE_CROSSADAPTER Indique que la surface a les propriétés suivantes :
Il n’est pas visible par l’UC et le gestionnaire de mémoire vidéo le crée en tant que surface d’adaptateur croisé partagée.
Son pitch doit être retourné par le pilote de miniport d’affichage dans le Pitch membre de la structure D3DKMDT_GDISURFACEDATA.
L’emplacement et la hauteur doivent avoir l’alignement requis pour la ressource d’adaptateur croisé. Vous pouvez utiliser les constantes D3DKMT_CROSS_ADAPTER_RESOURCE_PITCH_ALIGNMENT et D3DKMT_CROSS_ADAPTER_RESOURCE_HEIGHT_ALIGNMENT pour vérifier que le pilote retourne la hauteur et la hauteur correctes pour la ressource d’adaptateur croisé. Ces constantes sont définies dans D3dukmdt.h.
Prise en charge à partir de Windows 8.1.
D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE_CROSSADAPTER Réservé à l’utilisation du système. N’utilisez pas cette valeur dans votre pilote.