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:
- Primer bitblt:
- BeginPresentToDwm = TRUE;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = FALSE;
- Segundo bitblt:
- BeginPresentToDwm = FALSE;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = TRUE;
- Primer bitblt:
- 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:
- Primer bitblt:
- BeginPresentToDwm = TRUE;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = FALSE;
- Bitblts segundo y sucesivo, no incluido el bitblt final:
- BeginPresentToDwm = FALSE;
- ContinuePresentToDwm = TRUE;
- EndPresentToDwm = FALSE;
- Bitblt final:
- BeginPresentToDwm = FALSE;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = TRUE;
- Primer bitblt:
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows Vista. |
Encabezado | d3dumddi.h (incluya D3dumddi.h) |