DXGK_PRESENTATIONCAPS structure (d3dkmddi.h)

La structure DXGK_PRESENTATIONCAPS identifie les fonctionnalités de présentation d’un pilote miniport d’affichage que le pilote fournit par le biais d’un appel à sa fonction DxgkDdiQueryAdapterInfo .

Syntaxe

typedef struct _DXGK_PRESENTATIONCAPS {
  union {
    struct {
      UINT NoScreenToScreenBlt : 1;
      UINT NoOverlapScreenBlt : 1;
      UINT SupportKernelModeCommandBuffer : 1;
      UINT NoSameBitmapAlphaBlend : 1;
      UINT NoSameBitmapStretchBlt : 1;
      UINT NoSameBitmapTransparentBlt : 1;
      UINT NoSameBitmapOverlappedAlphaBlend : 1;
      UINT NoSameBitmapOverlappedStretchBlt : 1;
      UINT DriverSupportsCddDwmInterop : 1;
      UINT Reserved0 : 1;
      UINT AlignmentShift : 4;
      UINT MaxTextureWidthShift : 3;
      UINT MaxTextureHeightShift : 3;
      UINT SupportAllBltRops : 1;
      UINT SupportMirrorStretchBlt : 1;
      UINT SupportMonoStretchBltModes : 1;
      UINT StagingRectStartPitchAligned : 1;
      UINT NoSameBitmapBitBlt : 1;
      UINT NoSameBitmapOverlappedBitBlt : 1;
      UINT Reserved1 : 1;
      UINT NoTempSurfaceForClearTypeBlend : 1;
      UINT SupportSoftwareDeviceBitmaps : 1;
      UINT NoCacheCoherentApertureMemory : 1;
      UINT SupportLinearHeap : 1;
#if ...
      UINT Reserved : 1;
#else
      UINT Reserved : 4;
#endif
    };
         UINT Value;
  };
} DXGK_PRESENTATIONCAPS;

Membres

[in] NoScreenToScreenBlt

Valeur UINT qui spécifie si le pilote miniport d’affichage peut effectuer un transfert de bloc de bits (bitblt) de la surface primaire vers la même surface primaire. Si NoScreenToScreenBlt est défini, le pilote ne peut pas effectuer de transfert de bloc de bits d’écran à écran. Par conséquent, le sous-système du noyau graphique Microsoft DirectX (Dxgkrnl.sys) ne demande pas au pilote d’effectuer un tel transfert de bloc de bits.

Définir ce membre revient à définir le premier bit du membre Value 32 bits (0x00000001).

[in] NoOverlapScreenBlt

Valeur UINT qui spécifie si le pilote de miniport d’affichage peut effectuer un transfert de bloc de bits qui se chevauche. Si NoOverlapScreenBlt est défini, le pilote ne peut pas effectuer un transfert de bloc de bits qui se chevauche. Par conséquent, le sous-système du noyau graphique DirectX ne demande pas au pilote d’effectuer un tel transfert de bloc de bits.

Définir ce membre revient à définir le deuxième bit du membre Value 32 bits (0x00000002).

SupportKernelModeCommandBuffer

[in] Valeur UINT qui spécifie si le pilote miniport d’affichage prend en charge le traitement de la mémoire tampon de commande à accélération matérielle GDI. Si SupportKernelModeCommandBuffer est défini, le pilote peut effectuer diverses opérations de transfert de bloc de bits (bitblt) et de remplissage accélérées matériellement lorsque le sous-système du noyau graphique DirectX appelle la fonction DxgkDdiRenderKm du pilote miniport d’affichage.

Note Un pilote de miniport d’affichage doit signaler qu’il prend en charge l’accélération matérielle GDI uniquement si le segment d’ouverture GPU cohérent du cache existe et qu’il n’y a aucune pénalité de performances significative lorsque le processeur accède à la mémoire.
 
Définir ce membre revient à définir le troisième bit du membre value 32 bits (0x00000004).

Pris en charge à partir de Windows 7.

[in] NoSameBitmapAlphaBlend

Valeur UINT qui spécifie si le pilote miniport d’affichage peut effectuer une opération de fusion alpha lorsque les allocations source et destination sont identiques. Si NoSameBitmapAlphaBlend est défini, le pilote ne peut pas effectuer une telle opération et le sous-système du noyau graphique DirectX ne la demande pas.

Définir ce membre revient à définir le quatrième bit du membre Value 32 bits (0x00000008).

Pris en charge à partir de Windows 7.

[in] NoSameBitmapStretchBlt

Valeur UINT qui spécifie si le pilote de miniport d’affichage peut effectuer une opération de transfert de bloc de bits étendu lorsque les allocations source et destination sont identiques. Si NoSameBitmapStretchBlt est défini, le pilote ne peut pas effectuer une telle opération et le sous-système du noyau graphique DirectX ne la demande pas.

Définir ce membre revient à définir le cinquième bit du membre Value 32 bits (0x00000010).

Pris en charge à partir de Windows 7.

[in] NoSameBitmapTransparentBlt

