Condividi tramite


DXGK_SET_TIMING_PATH_INFO struttura (d3dkmddi.h)

Struttura per contenere informazioni per modificare il percorso SetTiming .

Sintassi

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;

Members

VidPnTargetId

Identificatore della destinazione del video di una scheda di visualizzazione.

OutputColorSpace

Valore D3DDDI_COLOR_SPACE_TYPE che descrive lo spazio dei colori di output destinato ai pixel di trasporto. Il driver è responsabile dell'invio di metadati appropriati per garantire che il dispositivo di visualizzazione sia configurato per interpretare correttamente i pixel per questo spazio colore.

Lo spazio colore di output viene fisso fino a quando non viene modificato da un'altra chiamata SetTiming. Se lo spazio dei colori impostato sulla catena di scambio presentato a questa destinazione è diverso dallo spazio dei colori di output, il driver deve essere convertito nello spazio colori di output durante l'analisi.

Se più piani pixel sono abilitati nella destinazione, il driver deve eseguire la composizione dei piani in uno spazio di colore di composizione valido, in genere uno spazio lineare oltre a convertire i pixel composti nello spazio dei colori di output.

Poiché SelectedWireFormat indica già la codifica dei colori e la sottocampionamento di chroma, outputColorSpace viene usato solo per determinare le primarie e la gamma con cui devono essere codificati i valori pixel; gli altri elementi: modello di colore, intervallo e così via devono essere ignorati man mano che sono definiti da SelectedWireFormat. Dato che non sono previsti piani per supportare le primariese ST.2084 con Rec.709 o gamma 2.2 con Rec 2020, il risultato è che solo due valori vengono mai impostati dal sistema operativo nella versione RS2 che sono:

  • D3DDDI_COLOR_SPACE_RGB_FULL_G22_NONE_P709, per SDR
  • D3DDDI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020, per HDR10

OutputWireColorSpace

Il tipo di enumerazione D3DDDI_COLOR_SPACE_TYPE viene usato anche dal sistema operativo per specificare lo spazio dei colori di input di MPO, quindi è deprecato a partire da WDDM 2.3. I driver WDDM 2.3 e versioni successive devono usare il nuovo tipo D3DDDI_OUTPUT_WIRE_COLOR_SPACE_TYPE.

SelectedWireFormat

Valore D3DKMDT_WIRE_FORMAT_AND_PREFERENCE che indica il formato di filo da impostare per il percorso. Il campo Preferenza è riservato in questo contesto, pertanto deve essere ignorato dal driver. Nei cinque campi a bit rimanenti il sistema operativo imposta uno dei trenta bit per indicare la codifica dei colori e in corrispondenza del quale profondità bit deve essere guidato il collegamento.

Input

Input.VidPnPathUpdates

Descrive il modo in cui gli elementi VidPn corrispondenti a questo percorso sono stati modificati dopo la chiamata riuscita precedente.

I campi nella struttura DXGK_SET_TIMING_PATH_INFO vengono esclusi da questo riepilogo, pertanto il driver deve sempre valutare questi campi per eventuali modifiche. Ad esempio, se il sistema operativo chiama SetTimings per inattivare il monitoraggio in un percorso, il flag attivo verrà cancellato e i VidPnPathUpdates verranno impostati su DXGK_PATH_UPDATE_UNMODIFIED, se chiama SetTimings per attivare il monitoraggio, il flag attivo verrà impostato e i VidPnPathUpdates verranno comunque impostati su DXGK_PATH_UPDATE_UNMODIFIED.

Input.Active

Se impostato, indica che il percorso deve essere attivato o rimanere attivo. Se è chiaro, indica che il percorso deve essere disattivato o rimanere inattivo.

Input.IgnoreConnectivity

Se impostato, indica che il driver deve forzare l'output alla destinazione anche se non è stato rilevato alcun dispositivo di visualizzazione. Se è chiaro, il driver deve segnalare un connectionStatus aggiornato se la connettività è stata modificata.

Input.PreserveInherited

