struttura DXGK_SET_TIMING_PATH_INFO (d3dkmddi.h)
Struttura per contenere le informazioni da modificare Percorso di 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;
Membri
VidPnTargetId
Identificatore della destinazione del video di una scheda di visualizzazione.
OutputColorSpace
Valore D3DDDI_COLOR_SPACE_TYPE che descrive lo spazio colore di output destinato ai pixel trasportati. 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 colori di output viene corretto fino a quando non viene modificato da un'altra chiamata SetTiming. Se lo spazio colori impostato sulla catena di scambio presentato a questa destinazione è diverso dallo spazio colori di output, il driver deve eseguire la conversione nello spazio colori di output durante l'analisi.
Se nella destinazione sono abilitati più piani pixel, il driver deve eseguire la composizione dei piani in uno spazio colori di composizione valido, in genere uno spazio lineare oltre a convertire i pixel composti nello spazio colori di output.
Poiché SelectedWireFormat indica già la codifica dei colori e il sottocampionamento cromatico, OutputColorSpace viene usato solo per determinare le primarie e la gamma con cui codificare i valori pixel; gli altri elementi: modello di colore, intervallo e così via devono essere ignorati come sono definiti da SelectedWireFormat. Dato che non sono previsti piani per supportare le primarie ST.2084 con le primarie Rec.709 o gamma 2.2 con Rec 2020, il risultato è che solo due valori sono mai impostati dal sistema operativo nella versione RS2, ovvero:
- D3DDDI_COLOR_SPACE_RGB_FULL_G22_NONE_P709, per la route definita dall'utente
- 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 degli MPO, di conseguenza è 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 collegamento da impostare per il percorso. Il campo Preferenza è riservato in questo contesto, quindi deve essere ignorato dal driver. Nei cinque campi di bit rimanenti, il sistema operativo imposta uno dei trenta bit per indicare la codifica dei colori e a quale profondità del 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 inattività del monitoraggio in un percorso, il flag Attivo verrà cancellato e VidPnPathUpdates verrà impostato su DXGK_PATH_UPDATE_UNMODIFIED, se chiama SetTimings per attivare il monitoraggio, il flag Attivo verrà impostato e i VidPnPathUpdates saranno comunque impostati su DXGK_PATH_UPDATE_UNMODIFIED.
Input.Active
Se impostato, indica che il percorso deve essere attivato o rimanere attivo. Se non è chiaro, indica che il percorso deve essere disattivato o rimanere inattivo.
Input.IgnoreConnectivity
Se impostato, indica che il driver deve forzare l'output nella 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'adapter è 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 non è chiaro, non viene richiesto alcun comportamento speciale.
Input.SyncLockGroup
Sincronizzare l'input del gruppo di blocchi. Disponibile a partire da WDDM 2.4. Indica il gruppo di visualizzazioni sincronizzate 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 viene impostato su 1 quando vengono abilitati gli schermi in grado di sincronizzazione e 0 quando lo schermo non è necessario sincronizzare e deve essere sempre associato a SyncLockStyle di valore DXGK_SYNC_LOCK_STYLE_NONE.
Input.SyncLockStyle
Sincronizzare l'input dello stile di blocco. 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 gli schermi 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
Un set di flag che specificano le operazioni che il sistema operativo vuole che il driver faccia.
Output
Output.RecheckMPO
Se impostato, indica che il sistema operativo deve emettere un checkMPO a causa di modifiche in questo percorso.
Output.Reserved
Questo valore è riservato per l'uso del sistema.
OutputFlags
Un set di flag che specificano i risultati che il sistema operativo deve conoscere in relazione a 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 e destinazioni modificate che il sistema operativo non intende 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, la 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 approssimativamente per quanto tempo è durato l'errore. Ciò è destinato a riflettere per 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 monitor da dover rilevare nuovamente, il dispositivo di visualizzazione probabilmente richiederà molti fotogrammi per il ripristino. È la lunghezza del problema sottostante che deve essere segnalato, non il tempo di ripristino, in quanto ciò 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 della tempistica. In molti casi, glitch sono inevitabili, quindi questi campi tentano di comprendere la causa sottostante e l'entità dell'impatto dell'utente.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | d3dkmddi.h |