structure DXGK_SET_TIMING_PATH_INFO (d3dkmddi.h)

Structure pour contenir des informations pour modifier le chemin d’accès SetTiming .

Syntaxe

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;

Membres

VidPnTargetId

Identificateur de la cible présente vidéo d’un adaptateur d’affichage.

OutputColorSpace

Valeur D3DDDI_COLOR_SPACE_TYPE qui décrit l’espace de couleur de sortie destiné aux pixels transportés. Le pilote est responsable de l’envoi des métadonnées appropriées pour s’assurer que le périphérique d’affichage est configuré pour interpréter correctement les pixels pour cet espace de couleur.

L’espace de couleur de sortie est résolu jusqu’à ce qu’il soit modifié par un autre appel SetTiming. Si l’espace de couleurs défini sur la chaîne d’échange présenté à cette cible est différent de l’espace de couleurs de sortie, le pilote doit convertir en l’espace de couleurs de sortie pendant l’analyse.

Si plusieurs plans de pixels sont activés sur la cible, le pilote doit effectuer la composition des plans dans un espace de couleurs de composition valide, généralement un espace linéaire en plus de convertir les pixels composés en espace de couleur de sortie.

Étant donné que SelectedWireFormat indique déjà l’encodage des couleurs et le sous-échantillonnage de la chroma, outputColorSpace est utilisé uniquement pour déterminer les valeurs primaires et gamma avec lesquelles les valeurs de pixel doivent être encodées ; les autres éléments : modèle de couleur, plage et cositing doivent être ignorés car ils sont définis par selectedWireFormat. Étant donné qu’il n’est pas prévu de prendre en charge les valeurs gamma ST.2084 avec les primaires Rec.709 ou 2.2 gamma avec les primaires Rec 2020, il en résulte que seules deux valeurs sont définies par le système d’exploitation dans la version RS2 :

  • D3DDDI_COLOR_SPACE_RGB_FULL_G22_NONE_P709, pour SDR
  • D3DDDI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020, pour HDR10

OutputWireColorSpace

Le type d’énumération D3DDDI_COLOR_SPACE_TYPE est également utilisé par le système d’exploitation pour spécifier l’espace de couleur d’entrée des MPO. Par conséquent, il est déconseillé à partir de WDDM 2.3. Les pilotes WDDM 2.3 et versions ultérieures doivent utiliser le nouveau type D3DDDI_OUTPUT_WIRE_COLOR_SPACE_TYPE.

SelectedWireFormat

Valeur D3DKMDT_WIRE_FORMAT_AND_PREFERENCE qui indique le format de fil à définir pour le chemin d’accès. Le champ Préférence étant réservé dans ce contexte, le pilote doit l’ignorer. Dans les cinq champs de bits restants, le système d’exploitation définit l’un des trente bits pour indiquer l’encodage de couleur et la profondeur de bits à laquelle le lien doit être piloté.

Input

Input.VidPnPathUpdates

Décrit comment les éléments VidPn correspondant à ce chemin d’accès ont été modifiés depuis l’appel réussi précédent.

Les champs de la structure DXGK_SET_TIMING_PATH_INFO sont exclus de ce résumé, de sorte que le pilote doit toujours évaluer ces champs pour toute modification. Par exemple, si le système d’exploitation appelle SetTimings pour inactiver le moniteur sur un chemin d’accès, l’indicateur Active est effacé et VidPnPathUpdates est défini sur DXGK_PATH_UPDATE_UNMODIFIED, s’il appelle ensuite SetTimings pour mettre le moniteur sous tension, l’indicateur Actif est défini et les mises à jour VidPnPath sont toujours définies sur DXGK_PATH_UPDATE_UNMODIFIED.

Input.Active

Si la valeur est définie, indique que le chemin d’accès doit être activé ou rester actif. S’il est clair, indique que le chemin d’accès doit être désactivé ou rester inactif.

Input.IgnoreConnectivity

Si la valeur est définie, indique que le pilote doit forcer la sortie vers la cible même si aucun périphérique d’affichage n’a été détecté. Si cette option est désactivée, le pilote doit signaler un ConnectionStatus mis à jour si la connectivité a changé.

