structure DXGK_PRESENTFLAGS (d3dkmddi.h)

La structure DXGK_PRESENTFLAGS identifie, dans les indicateurs de champ binaire, le type d’opération actuelle à effectuer.

Syntaxe

typedef struct _DXGK_PRESENTFLAGS {
  union {
    struct {
      UINT Blt : 1;
      UINT ColorFill : 1;
      UINT Flip : 1;
      UINT FlipWithNoWait : 1;
      UINT SrcColorKey : 1;
      UINT DstColorKey : 1;
      UINT LinearToSrgb : 1;
      UINT Rotate : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT BltStereoUseRight : 1;
      UINT FlipWithMultiPlaneOverlay : 1;
      UINT RedirectedFlip : 1;
#if ...
      UINT Reserved : 18;
#elif
      UINT Reserved : 19;
#else
      UINT Reserved : 24;
#endif
    };
    [in] UINT Value;
  };
} DXGK_PRESENTFLAGS;

Membres

[in] Blt

Valeur UINT qui spécifie si une opération de copie, au lieu d’une opération de retournement, se produit entre les surfaces source et de destination.

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

[in] ColorFill

Valeur UINT qui spécifie s’il existe une source à partir de laquelle présenter. Si ce membre est défini, il n’existe aucune source et le pilote doit remplir le rectangle de destination sur la surface de destination avec la couleur A8R8G8B8 que le membre Color de la structure DXGKARG_PRESENT spécifie.

La définition de ce membre équivaut à définir le deuxième bit du membre Value 32 bits (0x00000002).

[in] Flip

Valeur UINT qui spécifie si une opération de retournement se produit entre les surfaces back et primaires. Si ce membre est défini, le pilote doit effectuer l’opération actuelle en pointant la sortie de l’analyse vidéo vers la source plutôt que de copier de la source vers la destination. Ce type d’opération actuelle est sans déchirure.

La définition de ce membre équivaut à définir le troisième bit du membre Value 32 bits (0x00000004).

[in] FlipWithNoWait

Valeur UINT qui spécifie si les opérations de retournement sans déchirure ne doivent pas bloquer le pipeline graphique. Si un retournement sans déchirure bloque le pipeline graphique, l’unité de traitement graphique (GPU) doit attendre que le basculement sans déchirure prenne effet avant d’exécuter la commande suivante.

FlipWithNoWait peut avoir la valeur TRUE (c’est-à-dire 1) uniquement si le pilote miniport d’affichage définit l’indicateur de champ de bits FlipOnVSyncWithNoWait dans le membre FlipCaps de la structure DXGK_DRIVERCAPS lorsque la valeur DXGKQAITYPE_DRIVERCAPS a été spécifiée dans le membre Type de la structure DXGKARG_QUERYADAPTERINFO dans un appel à la fonction DxgkDdiQueryAdapterInfo du pilote.

La définition de ce membre équivaut à définir le quatrième bit du membre Value 32 bits (0x00000008).

[in] SrcColorKey

Valeur UINT qui spécifie s’il faut effectuer la clé de couleur source à l’aide de la valeur dans le membre Color de la structure DXGKARG_PRESENT . Autrement dit, tous les pixels de la surface source qui correspondent à la clé de couleur ne doivent pas être copiés sur l’aire de destination, et tous les pixels sources qui ne correspondent pas à la touche de couleur doivent être copiés.

La définition de ce membre équivaut à définir le cinquième bit du membre Value 32 bits (0x00000010).

[in] DstColorKey

Valeur UINT qui spécifie s’il faut effectuer la keying de couleur de destination à l’aide de la valeur dans le membre Color de la structure DXGKARG_PRESENT . Autrement dit, tous les pixels de la surface de destination qui correspondent à la clé de couleur doivent être remplacés par le pixel correspondant de la surface source, et tous les pixels de destination qui ne correspondent pas à la touche de couleur ne doivent pas être remplacés.

La définition de ce membre équivaut à définir le sixième bit du membre Value 32 bits (0x00000020).

[in] LinearToSrgb

Valeur UINT qui spécifie s’il faut convertir la source au format linéaire au format sRGB pendant l’opération de copie. Le format sRGB est corrigé gamma. Pour plus d’informations sur le format sRGB, consultez le site web sRGB .

La définition de ce membre équivaut à définir le septième bit du membre Value 32 bits (0x00000040).

[in] Rotate

Valeur UINT qui spécifie s’il faut faire pivoter les données de présentation pour qu’elles correspondent à l’orientation actuelle de l’écran pendant le transfert de bloc de bits de présentation (bitblt). L’orientation actuelle de l’écran est définie dans le membre Rotation d’une structure D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION , qui est défini dans le membre ContentTransformation de la structure D3DKMDT_VIDPN_PRESENT_PATH pour le chemin d’accès présent de la vidéo.

