mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-25 15:56:00 +03:00
[PR #2330] [MERGED] Fix VideoOut events #2656
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#2656
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 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:
main← Head:videoout-fix-draft📝 Commits (8)
ae984b5Fix event data for VideoOut events94f64a6Cleanup1f28ed8Oopsfcd8b0bStyle fixesa01f209Clang3db766fFix libSceVideoOut event identseed81beFix?7704433Clang📊 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.