Compartir a través de


estructura DXGK_SETVIDPNSOURCEADDRESS_FLAGS (d3dkmddi.h)

La estructura DXGK_SETVIDPNSOURCEADDRESS_FLAGS identifica el tipo específico de operación que se va a realizar en una llamada a las funciones DxgkDdiSetVidPnSourceAddress o DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay del controlador de miniporte.

Sintaxis

typedef struct _DXGK_SETVIDPNSOURCEADDRESS_FLAGS {
  union {
    struct {
      UINT ModeChange : 1;
      UINT FlipImmediate : 1;
      UINT FlipOnNextVSync : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT SharedPrimaryTransition : 1;
      UINT IndependentFlipExclusive : 1;
      UINT MoveFlip : 1;
#if ...
      UINT Reserved : 23;
#elif
      UINT Reserved : 24;
#elif
      UINT Reserved : 25;
#else
      UINT Reserved : 29;
#endif
    };
         UINT Value;
  };
} DXGK_SETVIDPNSOURCEADDRESS_FLAGS;

Miembros

ModeChange

Valor UINT que especifica que el controlador cambie el modo de presentación.

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

FlipImmediate

Valor UINT que especifica que el controlador realice una operación de volteo que se produce sin sincronización vertical.

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

FlipOnNextVSync

Valor UINT que especifica que el controlador realice una operación de volteo que se produce en la siguiente sincronización vertical.

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

[in] FlipStereo

Se admite a partir de Windows 8.

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

Si se establece el miembro FlipOnNextVSync de la estructura de DXGK_SETVIDPNSOURCEADDRESS_FLAGS , el controlador completa el volteo a la imagen izquierda en la siguiente VSync y, a continuación, completa 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 comienza inmediatamente a examinar desde la nueva asignación. Por ejemplo, si el controlador examinaba una imagen correcta, inicia 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 cuarto bit del miembro Value de 32 bits (0x00000008).

[in] FlipStereoTemporaryMono

Se admite a partir de Windows 8.

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

Este miembro solo debe establecerse si el controlador informa de la compatibilidad con esta opción en el modo de presentació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 quinto bit del miembro Value de 32 bits (0x00000010).

[in] FlipStereoPreferRight

Se admite a partir de Windows 8.

Especifica que cuando el controlador clona una asignación principal estéreo en un monitor mono, usa 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 sexto bit del miembro Value de 32 bits (0x00000020).

[in] SharedPrimaryTransition

Se admite a partir de Windows 8.

Especifica que el controlador realiza la transición a o desde una asignación principal administrada compartida.

Este miembro se establece si se produce alguna de las siguientes transiciones:

  • La asignación principal actual no es una asignación principal compartida, pero la nueva es.
  • La asignación principal actual es una asignación principal compartida, pero la nueva no.
Cuando se establece SharedPrimaryTransition , el controlador de minipuerto de pantalla debe validar que el hardware puede cambiar sin problemas entre las asignaciones principales y compartidas, y debe realizar cualquier programación de hardware necesaria para que se produzca el conmutador sin problemas.

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

[in] IndependentFlipExclusive

Se admite a partir de Windows 10.

Cuando se establece IndependentFlipExlusive , el volteo se realiza en el modo exclusivo de volteo independiente. Solo el hardware de pantalla (no el DWM) accede al búfer frontal y el controlador de modo kernel puede aplicar optimizaciones relacionadas con la sincronización vertical.

[in] MoveFlip

Se admite a partir de Windows 10.

Cuando se establece MoveFlip , se notifica al controlador que use cualquier estado que se haya guardado del volteo anterior para configurar la nueva solicitud de examen.

[in] Reserved

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

Value

Miembro de la unión que DXGK_SETVIDPNSOURCEADDRESS_FLAGS contiene que puede contener un valor de 32 bits que identifica el tipo de operación.

Comentarios

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

  • El miembro hAllocation de la estructura DXGKARG_SETVIDPNSOURCEADDRESS apunta a una asignación que se crea con el miembro Estéreo establecido en el miembro Flags de la estructura D3DKMT_DISPLAYMODE .
  • Los miembros PrimarySegment y PrimaryAddress de DXGKARG_SETVIDPNSOURCEADDRESS apuntan a la dirección física inicial de la asignación.
  • El controlador respeta la configuración de los miembros FlipImmediate y FlipOnNextVSync de la estructura DXGK_SETVIDPNSOURCEADDRESS_FLAGS .
A partir de Windows 8, el controlador de minipuerto de pantalla puede producir un error en una llamada a la función DxgkDdiSetVidPnSourceAddress, devolviendo STATUS_INVALID_PARAMETER, cuando el miembro SharedPrimaryTransition se establece en pSetVidPnSourceAddress->Flags. Sin embargo, este error no se espera a menos que haya un error en la implementación del controlador en modo de usuario de la función CheckDirectFlipSupport o en el Administrador de ventanas de escritorio (DWM). Si se produce un error de este tipo, el sistema operativo no conmutará sin problemas al modo de composición y la presentación será incorrecta.

Requisitos

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

Consulte también

D3DKMT_DISPLAYMODE

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiSetVidPnSourceAddress

DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay