[PR #2330] [MERGED] Fix VideoOut events #2656

Closed
opened 2026-02-27 22:00:44 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/2330
Author: @StevenMiller123
Created: 2/2/2025
Status: Merged
Merged: 2/3/2025
Merged by: @georgemoralis

Base: mainHead: videoout-fix-draft


📝 Commits (8)

📊 Changes

5 files changed (+69 additions, -10 deletions)

View changed files

📝 src/core/libraries/kernel/equeue.cpp (+5 -1)
📝 src/core/libraries/kernel/equeue.h (+20 -0)
📝 src/core/libraries/videoout/driver.cpp (+6 -4)
📝 src/core/libraries/videoout/video_out.cpp (+22 -4)
📝 src/core/libraries/videoout/video_out.h (+16 -1)

📄 Description

The data for events with the VideoOut filter is packed in a very specific way, containing an event id, timestamp, and the flip argument. Our prior code only passed along the flip argument, and didn't fill the data bytes accurately. As a result, games checking the event data on VideoOut events weren't seeing the expected data.

This PR adds a new function that fills the data for VideoOut events based on some decompilation work shared by @red-prig. Handling this properly fixes the early hang in The Last of Us Remastered (CUSA00552).


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/2330 **Author:** [@StevenMiller123](https://github.com/StevenMiller123) **Created:** 2/2/2025 **Status:** ✅ Merged **Merged:** 2/3/2025 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `videoout-fix-draft` --- ### 📝 Commits (8) - [`ae984b5`](https://github.com/shadps4-emu/shadPS4/commit/ae984b5ff5974dbf8f4a804ae184ad6a430df918) Fix event data for VideoOut events - [`94f64a6`](https://github.com/shadps4-emu/shadPS4/commit/94f64a6e6f6269ba26e49336fc7c3101822ea165) Cleanup - [`1f28ed8`](https://github.com/shadps4-emu/shadPS4/commit/1f28ed88861fca10ac2623e2b57f32878ed95ad6) Oops - [`fcd8b0b`](https://github.com/shadps4-emu/shadPS4/commit/fcd8b0bbee23bc252f6cb411310bf76f40fd5882) Style fixes - [`a01f209`](https://github.com/shadps4-emu/shadPS4/commit/a01f20966a7e7670dd2019b425b9c56e7026e6bf) Clang - [`3db766f`](https://github.com/shadps4-emu/shadPS4/commit/3db766fb1250d26da161680b6e271a2fc2f477f7) Fix libSceVideoOut event idents - [`eed81be`](https://github.com/shadps4-emu/shadPS4/commit/eed81bebcbec88ba7c20f30a8275cccda119d9e0) Fix? - [`7704433`](https://github.com/shadps4-emu/shadPS4/commit/7704433c7db2c3e225b81da828e1f6112274cea4) Clang ### 📊 Changes **5 files changed** (+69 additions, -10 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/kernel/equeue.cpp` (+5 -1) 📝 `src/core/libraries/kernel/equeue.h` (+20 -0) 📝 `src/core/libraries/videoout/driver.cpp` (+6 -4) 📝 `src/core/libraries/videoout/video_out.cpp` (+22 -4) 📝 `src/core/libraries/videoout/video_out.h` (+16 -1) </details> ### 📄 Description The data for events with the VideoOut filter is packed in a very specific way, containing an event id, timestamp, and the flip argument. Our prior code only passed along the flip argument, and didn't fill the data bytes accurately. As a result, games checking the event data on VideoOut events weren't seeing the expected data. This PR adds a new function that fills the data for VideoOut events based on some decompilation work shared by @red-prig. Handling this properly fixes the early hang in The Last of Us Remastered (CUSA00552). --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:00:44 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#2656
No description provided.