Se impostato, indica che il driver deve mantenere i tempi e il contenuto configurati da un driver precedente. Questo flag viene usato solo quando l'adattatore è stato configurato da un elemento diverso dall'istanza corrente del driver. Inizialmente, questo verrà usato quando il percorso è stato inizializzato dal firmware durante l'avvio. Se è chiaro, non viene richiesto alcun comportamento speciale.

Input.SyncLockGroup

Input del gruppo di blocco di sincronizzazione. Disponibile a partire da WDDM 2.4. Indica il gruppo di elementi sincronizzati a cui appartiene ogni percorso. Poiché WDDM 2.4 - WDDM 2.6 supporta solo un singolo gruppo di sincronizzazione per scheda e abilita sempre la sincronizzazione quando possibile, questo valore è impostato su 1 quando i display in grado di sincronizzazione sono abilitati e 0 quando la visualizzazione non è necessaria per la sincronizzazione e deve essere sempre associata a SyncLockStyle di valore DXGK_SYNC_LOCK_STYLE_NONE.

Input.SyncLockStyle

Input dello stile di blocco di sincronizzazione. Disponibile a partire da WDDM 2.4. Indica lo stile di sincronizzazione richiesto dal sistema operativo. Per un driver WDDM 2.4 - WDDM 2.6, questo valore è impostato su DXGK_SYNC_LOCK_STYLE_IDENTICAL se i display in grado di sincronizzazione sono abilitati e DXGK_SYNC_LOCK_STYLE_NONE in caso contrario.

Input.Reserved

Questo valore è riservato per l'uso del sistema.

InputFlags

Set di flag che specificano il sistema operativo che vuole che il driver faccia.

Output

Output.RecheckMPO

Se impostato, indica che il sistema operativo deve eseguire un controllo CheckMPO a causa delle modifiche apportate a questo percorso.

Output.Reserved

Questo valore è riservato per l'uso del sistema.

OutputFlags

Un set di flag che specificano i risultati del sistema operativo devono essere consapevoli di quanto riguarda questo percorso.

TargetState

Indica lo stato di destinazione in seguito a questa chiamata. Poiché la modifica dei tempi può causare lo stato di connessione di destinazioni modificate e destinazioni che il sistema operativo non ha intenzione di modificare, questo campo comunica lo stato per ogni percorso.

Se lo stato di destinazione è invariato, questo campo deve contenere una copia dell'ultimo stato segnalato nella destinazione, incluso lo stesso ConnectionChangeId segnalato in precedenza.

Se lo stato di destinazione viene modificato, questo campo deve contenere una copia della coda, modifica della connessione che riflette lo stato risultante dalla chiamata SetTiming.

GlitchCause

Valore DXGK_GLITCH_CAUSE che indica quali modifiche sottostanti nella pipeline di visualizzazione hanno causato l'errore.

GlitchEffect

Valore DXGK_GLITCH_EFFECT che indica come è stato presentato l'errore all'utente.

GlitchDuration

Valore DXGK_GLITCH_DURATION che indica circa la durata dell'errore. Ciò è destinato a riflettere quanto tempo era presente il problema sottostante, ma l'effetto visibile potrebbe essere più lungo in alcuni casi. Ad esempio, quando la sincronizzazione viene persa abbastanza a lungo per un monitoraggio da rilevare nuovamente, il dispositivo di visualizzazione probabilmente richiederà molti fotogrammi per il ripristino. Si tratta della lunghezza del problema sottostante che deve essere segnalato, non il tempo di ripristino in quanto varia tra i dispositivi.

Reserved

Questo valore è riservato per l'uso del sistema.

DiagnosticInfo

Set di informazioni compilate dal driver per ogni percorso per descrivere eventuali effetti collaterali della modifica del tempo. In molti casi, glitch sono inevitabili, quindi questi campi tentano di comprendere la causa sottostante e l'entità dell'impatto dell'utente.

Requisiti

Requisito Valore
Intestazione d3dkmddi.h