Input.PreserveInherited

Si la valeur est définie, indique que le pilote doit conserver les minutages et le contenu qui ont été configurés par un pilote précédent. Cet indicateur n’est utilisé que lorsque l’adaptateur a été configuré par autre chose que le instance actuel du pilote. Initialement, il sera utilisé lorsque le chemin d’accès a été initialisé par le microprogramme pendant le démarrage. S’il est clair, aucun comportement spécial n’est demandé.

Input.SyncLockGroup

Synchroniser l’entrée du groupe de verrous. Disponible à partir de WDDM 2.4. Indique à quel groupe d’affichages synchronisés chaque chemin appartient. Étant donné que WDDM 2.4 - WDDM 2.6 ne prend en charge qu’un seul groupe de synchronisation par adaptateur et active toujours la synchronisation lorsque cela est possible, cette valeur est définie sur 1 lorsque les affichages pouvant être synchronisés sont activés et 0 lorsque l’affichage n’est pas nécessaire pour être synchronisé et doit toujours être associé à SyncLockStyle de valeur DXGK_SYNC_LOCK_STYLE_NONE.

Input.SyncLockStyle

Entrée de style de verrouillage de synchronisation. Disponible à partir de WDDM 2.4. Indique le style de synchronisation demandé par le système d’exploitation. Pour un pilote WDDM 2.4 - WDDM 2.6, cette valeur est définie sur DXGK_SYNC_LOCK_STYLE_IDENTICAL si les affichages pouvant être synchronisés sont activés et DXGK_SYNC_LOCK_STYLE_NONE sinon.

Input.Reserved

L’utilisation de cette valeur est réservée au système.

InputFlags

Ensemble d’indicateurs spécifiant ce que le système d’exploitation souhaite que le pilote fasse.

Output

Output.RecheckMPO

Si la valeur est définie, indique que le système d’exploitation doit émettre un CheckMPO en raison de modifications apportées à ce chemin.

Output.Reserved

L’utilisation de cette valeur est réservée au système.

OutputFlags

TargetState

Indique l’état cible résultant de cet appel. Étant donné que la modification du minutage peut entraîner l’état de connexion des cibles modifiées et des cibles que le système d’exploitation n’avait pas l’intention de modifier, ce champ communique l’état de chaque chemin d’accès.

Si l’état cible est inchangé, ce champ doit contenir une copie du dernier état signalé sur la cible, y compris le ConnectionChangeId qui a été signalé précédemment.

Si l’état cible est modifié, ce champ doit contenir une copie du changement de connexion mis en file d’attente qui reflète l’état résultant de l’appel SetTiming.

GlitchCause

Valeur DXGK_GLITCH_CAUSE qui indique quelle(s) modification(s) sous-jacente(s) dans le pipeline d’affichage a provoqué le problème.

GlitchEffect

Valeur DXGK_GLITCH_EFFECT qui indique comment le problème a été présenté à l’utilisateur.

GlitchDuration

Valeur DXGK_GLITCH_DURATION qui indique approximativement la durée du problème. Cela est destiné à refléter la durée pendant laquelle le problème sous-jacent a été présent, mais l’effet visible peut être plus long dans certains cas. Par exemple, lorsque la synchronisation est perdue suffisamment longtemps pour qu’un moniteur ait à re-détecter, le périphérique d’affichage prendra probablement de nombreuses images pour récupérer. C’est la longueur du problème sous-jacent qui doit être signalée, et non le temps de récupération, car cela varie d’un appareil à l’autre.

Reserved

L’utilisation de cette valeur est réservée au système.

DiagnosticInfo

Ensemble d’informations renseignées par le pilote pour chaque chemin afin de décrire les effets secondaires du changement de minutage. Dans de nombreux cas, les problèmes étant inévitables, ces champs tentent de comprendre la cause sous-jacente et l’étendue de l’impact sur les utilisateurs.

Configuration requise

Condition requise Valeur
En-tête d3dkmddi.h