DXGK_SET_TIMING_PATH_INFO Struktur (d3dkmddi.h)
Struktur zum Speichern von Informationen zum Ändern SetTiming- Pfads.
Syntax
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;
Angehörige
VidPnTargetId
Der Bezeichner des Videoziels eines Grafikkarten.
OutputColorSpace
Ein D3DDDI_COLOR_SPACE_TYPE Wert, der den für die transportierten Pixel vorgesehenen Ausgabefarbraum beschreibt. Der Treiber ist dafür verantwortlich, geeignete Metadaten zu senden, um sicherzustellen, dass das Anzeigegerät so eingerichtet ist, dass Pixel für diesen Farbraum richtig interpretiert werden.
Der Ausgabefarbraum wird so lange behoben, bis er von einem anderen SetTiming-Aufruf geändert wurde. Wenn der für dieses Ziel dargestellte Farbraum für die Swapchain anders als der Ausgabefarbraum ist, muss der Treiber während des Scanvorgangs in den Ausgabefarbraum konvertiert werden.
Wenn mehrere Pixelebenen für das Ziel aktiviert sind, muss der Treiber die Komposition der Ebenen in einem gültigen Kompositionsfarbraum ausführen, in der Regel ein linearer Raum zusätzlich zum Konvertieren der zusammengesetzten Pixel in den Ausgabefarbraum.
Da selectedWireFormat bereits die Farbcodierung angibt, und die Farbuntersampling-Subsampling wird outputColorSpace nur verwendet, um die Primar und Gammawerte zu bestimmen, mit denen die Pixelwerte codiert werden sollen; die anderen Elemente: Farbmodell, Bereich und Kositierung sollten ignoriert werden, da sie vom SelectedWireFormat definiert werden. Da es keine Pläne gibt, ST.2084 Gamma mit Rec.709-Primaren oder 2,2 Gamma mit Rec 2020-Primaren zu unterstützen, besteht das Ergebnis darin, dass in der RS2-Version nur zwei Werte vom Betriebssystem festgelegt werden:
- D3DDDI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 für SDR
- D3DDDI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 für HDR10
OutputWireColorSpace
Der D3DDDI_COLOR_SPACE_TYPE Enumerationstyp wird auch vom Betriebssystem verwendet, um den Eingabefarbraum von MPOs anzugeben, daher ist er ab WDDM 2.3 veraltet. WDDM 2.3 und höher sollten den neuen Typ D3DDDI_OUTPUT_WIRE_COLOR_SPACE_TYPE verwenden.
SelectedWireFormat
Ein D3DKMDT_WIRE_FORMAT_AND_PREFERENCE Wert, der das für den Pfad festzulegende Drahtformat angibt. Das Feld "Einstellung" ist in diesem Kontext reserviert, daher sollte der Treiber ignoriert werden. In den verbleibenden fünf Bitfeldern legt das Betriebssystem eines der dreißig Bits fest, um anzugeben, welche Farbcodierung und an welcher Bittiefe die Verknüpfung gesteuert werden soll.
Input
Input.VidPnPathUpdates
Beschreibt, wie die VidPn-Elemente, die diesem Pfad entsprechen, seit dem vorherigen erfolgreichen Aufruf geändert wurden.
Felder in der DXGK_SET_TIMING_PATH_INFO Struktur werden von dieser Zusammenfassung ausgeschlossen, sodass der Treiber diese Felder immer für änderungen auswerten muss. Wenn das Betriebssystem z. B. SetTimings aufruft, um den Monitor auf einem Pfad im Leerlauf zu setzen, wird das Aktive Flag gelöscht, und die VidPnPathUpdates werden auf DXGK_PATH_UPDATE_UNMODIFIED festgelegt, wenn dann SetTimings zum Einschalten des Monitors aufgerufen wird, wird das Aktive Flag festgelegt, und die VidPnPathUpdates werden weiterhin auf DXGK_PATH_UPDATE_UNMODIFIED festgelegt.
Input.Active
Wenn festgelegt, gibt an, dass der Pfad aktiviert oder aktiv bleiben soll. Wenn klar, gibt an, dass der Pfad deaktiviert oder inaktiv bleiben soll.
Input.IgnoreConnectivity
Wenn festgelegt, gibt an, dass der Treiber die Ausgabe an das Ziel erzwingen soll, obwohl kein Anzeigegerät erkannt wurde. Wenn dies deaktiviert ist, sollte der Treiber einen aktualisierten ConnectionStatus melden, wenn sich die Verbindung geändert hat.
Input.PreserveInherited
Wenn festgelegt, gibt an, dass der Treiber die Anzeigedauern und Inhalte beibehalten soll, die von einem vorherigen Treiber konfiguriert wurden. Dieses Kennzeichen wird nur verwendet, wenn der Adapter von einer anderen Instanz als der aktuellen Instanz des Treibers konfiguriert wurde. Zunächst wird dies verwendet, wenn der Pfad während des Starts von der Firmware initialisiert wurde. Wenn klar, wird kein spezielles Verhalten angefordert.
Input.SyncLockGroup
Synchronisierung der Sperrgruppeneingabe. Verfügbar ab WDDM 2.4. Gibt an, zu welcher Gruppe synchronisierter Pfade gehört. Da WDDM 2.4 - WDDM 2.6 nur eine einzelne Synchronisierungsgruppe pro Adapter unterstützt und die Synchronisierung nach Möglichkeit immer aktiviert ist, wird dieser Wert auf 1 festgelegt, wenn synchronisierungsfähige Displays aktiviert sind, und 0, wenn die Anzeige nicht synchronisiert werden muss und immer mit SyncLockStyle- von Wert DXGK_SYNC_LOCK_STYLE_NONE gekoppelt werden sollte.
Input.SyncLockStyle
Synchronisierungsstileingabe. Verfügbar ab WDDM 2.4. Gibt an, welche Art der Synchronisierung das Betriebssystem anfordert. Bei einem WDDM 2.4 - WDDM 2.6-Treiber wird dieser Wert auf DXGK_SYNC_LOCK_STYLE_IDENTICAL festgelegt, wenn Synchronisierungsfähige Displays aktiviert sind und andernfalls DXGK_SYNC_LOCK_STYLE_NONE.
Input.Reserved
Dieser Wert ist für die Systemverwendung reserviert.
InputFlags
Eine Reihe von Flags, die angeben, was das Betriebssystem tun möchte, was der Treiber tun soll.
Output
Output.RecheckMPO
Wenn festgelegt, gibt an, dass das Betriebssystem ein CheckMPO aufgrund von Änderungen auf diesem Pfad ausstellen muss.
Output.Reserved
Dieser Wert ist für die Systemverwendung reserviert.
OutputFlags
Eine Reihe von Flags, die Ergebnisse angeben, die das Betriebssystem beachten muss, die sich auf diesen Pfad beziehen.
TargetState
Gibt den Zielstatus als Ergebnis dieses Aufrufs an. Da das Ändern der Anzeigedauer den Verbindungsstatus von geänderten Zielen und Zielen verursachen kann, die vom Betriebssystem nicht geändert werden sollen, kommuniziert dieses Feld den Zustand für jeden Pfad.
Wenn der Zielstatus unverändert ist, sollte dieses Feld eine Kopie des letzten Zustands enthalten, der für das Ziel gemeldet wurde, einschließlich der gleichen ConnectionChangeId, die zuvor gemeldet wurde.
Wenn der Zielstatus geändert wird, sollte dieses Feld eine Kopie der in die Warteschlange eingereihten Verbindung enthalten, die den Zustand widerspiegelt, der sich aus dem SetTiming-Aufruf ergibt.
GlitchCause
Ein DXGK_GLITCH_CAUSE Wert, der angibt, welche zugrunde liegenden Änderungen in der Anzeigepipeline den Glitch verursacht haben.
GlitchEffect
Ein DXGK_GLITCH_EFFECT Wert, der angibt, wie der Glitch für den Benutzer angezeigt wurde.
GlitchDuration
Ein DXGK_GLITCH_DURATION Wert, der ungefähr angibt, wie lange der Glitch dauert. Dies soll widerspiegeln, wie lange das zugrunde liegende Problem vorhanden war, aber der sichtbare Effekt kann in einigen Fällen länger sein. Wenn die Synchronisierung beispielsweise lange genug verloren geht, damit ein Monitor erneut erkannt werden muss, dauert das Anzeigegerät wahrscheinlich viele Frames, um wiederherzustellen. Es ist die Länge des zugrunde liegenden Problems, das gemeldet werden sollte, nicht die Wiederherstellungszeit, da dies zwischen Geräten variieren wird.
Reserved
Dieser Wert ist für die Systemverwendung reserviert.
DiagnosticInfo
Satz von Informationen, die vom Treiber für jeden Pfad ausgefüllt wurden, um alle Nebenwirkungen der Timingänderung zu beschreiben. In vielen Fällen sind Störungen unvermeidlich, sodass diese Felder versuchen, die zugrunde liegende Ursache und den Umfang der Auswirkungen der Benutzer zu verstehen.
Anforderungen
Anforderung | Wert |
---|---|
Header- | d3dkmddi.h |