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 :
- Le membre hAllocation de la structure DXGKARG_SETVIDPNSOURCEADDRESS doit pointer 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 doivent pointer vers l’adresse physique de début de l’allocation.
- Le pilote doit respecter 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 | d3dkmthk.h (inclure D3dkmthk.h) |