Le pilote miniport d’affichage doit faire pivoter les données uniquement si l’indicateur de champ de bits pivoter est défini. Même si le pilote détermine que l’orientation actuelle de l’écran est pivotée à partir des données de présentation et que rotation n’est pas définie, le pilote ne doit pas faire pivoter les données.

La définition de ce membre équivaut à définir le huitième bit du membre Value 32 bits (0x00000080).

[in] FlipStereo

Spécifie si le pilote doit retourner les images de gauche et de droite d’une allocation stéréo.

Si le membre FlipOnNextVSync de la structure DXGK_SETVIDPNSOURCEADDRESS_FLAGS est défini, le pilote doit effectuer le basculement vers l’image de gauche sur le VSync suivant, puis effectuer le basculement vers l’image de droite sur le VSync suivant.

Si le membre FlipImmediate de la structure DXGK_SETVIDPNSOURCEADDRESS_FLAGS est défini, le pilote doit immédiatement commencer à analyser à partir de la nouvelle allocation. Par exemple, si le pilote analysait une image droite, il doit démarrer la nouvelle analyse à partir du même décalage relatif dans l’image de droite de la nouvelle allocation.

Les membres FlipStereo et FlipStereoTemporaryMono ne peuvent pas être définis en même temps.

Pour plus d’informations sur la configuration requise, consultez la section Remarques.

La définition de ce membre équivaut à définir le neuvième bit du membre Value 32 bits (0x00000100).

Pris en charge à partir de Windows 8.

[in] FlipStereoTemporaryMono

Spécifie si le pilote doit utiliser l’image de gauche d’une allocation stéréo pour les parties droite et gauche d’un frame stéréo. Le pilote effectue la même opération actuelle qu’avec FlipStereo, sauf qu’il doit analyser uniquement à partir de l’image de gauche pour produire les deux images d’une image stéréo.

Ce membre doit être défini uniquement si le pilote signale la prise en charge de cette option dans le mode d’affichage actuel en définissant le membre Type de la structure D3DKMDT_VIDPN_SOURCE_MODE sur D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN.

Les membres FlipStereo et FlipStereoTemporaryMono ne peuvent pas être définis en même temps.

Les membres FlipStereoTemporaryMono et FlipStereoPreferRight ne peuvent pas être définis en même temps.

Pour plus d’informations sur la configuration requise, consultez la section Remarques.

La définition de ce membre équivaut à définir le dixième bit du membre Value 32 bits (0x00000200).

Pris en charge à partir de Windows 8.

[in] FlipStereoPreferRight

Spécifie que lorsque le pilote clone une allocation principale stéréo sur un moniteur mono, il doit utiliser l’image appropriée.

Les membres FlipStereoTemporaryMono et FlipStereoPreferRight ne peuvent pas être définis en même temps.

Pour plus d’informations sur la configuration requise, consultez la section Remarques.

La définition de ce membre équivaut à définir le onzième bit du membre Value 32 bits (0x00000400).

Pris en charge à partir de Windows 8.

[in] BltStereoUseRight

Spécifie que lorsque le pilote se présente d’une allocation stéréo à une allocation mono, il doit utiliser l’image appropriée. S’il n’est pas défini, le pilote doit utiliser l’image de gauche.

La définition de ce membre équivaut à définir le douzième bit du membre Value 32 bits (0x00000800).

Pris en charge à partir de Windows 8.

[in] FlipWithMultiPlaneOverlay

Spécifie si une opération de retournement se produit entre un plan de superposition et la surface primaire. Si ce membre est défini, le pilote doit effectuer l’opération actuelle en pointant la sortie de l’analyse vidéo vers le plan source plutôt que de copier à partir du plan source vers la destination.

La définition de ce membre équivaut à définir le treizième bit du membre Value 32 bits (0x00001000).

Pris en charge à partir de Windows 8.1.

RedirectedFlip

[in] Reserved

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

Définir ce membre sur zéro équivaut à définir les 19 bits restants (0xFFFFE000) du membre Value 32 bits sur zéros.

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 sur zéro équivaut à définir les 24 bits restants (0xFFFFFF00) du membre Value 32 bits sur zéros.

[in] Value

Membre de l’union que contient DXGK_PRESENTFLAGS qui peut contenir une valeur 32 bits qui identifie le type d’opération actuelle à effectuer.

Remarques

Les indicateurs de champ de bits ColorFill, SrcColorKey et DstColorKey s’excluent mutuellement.

Si l’un des membres FlipStereo, FlipStereoTemporaryMono ou FlipStereoPreferRight est défini, les conditions suivantes s’appliquent :

Configuration requise

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

Voir aussi

D3DKMDT_VIDPN_PRESENT_PATH

D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION

D3DKMT_DISPLAYMODE

DXGKARG_PRESENT

DXGKARG_QUERYADAPTERINFO

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_DRIVERCAPS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiPresent

DxgkDdiQueryAdapterInfo