VideoOut
VideoOut registra los búferes de presentación del invitado y completa un flip solo después de que el callback de presentación ha aceptado el fotograma. La ventana del anfitrión es un swapchain de Vulkan a 1080p SDR.
Notas del repositorio hasta el 10 de octubre de 2026
Registro y flips
VideoOut conserva hasta dieciséis asignaciones de presentación registradas y cuatro grupos de atributos. Publica el registro contiguo de dieciséis etiquetas que usa la ABI del controlador. El registro, el cambio y la baja se validan. Se acepta un flip en blanco del búfer -1, que los títulos usan durante el arranque.
Los flips de CPU y los flips end-of-pipe pasan por el backend vivo de búfer de comandos. Un flip normal queda completo solo después de que el callback de presentación acepta el fotograma. La finalización se entrega en la cola de eventos de VideoOut con los datos de usuario de quien llama. El filtro de la cola es la misma implementación de eventos user-edge que usa el kernel, y se conserva el identificador del registro.
Qué presenta el anfitrión
La ventana del juego es un swapchain de Vulkan. VideoOut informa de 1080p SDR. Se informa de que 120 Hz no está disponible. La preferencia de juego predeterminada pide el modo de rendimiento. La resolución interna sigue bajo el control del título: un juego que renderiza a 4K sigue asignando destinos 4K, y el swapchain presenta el scanout que registró el título.
SetFlip resuelve la ranura de VideoOut y el índice del búfer, elige el destino en caché con la dirección de invitado coincidente y publica el fotograma. La tasa de flips puede mostrarse en el título de la ventana. El lanzador guarda esa preferencia, y una ejecución por línea de comandos puede fijar PS5_SHOW_FPS=1.
Películas y el scanout
Las películas de intro no se saltan VideoOut. AvPlayer descodifica hacia búferes que posee el título, y los shaders propios del título o un scanout registrado los presentan. Asterix conserva el viewport de altura negativa del invitado como orientación del scanout, de modo que la composición no sale boca abajo.
Un cargador Vulkan ausente, un dispositivo de presentación ausente o una ventana ausente se informa, y el título continúa por la ruta sin interfaz. El modo sin interfaz es para diagnóstico. No es un segundo renderizador, más rápido.
Qué está implementado
- Hasta dieciséis búferes de presentación, cuatro grupos de atributos y la ABI de dieciséis etiquetas.
- Flips que se completan solo después de que el callback de presentación acepta el fotograma.
- Un swapchain de Vulkan que informa de 1080p SDR, con 120 Hz dejado como no disponible.
- Preferencia de modo de rendimiento de forma predeterminada, y un título de ventana opcional con la tasa de flips.
Qué falta todavía
- No se ofrecen 120 Hz ni un swapchain HDR del anfitrión.
- La resolución interna es la que asigne el título.
- Sin un dispositivo de presentación, el proceso permanece sin interfaz.
Mecanismos relacionados
Qué describen estas páginas