Skip to content
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

rsx: Partial handling of surface pitch change #12469

Merged
merged 5 commits into from
Aug 7, 2022
Merged

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Aug 5, 2022

If pitch of a surface is changed, the only way to preserve data is to do a cache flush and rebuild from raw memory. While this is a huge task in and of itself, we do not need to implement all of that. For now, just set erase background flag but keep the old memory access tag. This forces a memory reload.
Of course this setup falls on its face if certain combinations of options are enabled, so I'd like to get some testing going.
I will still implement the full version of this, but it will take a long while to get ready (some re-architecting is required).
The only game I found affected by this issue is R&C ACiT, but I'm sure there are others.

Fixes #11205

@JimScript
Copy link

JimScript commented Aug 5, 2022

BCUS98124_screenshot_2022_08_05_12_52_47
Hey, it fixes the blocking problem, but my RTX 2070 super is at 91% at this scene. I'm going to assume this is normal, but I have to ask if it is. Also this problem affects later R&C games as well, but just more intermittently.

Edit: I think this game is using more GPU because this PR also makes the effect much faster. In the Insomniac museum, there is a room with an effect that slows down the emulator. In 13974, you get ~35 fps with 71% GPU usage, but in this PR you get 45-60 fps with 92% GPU usage instead, thereby using more of the GPU(it may even be GPU bound at this point).
BCUS98124_screenshot_2022_08_05_13_40_01

@Jonathan44062
Copy link

Jonathan44062 commented Aug 5, 2022

This fixes when you use Ryno V
Master

Testeo.en.Master.mp4

PR

Testeo.en.PR.Fix.mp4

@kd-11
Copy link
Contributor Author

kd-11 commented Aug 5, 2022

Hey, it fixes the blocking problem, but my RTX 2070 super is at 91% at this scene. I'm going to assume this is normal, but I have to ask if it is. Also this problem affects later R&C games as well, but just more intermittently.

Performance is a little weird with some of the games in this series. It will be fixed in future.

@kd-11 kd-11 changed the title [TESTERS NEEDED] rsx: Partial handling of surface pitch change rsx: Partial handling of surface pitch change Aug 7, 2022
@kd-11 kd-11 merged commit 61a055a into RPCS3:master Aug 7, 2022
@Augusto7743
Copy link

@kd-11
Thanks very much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ratchet & Clank: A Crack in Time particles get progressively more broken
5 participants