Freigeben über


IDDCX_ADAPTER_FLAGS-Enumeration (iddcx.h)

IDDCX_ADAPTER_FLAGS gibt die booleschen Funktionsflags für einen indirekten Grafikkarte an.

Syntax

typedef enum IDDCX_ADAPTER_FLAGS {
  IDDCX_ADAPTER_FLAGS_NONE = 0,
  IDDCX_ADAPTER_FLAGS_USE_SMALLEST_MODE = 0x1,
  IDDCX_ADAPTER_FLAGS_CAN_USE_MOVE_REGIONS = 0x2,
  IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER = 0x4,
  IDDCX_ADAPTER_FLAGS_PREFER_PHYSICALLY_CONTIGUOUS = 0x8,
  IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION = 0x10,
  IDDCX_ADAPTER_FLAGS_PREFER_PRECISE_PRESENT_REGIONS = 0x20,
  IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 = 0x40,
  IDDCX_ADAPTER_FLAGS_REMOTE_ALL_TARGET_MODES_MONITOR_COMPATIBLE = 0x80
} ;

Konstanten

 
IDDCX_ADAPTER_FLAGS_NONE
Wert: 0
Gibt an, dass für den Adapter keine Flags festgelegt sind.
IDDCX_ADAPTER_FLAGS_USE_SMALLEST_MODE
Wert: 0x1
Das indirekte Anzeigemodell unterstützt automatisch virtuelle Betriebssystemmodi, sodass das Betriebssystem Modusänderungen nahtlos mithilfe der DWM-Skalierung (Desktop Window Manager) pro Frame durchführen kann, ohne dass sich der Anzeigemodus ändert. Ein Nachteil tritt auf, wenn der Benutzer einen kleineren Desktopmodus verwendet: Das dem Treiber bereitgestellte Desktopimage ist größer als die Desktopgröße, wodurch Codierungs- und Übertragungsbandbreite verbraucht wird.

Dieser Enumerationswert weist das Betriebssystem an, die kleinstmögliche Desktopoberfläche zu verwenden, wenn der Desktopmodus geändert wird. Eine Lösung mit großem Verarbeitungsaufwand oder begrenzter Übertragungsbandbreite verwendet in der Regel dieses Flag, um die Größe des Desktopimages zu reduzieren, um so viel wie möglich zu verarbeiten.

Das Festlegen dieses Flags führt bei jeder Änderung der Desktopauflösung zu einer Modusänderung.
IDDCX_ADAPTER_FLAGS_CAN_USE_MOVE_REGIONS
Wert: 0x2
Dieses Flag wurde ab IddCx v1.7 als veraltet markiert. Treiber können dieses Flag weiterhin für IddCx 1.7 und höher festlegen, aber es hat keine Auswirkungen. Wenn ein Treiber für die Ausführung vor IddCx 1.7 konzipiert ist und dieses Flag festlegt, muss dieser Treiber über die Logik zum Verarbeiten der Verschiebungen verfügen. Andernfalls werden Benutzern visuelle Probleme angezeigt, wenn sie auf Vor-IddCx 1.7-Systemen ausgeführt werden.

Gibt an, ob der Treiber beim Codieren des Bilds zusätzlich zu modifiziert Rects vom Betriebssystem bereitgestellte Verschiebungsregionen verwenden kann. Der Treiber sollte dies nur auf TRUE festlegen, wenn er die Verschiebungsregionen verwendet, da dem Betriebssystem beim Generieren dieser zusätzlichen Ressourcen Kosten entstehen. Wenn der Treiber dies auf FALSE festlegt, konvertiert das Betriebssystem alle Verschiebungsregionen in modifiziert Rects.
IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER
Wert: 0x4
Gibt an, ob der Treiber ein Remotesitzungstreiber ist, der Remotesitzungsmonitore und nicht Konsolensitzungsmonitore unterstützt. Ein Remotesitzungstreiber unterstützt keine Konsolensitzungsmonitore, und ein Konsolensitzungstreiber kann keine Remotesitzungsmonitore unterstützen. Unterstützt ab IddCx Version 1.4.
IDDCX_ADAPTER_FLAGS_PREFER_PHYSICALLY_CONTIGUOUS
Wert: 0x8
Gibt an, dass der Treiber den physisch zusammenhängenden Arbeitsspeicher bevorzugt, der für Swapchainpuffer verwendet werden soll, sodass der Treiber die Puffer ohne Zwischenkopie direkt auschecken kann. Unterstützt ab IddCx Version 1.6.
IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION
Wert: 0x10
Gibt an, dass der Treiber alle Änderungen der Cursorposition empfangen möchte; Das heißt, es möchte sowohl Mauseingaben empfangen, die vom Remoteclient in die Remotesitzung eingefügt werden, als auch prozedurale Verschiebungen, die durch einen API-Aufruf von einer Anwendung oder dem Betriebssystem auf dem Server verursacht werden.