Valeur UINT qui spécifie si le pilote de miniport d’affichage peut effectuer une opération de transfert de bloc de bits transparent lorsque les allocations source et destination sont identiques. Si NoSameBitmapStretchBlt est défini, le pilote ne peut pas effectuer une telle opération et le sous-système du noyau graphique DirectX ne la demande pas.

Définir ce membre revient à définir le sixième bit du membre Value 32 bits (0x00000020).

Pris en charge à partir de Windows 7.

[in] NoSameBitmapOverlappedAlphaBlend

Valeur UINT qui spécifie si le pilote de miniport d’affichage peut effectuer une opération de fusion alpha lorsque les allocations source et destination sont identiques et que les rectangles source et de destination se chevauchent. Si NoSameBitmapOverlappedAlphaBlend est défini, le pilote ne peut pas effectuer une telle opération et le sous-système du noyau graphique DirectX ne la demande pas.

Définir ce membre revient à définir le septième bit du membre Value 32 bits (0x00000040).

Pris en charge à partir de Windows 7.

[in] NoSameBitmapOverlappedStretchBlt

Valeur UINT qui spécifie si le pilote de miniport d’affichage peut effectuer une opération de transfert de bloc de bits étendu lorsque les allocations source et destination sont identiques et que les rectangles source et de destination se chevauchent. Si NoSameBitmapOverlappedStretchBlt est défini, le pilote ne peut pas effectuer une telle opération et le sous-système du noyau graphique DirectX ne la demande pas.

Définir ce membre revient à définir le huit bits du membre Value 32 bits (0x00000080).

Pris en charge à partir de Windows 7.

[in] DriverSupportsCddDwmInterop

Valeur UINT qui spécifie si le pilote miniport d’affichage prend en charge les opérations de présentation du pilote d’affichage canonique (CDD) sur les allocations de texture créées par le pilote en mode utilisateur pour le Gestionnaire Windows de bureau (DWM) à utiliser. Si DriverSupportsCddDwmInterop est défini, le pilote miniport d’affichage prend en charge ces opérations présentes.

Si le pilote de miniport d’affichage prend en charge l’accélération matérielle GDI, DriverSupportsCddDwmInterop est ignoré. Dans ce cas, le pilote doit prendre en charge les opérations CDD actuelles sur les allocations de textureS DWM créées par le pilote en mode utilisateur.

Définir ce membre revient à définir le neuvième bit du membre Value 32 bits (0x00000100).

Pris en charge à partir de Windows 7.

[in] Reserved0

Ce membre est réservé et doit être défini sur zéro.

Définir ce membre revient à définir le dixième bit du membre Value 32 bits (0x00000200).

Pris en charge à partir de Windows 7.

[in] AlignmentShift

Valeur UINT qui spécifie la valeur d’alignement minimale, en octets, dont les membres XxxPitch des structures DXGK_GDIARG_XXX ont besoin. AlignmentShift est donné en tant qu’exposant binaire. Par exemple, pour spécifier une valeur d’alignement requise de 16 octets, le pilote de miniport d’affichage doit définir AlignmentShift = 4. La valeur minimale est AlignmentShift = 2, qui spécifie un alignement de 4 octets.

Définir ce membre revient à définir le onzième bit du membre Value 32 bits (0x00000400).

Pris en charge à partir de Windows 7.

[in] MaxTextureWidthShift

Valeur UINT qui spécifie la largeur de texture maximale prise en charge par le pilote de miniport d’affichage, qui est calculée comme suit :

largeur de texture maximale prise en charge = 2 ^ (MaxTextureWidthShift + 11) texels.

Par exemple, si MaxTextureWidthShift = 0, la largeur de texture maximale prise en charge est 2 ^ 11 = 2048.

Définir ce membre revient à définir le douzième bit du membre Value 32 bits (0x00000800).

Pris en charge à partir de Windows 7.

[in] MaxTextureHeightShift

Valeur UINT qui spécifie la hauteur de texture maximale prise en charge par le pilote de miniport d’affichage, qui est calculée comme suit :

hauteur de texture maximale prise en charge = 2 ^ (MaxTextureHeightShift + 11) texels.

Par exemple, si MaxTextureHeightShift = 0, la hauteur de texture maximale prise en charge est 2 ^ 11 = 2048.

Définir ce membre revient à définir le treizième bit du membre Value 32 bits (0x00001000).

Pris en charge à partir de Windows 7.

[in] SupportAllBltRops

Valeur UINT qui spécifie si le pilote de miniport d’affichage prend en charge toutes les opérations de raster GDI ROP3 avec une couleur unie en tant que modèle dans les commandes BitBlt et ColorFill. Si SupportAllBltRops est défini, le pilote prend en charge ces opérations raster.

Définir ce membre revient à définir le quatorzième bit du membre Value 32 bits (0x00002000).

Pris en charge à partir de Windows 7.

[in] SupportMirrorStretchBlt

Valeur UINT qui spécifie si le pilote miniport d’affichage prend en charge les opérations Stretch Blt (à l’aide de la structure DXGK_GDIARG_STRETCHBLT) en mode miroir. Si SupportMirrorStretchBlt est défini, le pilote prend en charge ces opérations.

