estructura D3DKMT_PRESENTFLAGS (d3dkmthk.h)

La estructura D3DKMT_PRESENTFLAGS identifica cómo realizar una operación presente.

Sintaxis

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;

Miembros

Blt

Valor UINT que especifica si se deben transferir datos de transferencia de bloques de bits (bitblt) a la superficie principal. Esta marca de campo de bits se puede usar con las marcas de campo de bits DstRectValid y SrcRectValid .

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

ColorFill

Valor UINT que especifica si se debe realizar un bitblt de colorfill en la superficie principal mediante el valor del miembro Color de la estructura D3DKMT_PRESENT . Esta marca de campo de bits se puede usar con la marca de campo de bits DstRectValid .

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

Flip

Valor UINT que especifica si se va a voltear a una nueva superficie.

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

FlipDoNotFlip

Valor UINT que especifica si se insertan esperas en cola en el flujo de representación. Establecer este miembro indica que se va a voltear a la misma superficie que se está examinando actualmente.

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

FlipDoNotWait

Valor UINT que especifica si el controlador de cliente instalable (ICD) de OpenGL requiere que la operación presente espere a que el número de superficies de volteo en cola caiga por debajo de un límite determinado antes de que comience la operación. Si se establece este miembro, se indica que el ICD no requiere esperar. El límite predeterminado para el número de superficies de volteo en cola es tres.

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

FlipRestart

Valor UINT que especifica si se debe reiniciar un volteo a una nueva superficie.

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

DstRectValid

Valor UINT que especifica si el bitblt usa un área rectangular de destino.

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

SrcRectValid

Valor UINT que especifica si el bitblt usa un área rectangular de origen.

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

RestrictVidPnSource

Valor UINT que especifica si se va a restringir el bitblt. Si el miembro hWindow es NULL, el miembro VidPnSourceId de la estructura D3DKMT_PRESENT indica a qué salida se dirige el bitblt de pantalla completa; Si hWindow no es NULL, VidPnSourceId indica a qué salida se va a restringir el bitblt de ventana.

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

SrcColorKey

Valor UINT que especifica si se deben realizar las teclas de color de origen mediante el valor del miembro Color de la estructura D3DKMT_PRESENT . 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 décimo bit del miembro Value de 32 bits (0x00000200).

DstColorKey

Valor UINT que especifica si se deben realizar las teclas de color de destino mediante el valor del miembro Color de D3DKMT_PRESENT. 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 undécimo bit del miembro Value de 32 bits (0x00000400).

LinearToSrgb

Valor UINT que especifica si se va a convertir el origen con formato lineal al formato sRGB durante la operación de copia. 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 duodécimo bit del miembro Value de 32 bits (0x00000800).

PresentCountValid

Valor UINT que especifica si el valor establecido en el miembro PresentCount de la estructura D3DKMT_PRESENT es válido.

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

[in] Rotate

Valor UINT que especifica si se rotan los datos de presentación para que coincidan con la orientación actual de la pantalla durante la transferencia de bloques de bits de presentación (bitblt). La orientación actual de la pantalla se establece en el miembro Rotation de una estructura de D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION , que se establece en el miembro ContentTransformation de la estructura D3DKMDT_VIDPN_PRESENT_PATH para la ruta de acceso presente del vídeo.

El controlador de minipuerto de pantalla debe girar los datos solo si se establece la marca girar campo de bits. Incluso si el controlador determina que la orientación actual de la pantalla se gira a partir de los datos de presentación y no se establece Rotate , el controlador no debe rotar los datos.

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

PresentToBitmap

Valor UINT que especifica si se va a presentar a un mapa de bits.

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

Se admite a partir de Windows 7.

RedirectedFlip

Valor UINT que especifica si se va a redirigir un volteo a una nueva superficie.

Establecer este miembro equivale a establecer el decimosexto bit del miembro Valor de 32 bits (0x00008000).

Se admite a partir de Windows 7.

RedirectedBlt

Valor UINT que especifica si se debe redirigir un bitblt a una nueva superficie.

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

Se admite a partir de Windows 7.

FlipStereo

Especifica si el controlador debe voltear imágenes de izquierda y derecha de una asignación estéreo.

