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 :
    1. Premier bitblt :
      • BeginPresentToDwm = TRUE ;
      • ContinuePresentToDwm = FALSE ;
      • EndPresentToDwm = FALSE ;
    2. Deuxième bitblt :
      • BeginPresentToDwm = FALSE ;
      • ContinuePresentToDwm = FALSE ;
      • EndPresentToDwm = TRUE ;
  • 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 :
    1. Premier bitblt :
      • BeginPresentToDwm = TRUE ;
      • ContinuePresentToDwm = FALSE ;
      • EndPresentToDwm = FALSE ;
    2. Deuxièmes bitblts et successifs, sans inclure le bitblt final :
      • BeginPresentToDwm = FALSE ;
      • ContinuePresentToDwm = TRUE ;
      • EndPresentToDwm = FALSE ;
    3. Bitblt final :
      • BeginPresentToDwm = FALSE ;
      • ContinuePresentToDwm = FALSE ;
      • EndPresentToDwm = TRUE ;

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows Vista.
En-tête d3dumddi.h (inclure D3dumddi.h)

Voir aussi

D3DDDIARG_BLT

Purge