Compartir a través de


estructura D3DDDI_BLTFLAGS (d3dumddi.h)

La estructura D3DDDI_BLTFLAGS identifica el tipo de transferencia de bloques de bits (bitblt) que se va a realizar.

Sintaxis

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;

Miembros

Point

Valor UINT que especifica si se debe usar el filtrado de puntos en la transferencia de bloques de bits. Establecer este miembro equivale a establecer el primer bit del miembro Value de 32 bits (0x00000001).

Linear

Valor UINT que especifica si se debe usar el filtrado lineal en la transferencia de bloques de bits. Establecer este miembro equivale a establecer el segundo bit del miembro Value de 32 bits (0x00000002).

SrcColorKey

Valor UINT que especifica si se deben realizar las teclas de color de origen mediante el valor del miembro ColorKey . Es decir, cualquier píxel de la superficie de origen que coincida con la clave de color no debe copiarse en la superficie de destino y se deben copiar todos los píxeles de origen que no coincidan con la clave de color.

Establecer este miembro equivale a establecer el tercer bit del miembro Value de 32 bits (0x00000004).

DstColorKey

Valor UINT que especifica si se deben realizar las teclas de color de destino mediante el valor del miembro ColorKey . Es decir, cualquier píxel de la superficie de destino que coincida con la clave de color debe reemplazarse por el píxel correspondiente de la superficie de origen y no se deben reemplazar todos los píxeles de destino que no coincidan con la clave de color.

Establecer este miembro equivale a establecer el cuarto bit del miembro Value de 32 bits (0x00000008).

MirrorLeftRight

Valor UINT que especifica si el contenido de la superficie de origen se voltea horizontalmente a lo largo del eje central del bitblt a la superficie de destino. Es decir, el contenido del lado izquierdo de la superficie de origen se copia en el lado derecho de la superficie de destino y viceversa.

Establecer este miembro equivale a establecer el quinto bit del miembro Value de 32 bits (0x00000010).

MirrorUpDown

Valor UINT que especifica si el contenido de la superficie de origen se voltea verticalmente a lo largo del eje central del bitblt a la superficie de destino. Es decir, el contenido de la parte superior de la superficie de origen se copia en la parte inferior de la superficie de destino y viceversa.

Establecer este miembro equivale a establecer el sexto bit del miembro Value de 32 bits (0x00000020).

LinearToSrgb

Valor UINT que especifica si se va a convertir el origen con formato lineal al formato sRGB durante la operación bitblt. El formato sRGB está corregido por gamma. Para obtener más información sobre el formato sRGB, consulte el sitio web de sRGB .

Establecer este miembro equivale a establecer el séptimo bit del miembro Value de 32 bits (0x00000040).

Rotate

Valor UINT que especifica si se va a rotar el origen durante la operación bitblt.

Establecer este miembro equivale a establecer el octavo bit del miembro Value de 32 bits (0x00000080).

BeginPresentToDwm

Valor UINT que especifica si el tiempo de ejecución de Microsoft Direct3D inicia una operación presente de DWM durante la operación bitblt. Para obtener más información sobre BeginPresentToDwm, vea Comentarios.

Establecer este miembro equivale a establecer el noveno bit del miembro Value de 32 bits (0x00000100).

ContinuePresentToDwm

Valor UINT que especifica si el tiempo de ejecución de Direct3D continúa una operación presente de DWM durante la operación bitblt. Para obtener más información sobre ContinuePresentToDwm, vea Comentarios.

Establecer este miembro equivale a establecer el décimo bit del miembro Value de 32 bits (0x00000200).

EndPresentToDwm

Valor UINT que especifica si el tiempo de ejecución de Direct3D finaliza una operación presente de DWM durante la operación bitblt. Para obtener más información sobre EndPresentToDwm, vea Comentarios.

Establecer este miembro equivale a establecer el undécimo bit del miembro Value de 32 bits (0x00000400).

Reserved

Este miembro está reservado y debe establecerse en cero. Establecer este miembro en cero equivale a establecer los 21 bits restantes (0xFFFFF800) del miembro Value de 32 bits en ceros.

Este miembro está reservado y debe establecerse en cero.

Establecer este miembro en cero equivale a establecer los 18 bits restantes (0xFFFFC000) del miembro Value de 32 bits en ceros.

Se admite a partir de Windows 8.

Discard

Indica que el controlador de pantalla en modo de usuario puede descartar el contenido anterior de todo el recurso. El controlador puede aprovechar esta funcionalidad para optimizar el rendimiento y el uso de memoria.

Si este miembro no es NULL, NoOverwrite y Tileable deben ser NULL.

Establecer este miembro equivale a establecer el duodécimo bit (0xFFFFF800) del miembro Value de 32 bits en ceros.

Se admite a partir de Windows 8.

NoOverwrite

Indica que el autor de la llamada garantiza que la parte de la superficie en la que se está escribiendo con nuevos datos no se hace referencia actualmente o a la que cualquier operación de representación anterior hace referencia a ellos. El controlador puede aprovechar esta funcionalidad para optimizar el rendimiento y el uso de memoria.

Si este miembro no es NULL, Discard debe ser NULL.

Establecer este miembro equivale a establecer el decimotercer bit (0x00001000) del miembro Value de 32 bits en ceros.

Se admite a partir de Windows 8.

Tileable

En el caso de la representación diferida basada en iconos, indica que una operación de copia solo puede funcionar en el icono procesado actualmente en el recurso de origen o destino, y la escena no tiene que vaciarse en todos los iconos.

Si este miembro no es NULL, Discard debe ser NULL.

Establecer este miembro equivale a establecer el decimocuarto bit (0x00002000) del miembro Value de 32 bits en ceros.

Se admite a partir de Windows 8.

Value

Miembro de la unión contenida en D3DDDI_BLTFLAGS que puede contener un valor de 32 bits que identifica el tipo de bitblt que se va a realizar.

Comentarios

Las marcas de campo de bits BeginPresentToDwm, ContinuePresentToDwm y EndPresentToDwm informan al controlador de visualización en modo de usuario sobre la hora en que el tiempo de ejecución de Direct3D realiza partes de una operación presente de DWM. Dado que las operaciones presentes de DWM pueden producirse en varios pasos, el tiempo de ejecución de Direct3D usa estas marcas para marcar los pasos en una secuencia de bitsblts. Por ejemplo:

  • Si la operación actual consta de un bitblt, el bitblt se marca como sigue:
    • BeginPresentToDwm = TRUE;
    • ContinuePresentToDwm = FALSE;
    • EndPresentToDwm = TRUE;
  • Si la operación actual consta de dos bitsblts, los bitsblts se marcan como se muestran en dos operaciones bitblt secuenciales:
    1. Primer bitblt:
      • BeginPresentToDwm = TRUE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = FALSE;
    2. Segundo bitblt:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = TRUE;
  • Si la operación actual consta de tres o más bitsblts, los bitsblts se marcan como se muestran en las siguientes operaciones bitblt secuenciales:
    1. Primer bitblt:
      • BeginPresentToDwm = TRUE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = FALSE;
    2. Bitblts segundo y sucesivo, no incluido el bitblt final:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = TRUE;
      • EndPresentToDwm = FALSE;
    3. Bitblt final:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = TRUE;

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows Vista.
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDIARG_BLT

Vaciar