-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[Task] Implement surface pitch transformation to enable proper data inheritance. #10208
Comments
Thanks very much kd-11 :-) |
Implemented locally, but I need some other code to first get upstream before this can be introduced to the core product. I also have some minor performance concerns about this, but optimization is possible before submission. |
I waited loooooong for this changes :) WCB/WDB function broken in many games (GT6, Beyond Good&Evil, FC3, etc) |
@kd-11 |
Yea, it is mostly done, I just had some problems with it and took a break to work on other things first. It should be completed this quarter nonetheless. |
Ultra Dimension NeptuneV WCB function is broken. |
Hi KD-11 ! :) |
The workplan is still ongoing. I only paused briefly to work on other things for a while to avoid burnout. There are a couple of things I'm working on right now, I'll resume once that is done. |
Thank you ! |
This has become increasingly more important as it is the only fix for the CPU-blit vs GPU-blit differences that we still have. It is an insane amount of work though so I won't rush it. I'll likely start working on it towards the middle of the year. |
Sincerely ... RPCS3 current version run all my PS3 disc games .. only few issues in some games not breaking the gameplay. Your more recent work in WCB+RCB and others settings has done an boost in performance. Some games are having issues. After I post in correct topic WCB+RDB topic about it. and even if you not had done recent optimizations I wish goo luck for you ... You have done much work and need return in you path. |
Relates to #9133
This causes data leaks which then become a serious problem when WCB/WDB interaction comes into play.
Flow:
Surface A, pitch X modifies memory.
Surface B, pitch Y also modifies the memory. Modifications at A should be present at B but due to pitch mismatch, they are lost with the current setup.
Surface B, which does not contain the correct data inherited from A, is written to CELL.
Surface A fails memory test later and is reconstructed using memory from CELL which now has holes in the render.
This is what causes games to render incorrectly when RCB/RDB is enabled. Pitch translation is critical for getting buffer recreation to load from memory instead of clearing to 0.
Workplan (new implementation)
NOTE: Sub-tasks restructured to remove aggressive changes that would have broken resolution scaling.
The text was updated successfully, but these errors were encountered: