-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
video_core: Readbacks proof of concept #2668
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Updates buffer cache memory tracker and page manager to read protect gpu modified pages. At the moment this is stubbed and doesn't do anything but it can be used to download gpu memory if guest attempts to read it
Downloading memory on every page fault is super slow but will suffice to test for now
Rewind allows guest to self modify its command list and synchronize properly. Oftentimes the value its polling is supposed to be written by a compute shader, thus it will never happen with nullgpu. Ignore the packet to avoid freezing in such case
3e131b7
to
dda2e71
Compare
This fixes the vertex explosions in Lego games, but Lego Movie 2 softlocks on the loading screen when trying to go ingame. I'll attach a log soon |
This fixed the vertex explosion in the bloodborne. When changing hair style and beard, no more vertex explosion but flash once. |
Correct memory readback is more important right now than overall speed... |
For Bloodborne, as imutig commented, the vertex explosions do still occur but then immediately get corrected after, and performance is indeed greatly affected. I also noticed that the previous issues regarding issues with the dma data particles (3+ second freezing, rainbow light explosions which could also be a kind of vertex explosions) seem to be fixed as well by this (based on a 15 minute test in a problematic area) |
248cb25
to
c309e1d
Compare
Fixes menu graphics in Uncharted 3 (I've loaded it through Uncharted: The Nathan Drake Collection, though based on what I've seen, this should affect the standalone version of the game too) Main: Fixes powerwashing in PowerWash Simulator Main: |
Persona 5 Royal is significantly more unstable with this build, frequently crashing on access violations during menus and ingame. The crashes appear to be random, this log shows one that occurred after skipping the intro cutscene. Here's a log from the current main build to compare: |
https://github.com/user-attachments/assets/00673fee-100e-4b98-8fd2-fd3456599ba4 Most people have said that vertex explosions in Bloodborne now only last for a frame and get fixed afterwards, but that wasn't the case for me. They can also stay buggy for a long time unless you swap hair. Curiously, alt-tabbing can also fix them for some reason. Performance is indeed highly impacted, excited for more performant variants of this :D |
4fafd99
to
2524f40
Compare
Not sure if it was by chance but v. explosions seem kinda worse in BB: For some reason now color is also misbehaving sometimes: Performance is indeed slightly improved (went from 16-17 to 21-22fps in BB at 4k, without this PR I have 36) |
Readbacks are complex to get right, even more so to do that fast. At the moment they are implemented in relatively slowish way to test for correctness/data-validity. Before merging performance will be considered