Dieses Flag ist nur gültig, wenn es mit IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER kombiniert wird. IddCxAdapterInitAsync schlägt fehl, wenn IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION ohne IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER festgelegt ist.

Unterstützt ab IddCx Version 1.7.
IDDCX_ADAPTER_FLAGS_PREFER_PRECISE_PRESENT_REGIONS
Wert: 0x20
Ein Treiber, der dieses Flag festlegt, fordert das Betriebssystem auf, modifiziert Regionen der Desktopupdates genauer nachzuverfolgen. Diese genauere Nachverfolgung hat einen geringen CPU-Auslastungsaufwand, sodass Treiber dieses Flag nur festlegen sollten, wenn kleinere modifiziert Regionen für den Treiber von Vorteil sind.

Unterstützt ab IddCx Version 1.8.
IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16
Gibt an, dass der Treiber IEEE-Swapchainoberflächen mit halber Genauigkeit (FP16) verarbeiten kann. Ein Treiber sollte IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 auch für Adapter festlegen, die HDR oder SDR WCG nicht unterstützen. Das Betriebssystem sendet HDR- oder SDR-WC-Oberflächen und -Modi an den Treiber, wenn die richtige Kombination aus Monitor, Zielfunktionen, O-Einstellungen usw. vorhanden ist. Daher muss ein Treiber, der IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 festlegt, auch die IddCx-Funktionen der Version 1.10 unterstützen, die dies ermöglichen. Ein Treiber, der HDR10 unterstützt, muss in der Lage sein:

* Empfangen und Verarbeiten von FP16-Formatoberflächen innerhalb einer Swapchain.
* Anwenden des angegebenen SDR-Weißwerts auf Mauscursor.

Konsolentreiber müssen außerdem:

* Verwenden Sie die neue 3x4-Matrixfarbtransformation.
* Akzeptieren und verwenden Sie HDR-Metadaten.

Remotetreiber müssen außerdem:

* Geben Sie bei Bedarf Farbmetrik und SDR-Weißwert an.

Unterstützt ab IddCx Version 1.10. Siehe Hinweise.
IDDCX_ADAPTER_FLAGS_REMOTE_ALL_TARGET_MODES_MONITOR_COMPATIBLE
Wert: 0x80
Nur Remotetreiber können dieses Flag festlegen.

Remotetreiber können IDDCX_ADAPTER_FLAGS_ALL_TARGET_MODES_MONITOR_COMPATIBLE verwenden, um Zielmodi anzugeben, die nicht Teil eines Monitordeskriptors sind. Normalerweise wählt das Betriebssystem einen Modus aus, der darauf basiert, dass er sich in der Liste des Überwachungs- und Zielmodus befindet, der entweder über EVT_IDD_CX_PARSE_MONITOR_DESCRIPTION oder EVT_IDD_CX_MONITOR_GET_DEFAULT_DESCRIPTION_MODES gemeldet wird, wenn kein Deskriptor verfügbar ist, und die Zielmodusliste. Remoteszenarien erfordern möglicherweise Modi, die nicht im Deskriptor enthalten sind. Stattdessen kann der Treiber Zielmodi verwenden, um sie zu beschreiben und dem Betriebssystem mitzuteilen, dass sie nicht mit den Überwachungsmodi überprüft werden sollen.

Wenn ein Remotetreiber dieses Flag festlegt, gibt dies an, dass jeder Zielmodus, der in Aufrufen von EVT_IDD_CX_MONITOR_QUERY_TARGET_MODES2 und IddCxMonitorUpdateModes2 gemeldet wird, garantiert mit dem aktuell verbundenen Monitor kompatibel ist. Das Betriebssystem ruft dann EVT_IDD_CX_PARSE_MONITOR_DESCRIPTION2 oder EVT_IDD_CX_MONITOR_GET_DEFAULT_DESCRIPTION_MODES nicht auf.

Unterstützt ab IddCx Version 1.10. Siehe Hinweise.

Hinweise

Um zu bestimmen, ob das Betriebssystem Treibereinstellungen IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 oder IDDCX_ADAPTER_FLAGS_ALL_TARGET_MODES_MONITOR_COMPATIBLE akzeptiert, sollte der Treiber das makro IDD_IS_FUNCTION_AVAILABLE verwenden, um zu überprüfen, ob eine der DDIs der Version 1.10 vorhanden ist. z. B IDD_IS_FUNCTION_AVAILABLE(IddCxSwapChainReleaseAndAcquireBuffer2). . Dieses Makro wird auf einem v1.10-unterstützten Betriebssystem als TRUE ausgewertet, andernfalls false. Weitere Informationen finden Sie unter Updates für IddCx-Versionen 1.10 und höher.

Anforderungen

Anforderung Wert
Header iddcx.h

Weitere Informationen

IDDCX_ADAPTER_CAPS

IddCxAdapterInitAsync