DXGK_SETVIDPNSOURCEADDRESS_FLAGS structure (d3dkmddi.h)

La structure DXGK_SETVIDPNSOURCEADDRESS_FLAGS identifie le type d’opération spécifique à effectuer dans un appel aux fonctions DxgkDdiSetVidPnSourceAddress ou DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay du pilote miniport d’affichage.

Syntaxe

typedef struct _DXGK_SETVIDPNSOURCEADDRESS_FLAGS {
  union {
    struct {
      UINT ModeChange : 1;
      UINT FlipImmediate : 1;
      UINT FlipOnNextVSync : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT SharedPrimaryTransition : 1;
      UINT IndependentFlipExclusive : 1;
      UINT MoveFlip : 1;
#if ...
      UINT Reserved : 23;
#elif
      UINT Reserved : 24;
#elif
      UINT Reserved : 25;
#else
      UINT Reserved : 29;
#endif
    };
         UINT Value;
  };
} DXGK_SETVIDPNSOURCEADDRESS_FLAGS;

Membres

ModeChange

Valeur UINT qui spécifie que le pilote doit basculer le mode d’affichage.

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

FlipImmediate

Valeur UINT qui spécifie que le pilote doit effectuer une opération de retournement qui se produit sans synchronisation verticale.

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

FlipOnNextVSync

Valeur UINT qui spécifie que le pilote doit effectuer une opération de retournement qui se produit lors de la synchronisation verticale suivante.

Définir ce membre revient à définir le troisième bit du membre value 32 bits (0x00000004).

[in] FlipStereo

Pris en charge à partir de Windows 8.

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

Si le membre FlipOnNextVSync de la structure DXGK_SETVIDPNSOURCEADDRESS_FLAGS est défini, le pilote effectue le basculement vers l’image de gauche sur le VSync suivant, puis effectue 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 commence immédiatement à analyser à partir de la nouvelle allocation. Par exemple, si le pilote analysait une image de droite, il démarre 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, consultez la section Remarques.

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

[in] FlipStereoTemporaryMono

Pris en charge à partir de Windows 8.

Spécifie si le pilote utilise 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 scanne 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, consultez la section Remarques.

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

[in] FlipStereoPreferRight

Pris en charge à partir de Windows 8.

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

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

Pour plus d’informations, consultez la section Remarques.

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

[in] SharedPrimaryTransition

Pris en charge à partir de Windows 8.

Spécifie que le pilote effectue la transition vers ou à partir d’une allocation principale managée partagée.

Ce membre est défini si l’une des transitions suivantes se produit :

  • L’allocation primaire actuelle n’est pas une allocation primaire partagée, mais la nouvelle.
  • L’allocation primaire actuelle est une allocation primaire partagée, mais pas la nouvelle.
Lorsque SharedPrimaryTransition est défini, le pilote de miniport d’affichage doit vérifier que le matériel peut basculer en toute transparence entre les allocations primaires et les allocations primaires partagées, et il doit effectuer toute programmation matérielle nécessaire pour que le commutateur se produise sans interruption.

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

[in] IndependentFlipExclusive

Pris en charge à partir de Windows 10.

Lorsque IndependentFlipExlusive est défini, le retournement est effectué en mode exclusif de retournement indépendant. La mémoire tampon avant est accessible uniquement par le matériel d’affichage (et non par le DWM) et le pilote en mode noyau peut appliquer des optimisations de synchronisation verticale.

[in] MoveFlip

Pris en charge à partir de Windows 10.

Lorsque MoveFlip est défini, le pilote est averti d’utiliser tout état enregistré à partir du basculement précédent pour configurer la nouvelle demande d’analyse.

[in] Reserved

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

Value

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

Remarques

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

  • Le membre hAllocation de la structure DXGKARG_SETVIDPNSOURCEADDRESS pointe vers une allocation créée avec le membre Stereo défini dans le membre Flags de la structure D3DKMT_DISPLAYMODE .
  • Les membres PrimarySegment et PrimaryAddress de DXGKARG_SETVIDPNSOURCEADDRESS pointent vers l’adresse physique de départ de l’allocation.
  • Le pilote respecte les paramètres des membres FlipImmediate et FlipOnNextVSync de la structure DXGK_SETVIDPNSOURCEADDRESS_FLAGS .
À compter de Windows 8, le pilote de miniport d’affichage peut échouer à un appel à la fonction DxgkDdiSetVidPnSourceAddress, en retournant STATUS_INVALID_PARAMETER, lorsque le membre SharedPrimaryTransition est défini dansles indicateurspSetVidPnSourceAddress->. Toutefois, un tel échec n’est pas attendu, sauf s’il y a une erreur dans l’implémentation par le pilote en mode utilisateur de la fonction CheckDirectFlipSupport ou dans le Gestionnaire de fenêtres du bureau (DWM). Si un tel échec se produit, le système d’exploitation ne revient pas en mode composition de manière transparente et la présentation est incorrecte.

Configuration requise

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

Voir aussi

D3DKMT_DISPLAYMODE

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiSetVidPnSourceAddress

DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay