Перейти к содержимому
PS5PCEM
РаботаетГрафика

VideoOut

VideoOut регистрирует буферы изображения гостя и завершает переворот только после того, как обратный вызов представления принял кадр. Окно хоста — это цепочка обмена Vulkan в 1080p SDR.

Заметки репозитория по 10 октября 2026 г.

Регистрация и перевороты

VideoOut держит до 16 зарегистрированных выделений изображения и 4 группы атрибутов. Он публикует непрерывную запись из 16 меток, которую использует ABI драйвера. Регистрация, изменение и снятие регистрации проверяются. Пустой переворот буфера -1, которым игры пользуются при запуске, принимается.

Перевороты CPU и перевороты конца конвейера идут через живой бэкенд буфера команд. Обычный переворот становится завершённым только после того, как обратный вызов представления принимает кадр. Завершение доставляется в очередь событий VideoOut с пользовательскими данными вызывающего. Фильтр очереди — та же реализация событий пользовательского края, что у ядра, и идентификатор регистрации сохраняется.

Что показывает хост

Окно игры — цепочка обмена Vulkan. VideoOut сообщает 1080p SDR. 120 Hz сообщается как недоступный. Предпочтение игры по умолчанию просит режим производительности. Внутреннее разрешение остаётся под контролем игры: игра, которая рендерит в 4K, всё равно выделяет цели 4K, а цепочка обмена показывает тот скан-аут, который зарегистрировала игра.

SetFlip разрешает слот VideoOut и индекс буфера, выбирает кэшированную цель с совпадающим гостевым адресом и публикует кадр. Частоту переворотов можно показать в заголовке окна. Лаунчер хранит это предпочтение, а запуск из командной строки может задать PS5_SHOW_FPS=1.

Фильмы и скан-аут

Вступительные фильмы не обходят VideoOut. AvPlayer декодирует в буферы, которыми владеет игра, а собственные шейдеры игры или зарегистрированный скан-аут их показывают. Asterix сохраняет отрицательную высоту окна просмотра гостя как ориентацию скан-аута, поэтому композит не переворачивается вверх ногами на выходе.

Отсутствующий загрузчик Vulkan, отсутствующее устройство представления или отсутствующее окно сообщаются, и игра продолжает путь без окна. Режим без окна нужен для диагностики. Это не второй, более быстрый рендерер.

Что реализовано

  • До 16 буферов изображения, 4 группы атрибутов и ABI из 16 меток.
  • Перевороты, которые завершаются только после того, как обратный вызов представления принял кадр.
  • Цепочка обмена Vulkan, сообщающая 1080p SDR, при этом 120 Hz остаётся недоступным.
  • Предпочтение режима производительности по умолчанию и необязательный заголовок с частотой переворотов.

Чего ещё нет

  • 120 Hz и цепочка обмена HDR хоста не предлагаются.
  • Внутреннее разрешение — то, что выделяет игра.
  • Без устройства представления процесс остаётся без окна.

Связанные механизмы

Чему посвящены эти страницы

Текст следует архитектурным заметкам и отчётам октября 2026 года в репозитории PS5PCEM. Пройденный точечный тест — это не новая частота кадров и не новое прохождение.

Все технологии