Si se establece el miembro FlipOnNextVSync de la estructura de DXGK_SETVIDPNSOURCEADDRESS_FLAGS , el controlador debe completar el volteo a la imagen izquierda en la siguiente VSync y, a continuación, completar el volteo a la imagen derecha en la siguiente VSync.

Si se establece el miembro FlipImmediate de la estructura de DXGK_SETVIDPNSOURCEADDRESS_FLAGS , el controlador debería empezar inmediatamente a examinar desde la nueva asignación. Por ejemplo, si el controlador estaba examinando una imagen correcta, debe iniciar el nuevo examen desde el mismo desplazamiento relativo en la imagen derecha de la nueva asignación.

Los miembros FlipStereo y FlipStereoTemporaryMono no se pueden establecer al mismo tiempo.

Para obtener más requisitos, consulte la sección Comentarios.

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

Se admite a partir de Windows 8.

FlipStereoTemporaryMono

Especifica si el controlador debe usar la imagen izquierda de una asignación estéreo para las partes derecha e izquierda de un marco estéreo. El controlador realiza la misma operación presente que con FlipStereo, salvo que debe examinar solo desde la imagen izquierda para generar ambas imágenes de un fotograma estéreo.

Este miembro solo debe establecerse si el controlador notifica la compatibilidad con esta opción en el modo de visualización actual estableciendo el miembro Type de la estructura de D3DKMDT_VIDPN_SOURCE_MODE en D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN.

Los miembros FlipStereo y FlipStereoTemporaryMono no se pueden establecer al mismo tiempo.

Los miembros FlipStereoTemporaryMono y FlipStereoPreferRight no se pueden establecer al mismo tiempo.

Para obtener más requisitos, consulte la sección Comentarios.

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

Se admite a partir de Windows 8.

FlipStereoPreferRight

Especifica que cuando el controlador clona una asignación principal estéreo a un monitor mono, debe usar la imagen correcta.

Los miembros FlipStereoTemporaryMono y FlipStereoPreferRight no se pueden establecer al mismo tiempo.

Para obtener más requisitos, consulte la sección Comentarios.

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

Se admite a partir de Windows 8.

BltStereoUseRight

Especifica que cuando el controlador presenta desde una asignación estéreo a una asignación mono, debe usar la imagen correcta. Si no se establece, el controlador debe usar la imagen izquierda.

Establecer este miembro equivale a establecer el veinticinco primer bit del miembro Value de 32 bits (0x00100000).

Se admite a partir de Windows 8.

PresentHistoryTokenOnly

Especifica que el controlador solo debe enviar un token de historial presente.

Un token de historial presente es un paquete de datos que la aplicación de representación envía para informar al Administrador de ventanas de escritorio (DWM) que la representación está completa y que el búfer de reserva de la cadena de intercambio está listo para presentarse.

Establecer este miembro equivale a establecer el bit de veintisiete segundos del miembro Value de 32 bits (0x00200000).

Se admite a partir de Windows 8.

PresentRegionsValid

Especifica que el D3DKMT_PRESENT. El miembro pPresentRegions es un puntero válido (no NULL).

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

Se admite a partir de Windows 8.

PresentDDA

Este miembro está reservado y debe establecerse en cero.

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

Se admite a partir de Windows 8.

ProtectedContentBlankedOut

Este miembro está reservado y debe establecerse en cero.

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

Se admite a partir de Windows 8.

RemoteSession

Especifica que la operación actual se dirige a una sesión remota.

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

Se admite a partir de Windows 8.

CrossAdapter

Adaptador cruzado.

DurationValid

Indica si la duración es válida.

PresentIndirect

Presente indirecto.

PresentHMD

Reserved

Se admite a partir de Windows 8.

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

Value

Valor de 32 bits que identifica cómo realizar la operación actual.

Comentarios

Si se establece cualquiera de los miembros FlipStereo, FlipStereoTemporaryMono o FlipStereoPreferRight , se aplican estas condiciones:

Requisitos

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

Consulte también

D3DKMDT_VIDPN_PRESENT_PATH

D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION

D3DKMT_DISPLAYMODE

D3DKMT_PRESENT

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS