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.
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 .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista. |
En-tête | d3dkmddi.h (include D3dkmddi.h) |