estructura DXGK_SET_TIMING_PATH_INFO (d3dkmddi.h)

Estructura que contiene información para modificar la ruta de acceso SetTiming .

Sintaxis

typedef struct _DXGK_SET_TIMING_PATH_INFO {
  D3DDDI_VIDEO_PRESENT_TARGET_ID     VidPnTargetId;
  union {
    D3DDDI_COLOR_SPACE_TYPE             OutputColorSpace;
    D3DDDI_OUTPUT_WIRE_COLOR_SPACE_TYPE OutputWireColorSpace;
  };
  D3DKMDT_WIRE_FORMAT_AND_PREFERENCE SelectedWireFormat;
  union {
    struct {
      DXGK_PATH_UPDATE     VidPnPathUpdates : 2;
      UINT                 Active : 1;
      UINT                 IgnoreConnectivity : 1;
      UINT                 PreserveInherited : 1;
      UINT                 SyncLockGroup : 3;
      DXGK_SYNC_LOCK_STYLE SyncLockStyle : 4;
#if ...
      UINT                 Reserved : 20;
#else
      UINT                 Reserved : 27;
#endif
    } Input;
    UINT InputFlags;
  };
  union {
    struct {
      UINT RecheckMPO : 1;
      UINT Reserved : 31;
    } Output;
    UINT OutputFlags;
  };
  DXGK_CONNECTION_CHANGE             TargetState;
  union {
    struct {
      DXGK_GLITCH_CAUSE    GlitchCause;
      DXGK_GLITCH_EFFECT   GlitchEffect;
      DXGK_GLITCH_DURATION GlitchDuration;
      UINT8                Reserved;
    };
    UINT DiagnosticInfo;
  };
} DXGK_SET_TIMING_PATH_INFO;

Miembros

VidPnTargetId

Identificador del destino actual del vídeo del adaptador de pantalla.

OutputColorSpace

Valor de D3DDDI_COLOR_SPACE_TYPE que describe el espacio de color de salida destinado a los píxeles transportados. El controlador es responsable de enviar los metadatos adecuados para asegurarse de que el dispositivo de visualización está configurado para interpretar los píxeles correctamente para este espacio de colores.

El espacio de colores de salida se fija hasta que se modifica mediante otra llamada a SetTiming. Si el espacio de colores establecido en la cadena de intercambio presentado a este destino es diferente del espacio de colores de salida, se requiere que el controlador convierta en el espacio de colores de salida durante el examen.

Si se habilitan varios planos de píxeles en el destino, el controlador debe realizar la composición de los planos en un espacio de colores de composición válido, normalmente un espacio lineal además de convertir los píxeles compuestos en el espacio de colores de salida.

Dado que SelectedWireFormat ya indica la codificación de color y el submuestreo cromático, outputColorSpace solo se usa para determinar los elementos principales y gamma con los que se deben codificar los valores de píxeles; los demás elementos: el modelo de color, el rango y la cosición deben omitirse, ya que los define SelectedWireFormat. Dado que no hay planes para admitir ST.2084 gamma con rec.709 primarias, o 2.2 gamma con rec 2020 primarias, el resultado es que el sistema operativo establece solo dos valores en la versión de RS2 que son:

  • D3DDDI_COLOR_SPACE_RGB_FULL_G22_NONE_P709, para SDR
  • D3DDDI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020, para HDR10

OutputWireColorSpace

El sistema operativo también usa el tipo de enumeración D3DDDI_COLOR_SPACE_TYPE para especificar el espacio de color de entrada de los MPO, por lo que está en desuso a partir de WDDM 2.3. WDDM 2.3 y controladores posteriores deben usar el nuevo tipo D3DDDI_OUTPUT_WIRE_COLOR_SPACE_TYPE.

SelectedWireFormat

Valor D3DKMDT_WIRE_FORMAT_AND_PREFERENCE que indica el formato de conexión que se va a establecer para la ruta de acceso. El campo Preferencias está reservado en este contexto, por lo que el controlador debe omitirlo. En los cinco campos de bits restantes, el sistema operativo establecerá uno de los treinta bits para indicar qué codificación de color y a qué profundidad de bits se debe controlar el vínculo.

Input

Input.VidPnPathUpdates

Describe cómo se han cambiado los elementos VidPn correspondientes a esta ruta de acceso desde la llamada correcta anterior.

