structure D3DKMT_PRESENTFLAGS (d3dkmthk.h)

La structure D3DKMT_PRESENTFLAGS identifie comment effectuer une opération actuelle.

Syntaxe

typedef struct _D3DKMT_PRESENTFLAGS {
  union {
    struct {
      UINT Blt : 1;
      UINT ColorFill : 1;
      UINT Flip : 1;
      UINT FlipDoNotFlip : 1;
      UINT FlipDoNotWait : 1;
      UINT FlipRestart : 1;
      UINT DstRectValid : 1;
      UINT SrcRectValid : 1;
      UINT RestrictVidPnSource : 1;
      UINT SrcColorKey : 1;
      UINT DstColorKey : 1;
      UINT LinearToSrgb : 1;
      UINT PresentCountValid : 1;
      UINT Rotate : 1;
      UINT PresentToBitmap : 1;
      UINT RedirectedFlip : 1;
      UINT RedirectedBlt : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT BltStereoUseRight : 1;
      UINT PresentHistoryTokenOnly : 1;
      UINT PresentRegionsValid : 1;
      UINT PresentDDA : 1;
      UINT ProtectedContentBlankedOut : 1;
      UINT RemoteSession : 1;
      UINT CrossAdapter : 1;
      UINT DurationValid : 1;
      UINT PresentIndirect : 1;
      UINT PresentHMD : 1;
#if ...
      UINT Reserved : 2;
#elif
      UINT Reserved : 6;
#else
      UINT Reserved : 15;
#endif
    };
         UINT Value;
  };
} D3DKMT_PRESENTFLAGS;

Membres

Blt

Valeur UINT qui spécifie s’il faut transférer des données de bloc de bits (bitblt) vers la surface primaire. Cet indicateur de champ de bits peut être utilisé avec les indicateurs de champ de bits DstRectValid et SrcRectValid .

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

ColorFill

Valeur UINT qui spécifie s’il faut effectuer un bitblt colorfill sur la surface primaire à l’aide de la valeur dans le membre Color de la structure D3DKMT_PRESENT . Cet indicateur de champ de bits peut être utilisé avec l’indicateur de champ de bits DstRectValid .

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

Flip

Valeur UINT qui spécifie s’il faut basculer vers une nouvelle surface.

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

FlipDoNotFlip

Valeur UINT qui spécifie s’il faut insérer des attentes en file d’attente dans le flux de rendu. La définition de ce membre indique de retourner vers la même surface que celle en cours d’analyse.

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

FlipDoNotWait

Valeur UINT qui spécifie si le pilote client installable (ICD) OpenGL nécessite que l’opération actuelle attende que le nombre de surfaces de retournement mises en file d’attente tombe en dessous d’une limite particulière avant de commencer l’opération. La définition de ce membre indique que l’ICD ne nécessite pas d’attente. La limite par défaut pour le nombre de surfaces de retournement en file d’attente est de trois.

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

FlipRestart

Valeur UINT qui spécifie s’il faut redémarrer un basculement vers une nouvelle surface.

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

DstRectValid

Valeur UINT qui spécifie si le bitblt utilise une zone rectangulaire de destination.

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

SrcRectValid

Valeur UINT qui spécifie si le bitblt utilise une zone rectangulaire source.

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

RestrictVidPnSource

Valeur UINT qui spécifie s’il faut restreindre le bitblt. Si le membre hWindow a la valeur NULL, le membre VidPnSourceId de la structure D3DKMT_PRESENT indique la sortie vers laquelle le bitblt en plein écran est dirigé ; si hWindow n’a pas la valeur NULL, VidPnSourceId indique la sortie à laquelle restreindre le bitblt fenêté.

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

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 D3DKMT_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 dixième bit du membre Value 32 bits (0x00000200).

DstColorKey

Valeur UINT qui spécifie s’il faut effectuer la clé de couleur de destination à l’aide de la valeur dans le membre Color de D3DKMT_PRESENT. Autrement dit, tous les pixels de la surface de destination qui correspondent à la touche 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 onzième bit du membre Value 32 bits (0x00000400).

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 douzième bit du membre Value 32 bits (0x00000800).

PresentCountValid

Valeur UINT qui spécifie si la valeur définie dans le membre PresentCount de la structure D3DKMT_PRESENT est valide.

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

[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 quatorzième bit du membre Value 32 bits (0x00002000).

PresentToBitmap

Valeur UINT qui spécifie s’il faut présenter une image bitmap.

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

Pris en charge à partir de Windows 7.

RedirectedFlip

Valeur UINT qui spécifie s’il faut rediriger un flip vers une nouvelle surface.

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

Pris en charge à partir de Windows 7.

RedirectedBlt

Valeur UINT qui spécifie s’il faut rediriger un bitblt vers une nouvelle surface.

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

Pris en charge à partir de Windows 7.

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 dix-huitième bit du membre Value 32 bits (0x00020000).

Pris en charge à partir de Windows 8.

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.

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

Pris en charge à partir de Windows 8.

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 vingtième bit du membre Value 32 bits (0x00080000).

Pris en charge à partir de Windows 8.

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 vingt et unième bits du membre Value 32 bits (0x00100000).

Pris en charge à partir de Windows 8.

PresentHistoryTokenOnly

Spécifie que le pilote doit envoyer uniquement un jeton d’historique actuel.

Un jeton d’historique actuel est un paquet de données que l’application de rendu envoie pour informer le Gestionnaire de fenêtres de bureau (DWM) que le rendu est terminé et que la mémoire tampon de retour de la chaîne d’échange est prête à être présentée.

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

Pris en charge à partir de Windows 8.

PresentRegionsValid

Spécifie que le D3DKMT_PRESENT. Le membre pPresentRegions est un pointeur valide (et non NULL).

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

Pris en charge à partir de Windows 8.

PresentDDA

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

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

Pris en charge à partir de Windows 8.

ProtectedContentBlankedOut

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

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

Pris en charge à partir de Windows 8.

RemoteSession

Spécifie que l’opération actuelle est dirigée vers une session distante.

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

Pris en charge à partir de Windows 8.

CrossAdapter

Adaptateur croisé.

DurationValid

Indique si la durée est valide.

PresentIndirect

Présenter indirect.

PresentHMD

Reserved

Pris en charge à partir de Windows 8.

Ce membre est réservé et doit être défini sur zéro. Définir ce membre sur zéro équivaut à définir les 9 bits restants (0xFF800000) du membre Value 32 bits sur zéros.

Value

Valeur 32 bits qui identifie comment effectuer l’opération actuelle.

Remarques

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 Disponible à partir de Windows Vista.
En-tête d3dkmthk.h (inclure D3dkmthk.h)

Voir aussi

D3DKMDT_VIDPN_PRESENT_PATH

D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION

D3DKMT_DISPLAYMODE

D3DKMT_PRESENT

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS