structure D3DDDI_BLTFLAGS (d3dumddi.h)
La structure D3DDDI_BLTFLAGS identifie le type de transfert de bloc de bits (bitblt) à effectuer.
Syntaxe
typedef struct _D3DDDI_BLTFLAGS {
union {
struct {
UINT Point : 1;
UINT Linear : 1;
UINT SrcColorKey : 1;
UINT DstColorKey : 1;
UINT MirrorLeftRight : 1;
UINT MirrorUpDown : 1;
UINT LinearToSrgb : 1;
UINT Rotate : 1;
UINT BeginPresentToDwm : 1;
UINT ContinuePresentToDwm : 1;
UINT EndPresentToDwm : 1;
#if ...
UINT Reserved : 21;
UINT Discard : 1;
UINT NoOverwrite : 1;
UINT Tileable : 1;
#else
UINT Reserved : 18;
#endif
};
UINT Value;
};
} D3DDDI_BLTFLAGS;
Membres
Point
Valeur UINT qui spécifie s’il faut utiliser le filtrage de points dans le transfert de bloc de bits. Définir ce membre équivaut à définir le premier bit du membre Value 32 bits (0x00000001).
Linear
Valeur UINT qui spécifie s’il faut utiliser le filtrage linéaire dans le transfert de bloc de bits. La définition de ce membre équivaut à définir le deuxième bit du membre Value 32 bits (0x00000002).
SrcColorKey
Valeur UINT qui spécifie s’il faut effectuer la clé de couleur source à l’aide de la valeur dans le membre ColorKey . 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 troisième bit du membre Value 32 bits (0x00000004).
DstColorKey
Valeur UINT qui spécifie s’il faut effectuer la touche de couleur de destination à l’aide de la valeur dans le membre ColorKey . 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 quatrième bit du membre Value 32 bits (0x00000008).
MirrorLeftRight
Valeur UINT qui spécifie si le contenu de la surface source est retourné horizontalement le long de l’axe central dans le bitblt vers la surface de destination. Autrement dit, le contenu situé sur le côté gauche de la surface source est copié sur le côté droit de l’aire de destination, et inversement.
La définition de ce membre équivaut à définir le cinquième bit du membre Value 32 bits (0x00000010).
MirrorUpDown
Valeur UINT qui spécifie si le contenu de la surface source est retourné verticalement le long de l’axe central dans le bitblt vers la surface de destination. Autrement dit, le contenu situé en haut de la surface source est copié en bas de la surface de destination, et inversement.
La définition de ce membre équivaut à définir le sixième bit du membre Value 32 bits (0x00000020).
LinearToSrgb
Valeur UINT qui spécifie s’il faut convertir la source au format linéaire au format sRGB pendant l’opération bitblt. 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).
Rotate
Valeur UINT qui spécifie s’il faut faire pivoter la source pendant l’opération bitblt.
La définition de ce membre équivaut à définir le huitième bit du membre Value 32 bits (0x00000080).
BeginPresentToDwm
Valeur UINT qui spécifie si le runtime Microsoft Direct3D commence une opération présente DWM pendant l’opération bitblt. Pour plus d’informations sur BeginPresentToDwm, consultez Remarques.
La définition de ce membre équivaut à définir le neuvième bit du membre Value 32 bits (0x00000100).
ContinuePresentToDwm
Valeur UINT qui spécifie si le runtime Direct3D poursuit une opération présente DWM pendant l’opération bitblt. Pour plus d’informations sur ContinuePresentToDwm, consultez Remarques.
La définition de ce membre équivaut à définir le dixième bit du membre Value 32 bits (0x00000200).
EndPresentToDwm
Valeur UINT qui spécifie si le runtime Direct3D met fin à une opération présente DWM pendant l’opération bitblt. Pour plus d’informations sur EndPresentToDwm, consultez Remarques.
La définition de ce membre équivaut à définir le onzième bit du membre Value 32 bits (0x00000400).
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 21 bits restants (0xFFFFF800) du membre Value 32 bits sur zéros.
Ce membre est réservé et doit être défini sur zéro.
Définir ce membre sur zéro équivaut à définir les 18 bits restants (0xFFFFC000) du membre Value 32 bits sur zéros.
Pris en charge à partir de Windows 8.
Discard
Indique que le pilote d’affichage en mode utilisateur peut ignorer le contenu précédent de l’ensemble de la ressource. Le pilote peut tirer parti de cette fonctionnalité pour optimiser les performances et l’utilisation de la mémoire.
Si ce membre n’est pas NULL, NoOverwrite et Tileable doivent avoir la valeur NULL.
La définition de ce membre équivaut à définir le douzième bit (0xFFFFF800) du membre Value 32 bits sur zéros.
Pris en charge à partir de Windows 8.
NoOverwrite
Indique que l’appelant garantit que la partie de la surface en cours d’écriture avec de nouvelles données n’est pas actuellement référencée ou accessible par une opération de rendu précédente. Le pilote peut tirer parti de cette fonctionnalité pour optimiser les performances et l’utilisation de la mémoire.
Si ce membre n’a pas la valeur NULL, l’option Ignorer doit avoir la valeur NULL.
La définition de ce membre équivaut à définir le treizième bit (0x00001000) du membre Value 32 bits sur zéros.
Pris en charge à partir de Windows 8.
Tileable
Pour le rendu différé basé sur des vignettes, indique qu’une opération de copie peut fonctionner uniquement sur la vignette actuellement traitée dans la ressource source ou de destination, et que la scène n’a pas besoin d’être vidée dans toutes les vignettes.
Si ce membre n’a pas la valeur NULL, l’option Ignorer doit avoir la valeur NULL.
Définir ce membre équivaut à définir le quatorzième bit (0x00002000) du membre Value 32 bits sur zéros.
Pris en charge à partir de Windows 8.
Value
Membre de l’union contenu dans D3DDDI_BLTFLAGS qui peut contenir une valeur 32 bits qui identifie le type de bitblt à effectuer.
Remarques
Les indicateurs de champ bit BeginPresentToDwm, ContinuePresentToDwm et EndPresentToDwm informent le pilote d’affichage en mode utilisateur de l’heure à laquelle le runtime Direct3D effectue certaines parties d’une opération présente DWM. Étant donné que les opérations de présentation DWM peuvent se produire en plusieurs étapes, le runtime Direct3D utilise ces indicateurs pour marquer les étapes dans une séquence de bits. Par exemple :
- Si l’opération actuelle se compose d’un bitblt, le bitblt est marqué comme suit :
- BeginPresentToDwm = TRUE ;
- ContinuePresentToDwm = FALSE ;
- EndPresentToDwm = TRUE ;
- Si l’opération actuelle se compose de deux bitblts, les bitblts sont marqués comme indiqué dans deux opérations de bitblt séquentielles :
- Premier bitblt :
- BeginPresentToDwm = TRUE ;
- ContinuePresentToDwm = FALSE ;
- EndPresentToDwm = FALSE ;
- Deuxième bitblt :
- BeginPresentToDwm = FALSE ;
- ContinuePresentToDwm = FALSE ;
- EndPresentToDwm = TRUE ;
- Premier bitblt :
- Si l’opération actuelle se compose de trois bits ou plus, les bits sont marqués comme indiqué dans les opérations de bitblt séquentielles suivantes :
- Premier bitblt :
- BeginPresentToDwm = TRUE ;
- ContinuePresentToDwm = FALSE ;
- EndPresentToDwm = FALSE ;
- Deuxièmes bitblts et successifs, sans inclure le bitblt final :
- BeginPresentToDwm = FALSE ;
- ContinuePresentToDwm = TRUE ;
- EndPresentToDwm = FALSE ;
- Bitblt final :
- BeginPresentToDwm = FALSE ;
- ContinuePresentToDwm = FALSE ;
- EndPresentToDwm = TRUE ;
- Premier bitblt :
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista. |
En-tête | d3dumddi.h (inclure D3dumddi.h) |