Définir ce membre revient à définir le quinzième bit du membre Value 32 bits (0x00004000).

Pris en charge à partir de Windows 7.

[in] SupportMonoStretchBltModes

Valeur UINT qui spécifie si le pilote miniport d’affichage prend en charge les opérations Stretch Blt (à l’aide de la structure DXGK_GDIARG_STRETCHBLT ) dans les modes de rendu monochromatique BLACKONWHITE ou WHITEONBLACK. Si SupportMonoStretchBltModes est défini, le pilote prend en charge ces opérations.

Définir ce membre revient à définir le seizième bit du membre Value 32 bits (0x00008000).

Pris en charge à partir de Windows 7.

[in] StagingRectStartPitchAligned

Valeur UINT qui spécifie si le pilote de miniport d’affichage nécessite que le point de départ (point supérieur gauche) dans le rectangle sur une surface intermédiaire visible par le processeur soit aligné, ce qui signifie que la coordonnée gauche est 0. Si AlignmentShift est défini, le point supérieur gauche du rectangle est aligné en hauteur.

Définir ce membre revient à définir le dix-septième bit du membre Value 32 bits (0x00010000).

Pris en charge à partir de Windows 7.

[in] NoSameBitmapBitBlt

Valeur UINT qui spécifie si le pilote de miniport d’affichage peut effectuer une opération de transfert de bloc de bits lorsque les allocations source et destination sont identiques. Si NoSameBitmapBitBlt est défini, le pilote ne peut pas effectuer une telle opération. Par conséquent, le sous-système du noyau graphique DirectX ne demande pas au pilote d’effectuer une telle opération.

Définir ce membre revient à définir le dix-huitième bit du membre Value 32 bits (0x00020000).

Pris en charge à partir de Windows 7.

[in] NoSameBitmapOverlappedBitBlt

Valeur UINT qui spécifie si le pilote de miniport d’affichage peut effectuer une opération de transfert de bloc de bits lorsque les allocations source et destination sont identiques et que les rectangles source et de destination se chevauchent. Si NoSameBitmapOverlappedBitBlt est défini, le pilote ne peut pas effectuer une telle opération et le sous-système du noyau graphique DirectX ne la demande pas.

Définir ce membre revient à définir le dix-neuvième bit du membre Value 32 bits (0x00040000).

Pris en charge à partir de Windows 7.

[in] Reserved1

Ce membre est réservé et doit être défini sur zéro. Définir ce membre sur zéro revient à définir le vingtième bit du membre Value 32 bits (0x00080000).

Pris en charge à partir de Windows 7.

[in] NoTempSurfaceForClearTypeBlend

Valeur UINT qui spécifie si le pilote a besoin d’une surface temporaire pendant le traitement des commandes spécifiées par le membre ClearTypeBlend de la structure DXGK_RENDERKM_COMMAND . Si NoTempSurfaceForClearTypeBlend est défini, le pilote n’a pas besoin d’une surface temporaire. Dans ce cas, le pilote utilisera moins de mémoire vidéo.

Définir ce membre sur zéro revient à définir le vingt et unième bit du membre Value 32 bits (0x00100000).

Pris en charge à partir de Windows 7.

[in] SupportSoftwareDeviceBitmaps

Ce membre est réservé et doit être défini sur zéro.

Définir ce membre revient à définir le vingt-secondes du membre Value 32 bits (0x00200000).

Pris en charge à partir de Windows 8.

[in] NoCacheCoherentApertureMemory

Valeur UINT qui spécifie que le pilote ne prend pas en charge la mémoire d’ouverture cohérente du cache.

Définir ce membre revient à définir le vingt-troisième bit du membre Value 32 bits (0x00400000).

Pris en charge à partir de Windows 8.

[in] SupportLinearHeap

Le pilote prend en charge l’allocation de tas linéaire à partir de surfaces intermédiaires.

Définir ce membre revient à définir le vingt-quatrième bit du membre Value 32 bits (0x00800000).

Pris en charge à partir de Windows 8.

[in] Reserved

Ce membre est réservé et doit être défini sur zéro.

Définir ce membre revient à définir le vingt-cinquième bit du membre Value 32 bits (0x01000000).

Pris en charge à partir de Windows 8.

[in] Ce membre est réservé et doit être défini sur zéro.

Définir ce membre revient à définir le vingt-cinquième bit du membre Value 32 bits (0x02000000).

Pris en charge à partir de Windows 8.

Value

Valeur 32 bits qui identifie les fonctionnalités de présentation du pilote.

Remarques

Un pilote de miniport d’affichage peut spécifier des fonctionnalités de présentation en définissant des bits dans le membre Value 32 bits ou en définissant des membres individuels de la structure dans l’union que DXGK_PRESENTATIONCAPS contient.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
En-tête d3dkmddi.h (include D3dkmddi.h)

Voir aussi

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DxgkDdiQueryAdapterInfo

DxgkDdiRenderKm