Los campos de la estructura DXGK_SET_TIMING_PATH_INFO se excluyen de este resumen, por lo que el controlador siempre debe evaluar estos campos para cualquier cambio. Por ejemplo, si el sistema operativo llama a SetTimings para que el monitor esté inactivo en una ruta de acceso, se borrará la marca Active y VidPnPathUpdates se establecerá en DXGK_PATH_UPDATE_UNMODIFIED, si llama a SetTimings para encender el monitor, se establecerá la marca Active y VidPnPathUpdates seguirá estando establecida en DXGK_PATH_UPDATE_UNMODIFIED.

Input.Active

Si se establece, indica que la ruta de acceso debe activarse o permanecer activa. Si está desactivada, indica que la ruta de acceso debe desactivarse o permanecer inactiva.

Input.IgnoreConnectivity

Si se establece, indica que el controlador debe forzar la salida al destino aunque no se haya detectado ningún dispositivo de visualización. Si está desactivada, el controlador debe notificar una connectionStatus actualizada si la conectividad ha cambiado.

Input.PreserveInherited

Si se establece, indica que el controlador debe conservar los intervalos y el contenido configurados por un controlador anterior. Esta marca solo se usa cuando el adaptador lo configuró algo distinto de la instancia actual del controlador. Inicialmente, se usará cuando el firmware inicializó la ruta de acceso durante el arranque. Si está claro, no se solicita ningún comportamiento especial.

Input.SyncLockGroup

Entrada del grupo de bloqueos de sincronización. Disponible a partir de WDDM 2.4. Indica a qué grupo de sincronizados se muestra cada ruta de acceso. Dado que WDDM 2.4 - WDDM 2.6 solo admite un único grupo de sincronización por adaptador y siempre habilita la sincronización siempre que sea posible, este valor se establece en 1 cuando se habilitan las pantallas de sincronización y 0 cuando la pantalla no es necesaria para sincronizarse y siempre debe emparejarse con SyncLockStyle de valor DXGK_SYNC_LOCK_STYLE_NONE.

Input.SyncLockStyle

Sincronización de la entrada de estilo de bloqueo. Disponible a partir de WDDM 2.4. Indica qué estilo de sincronización solicita el sistema operativo. En el caso de un controlador WDDM 2.4 - WDDM 2.6, este valor se establece en DXGK_SYNC_LOCK_STYLE_IDENTICAL si las pantallas con capacidad de sincronización están habilitadas y DXGK_SYNC_LOCK_STYLE_NONE de lo contrario.

Input.Reserved

Este valor está reservado para su uso por parte del sistema.

InputFlags

Conjunto de marcas que especifican lo que el sistema operativo quiere que haga el controlador.

Output

Output.RecheckMPO

Si se establece, indica que el sistema operativo debe emitir un CheckMPO debido a cambios en esta ruta de acceso.

Output.Reserved

Este valor está reservado para su uso por parte del sistema.

OutputFlags

TargetState

Indica el estado de destino como resultado de esta llamada. Dado que cambiar los intervalos puede provocar el estado de conexión de los destinos modificados y los destinos que el sistema operativo no tenía previsto cambiar, este campo comunica el estado de cada ruta de acceso.

Si el estado de destino no cambia, este campo debe contener una copia del último estado notificado en el destino, incluido el mismo ConnectionChangeId que se informó anteriormente.

Si se cambia el estado de destino, este campo debe contener una copia de la cola, cambio de conexión que refleja el estado resultante de la llamada SetTiming.

GlitchCause

Valor de DXGK_GLITCH_CAUSE que indica qué cambios subyacentes en la canalización de pantalla provocaron el error.

GlitchEffect

Valor de DXGK_GLITCH_EFFECT que indica cómo se presentó el error al usuario.

GlitchDuration

Valor de DXGK_GLITCH_DURATION que indica aproximadamente cuánto tiempo duró el error. Esto está pensado para reflejar cuánto tiempo estaba presente el problema subyacente, pero el efecto visible puede ser mayor en algunos casos. Por ejemplo, cuando se pierde la sincronización lo suficiente para que un monitor tenga que volver a detectarlo, es probable que el dispositivo de pantalla tarde muchos fotogramas en recuperarse. Es la longitud del problema subyacente que se debe notificar, no el tiempo de recuperación, ya que variará entre los dispositivos.

Reserved

Este valor está reservado para su uso por parte del sistema.

DiagnosticInfo

Conjunto de información rellenado por el controlador para cada ruta de acceso para describir los efectos secundarios del cambio de tiempo. En muchos casos, los problemas son inevitables para que estos campos intenten comprender la causa subyacente y la extensión del impacto del usuario.

Requisitos

Requisito Valor
Header d3dkmddi.h