VideoOut
VideoOut registriert die Anzeigepuffer des Gastes und schließt einen Flip erst ab, nachdem der Darstellungsrückruf das Bild angenommen hat. Das Host-Fenster ist eine Vulkan-Swapchain in 1080p SDR.
Repository-Notizen bis 10. Oktober 2026
Registrierung und Flips
VideoOut hält bis zu sechzehn registrierte Anzeigezuteilungen und vier Attributgruppen. Es veröffentlicht den zusammenhängenden Datensatz aus sechzehn Labels, den die Treiber-ABI nutzt. Registrieren, Ändern und Abmelden werden geprüft. Ein leerer Flip von Puffer -1, den Titel beim Start nutzen, wird angenommen.
CPU-Flips und End-of-Pipe-Flips laufen über das Backend der lebenden Befehlspuffer. Ein normaler Flip wird erst abgeschlossen, nachdem der Darstellungsrückruf das Bild angenommen hat. Der Abschluss wird auf der VideoOut-Ereigniswarteschlange mit den Nutzerdaten des Aufrufers zugestellt. Der Warteschlangenfilter ist dieselbe User-Edge-Ereignisumsetzung, die der Kernel nutzt, und die Kennung der Registrierung bleibt erhalten.
Was der Host ausgibt
Das Spielfenster ist eine Vulkan-Swapchain. VideoOut meldet 1080p SDR. 120 Hz wird als nicht verfügbar gemeldet. Die Standardvoreinstellung des Spiels verlangt den Leistungsmodus. Die interne Auflösung bleibt unter der Kontrolle des Titels: Ein Spiel, das in 4K zeichnet, teilt weiterhin 4K-Ziele zu, und die Swapchain gibt den Scanout aus, den der Titel registriert hat.
SetFlip löst den VideoOut-Slot und den Pufferindex auf, wählt das zwischengespeicherte Ziel mit der passenden Gastadresse und veröffentlicht das Bild. Die Flip-Rate kann im Fenstertitel angezeigt werden. Der Launcher speichert diese Voreinstellung, und ein Lauf von der Kommandozeile kann PS5_SHOW_FPS=1 setzen.
Filme und der Scanout
Introfilme umgehen VideoOut nicht. AvPlayer dekodiert in Puffer, die dem Titel gehören, und die eigenen Shader des Titels oder ein registrierter Scanout geben sie aus. Asterix behält den Viewport des Gastes mit negativer Höhe als Ausrichtung des Scanouts, sodass die Komposition auf dem Weg nach draußen nicht auf den Kopf gestellt wird.
Ein fehlender Vulkan-Loader, ein fehlendes Ausgabegerät oder ein fehlendes Fenster wird gemeldet, und der Titel läuft auf dem Pfad ohne Ausgabe weiter. Der Betrieb ohne Ausgabe dient der Diagnose. Er ist kein zweiter, schnellerer Renderer.
Was umgesetzt ist
- Bis zu sechzehn Anzeigepuffer, vier Attributgruppen und die ABI mit sechzehn Labels.
- Flips, die erst abgeschlossen werden, nachdem der Darstellungsrückruf das Bild angenommen hat.
- Eine Vulkan-Swapchain, die 1080p SDR meldet, wobei 120 Hz nicht verfügbar bleibt.
- Standardmäßig die Voreinstellung Leistungsmodus und optional die Flip-Rate im Fenstertitel.
Was noch fehlt
- 120 Hz und eine HDR-Swapchain des Hosts werden nicht angeboten.
- Die interne Auflösung ist das, was der Titel zuteilt.
- Ohne Ausgabegerät bleibt der Prozess ohne Ausgabe.
Verwandte Mechanismen
Worum es auf diesen Seiten geht