VideoOut
VideoOut はゲストの表示用バッファを登録し、表示のコールバックがフレームを受け付けた後にだけフリップを完了させます。ホストのウィンドウは 1080p SDR の Vulkan のスワップチェーンです。
2026年10月10日 までのリポジトリノート
登録とフリップ
VideoOut は登録済みの表示用の割り当てを最大 16 個、属性グループを 4 つ保持します。ドライバーの ABI が使う連続した 16 ラベルのレコードを公開します。登録、変更、登録解除は検証されます。タイトルが起動時に使う、バッファ -1 の空のフリップは受け付けます。
CPU のフリップとエンドオブパイプのフリップは、実行中のコマンドバッファのバックエンドを通ります。通常のフリップは、表示のコールバックがフレームを受け付けた後にだけ完了します。完了は呼び出し側のユーザーデータとともに VideoOut のイベントキューで届きます。キューのフィルターはカーネルが使うのと同じユーザーエッジのイベントの実装で、登録の識別子は保たれます。
ホストが表示するもの
ゲームのウィンドウは Vulkan のスワップチェーンです。VideoOut は 1080p SDR を報告します。120 Hz は利用できないと報告します。既定のゲームの設定ではパフォーマンスモードを求めます。内部解像度はタイトルの制御下にあり、4K で描画するゲームは引き続き 4K のターゲットを割り当て、スワップチェーンはタイトルが登録したスキャンアウトを表示します。
SetFlip は VideoOut のスロットとバッファのインデックスを解決し、一致するゲストのアドレスを持つキャッシュ済みのターゲットを選んで、フレームを公開します。フリップのレートはウィンドウのタイトルに表示できます。ランチャーがこの設定を保存し、コマンドラインからの実行では PS5_SHOW_FPS=1 を設定できます。
ムービーとスキャンアウト
イントロのムービーも VideoOut を迂回しません。AvPlayer はタイトルが所有するバッファにデコードし、タイトル自身のシェーダーか登録されたスキャンアウトがそれを表示します。アステリックスはゲストの高さが負のビューポートをスキャンアウトの向きとして保つため、合成結果が出力の途中で上下逆さまになりません。
Vulkan のローダー、表示用のデバイス、ウィンドウのいずれかがない場合は報告され、タイトルはヘッドレスの経路で続行します。ヘッドレスは診断のためのもので、2 つ目の高速なレンダラーではありません。
実装済みのこと
- 最大 16 個の表示用バッファ、4 つの属性グループ、16 ラベルの ABI。
- 表示のコールバックがフレームを受け付けた後にだけ完了するフリップ。
- 1080p SDR を報告し、120 Hz は利用不可のままにする Vulkan のスワップチェーン。
- 既定でのパフォーマンスモードの設定と、オプションのフリップレートのタイトル表示。
まだ足りないこと
- 120 Hz とホストの HDR のスワップチェーンは提供していません。
- 内部解像度はタイトルが割り当てるとおりです。
- 表示用のデバイスがなければ、プロセスはヘッドレスのままです。
関連するしくみ
これらのページについて