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

Surface configuration works inconsistently #9133

Open
5 of 10 tasks
kd-11 opened this issue Oct 25, 2020 · 33 comments
Open
5 of 10 tasks

Surface configuration works inconsistently #9133

kd-11 opened this issue Oct 25, 2020 · 33 comments
Assignees
Labels
Bug Epic Meta-issue that is tied to many other open issues. RSX

Comments

@kd-11
Copy link
Contributor

kd-11 commented Oct 25, 2020

"Ideal world conditions" are supposed to be perfect as far as emulation goes, but for some reason, games are negatively affected when they are enabled (WCB+WDB+RCB+RDB). This is because these options are rarely if ever used in combination by actual users so we don't see any bug reports for them. This is a tracker to get this issue solved.

Work items

  • Text is broken in madden series if RCB or WDB is enabled. (Cause discovered)
  • R&C ACiT is hilariously broken with ideal world settings.
  • Puzzle Dimension has broken visuals with Vulkan when RCB is enabled. OpenGL is not affected.
  • Fix pitch mismatch data loss. [Task] Implement surface pitch transformation to enable proper data inheritance. #10208
  • Fix data loss due to silent modification. Tag system needs to be updated. This affects a lot of games not just Madden.
  • DMA detiling. Local work exists for a long time, but performance is poor. This is the cause of SPU glitching.
  • MotoGP08 gets corrupted graphics when RDB is enabled.

Finally

  • Merge RCB+RDB
  • Merge WCB + WDB
  • Blit engine write to surface cache data does not enforce protection.

Blocks #9107

NOTE: If adding issues here, ignore titles that have broken SPU post-processing as that is very likely to be unrelated to the problems I am talking about. SPU post-process bug is characterized by random noisy squares on the screen with part correct visuals intersecting with incorrect/corrupt sections and will usually go away when "SPU mlaa" is disabled with a patch.

@Satan86
Copy link

Satan86 commented Nov 13, 2020

Car reflection on GT6 is broken with RCB enabled
screenshot-2020_11_13_18_57_08

@kd-11
Copy link
Contributor Author

kd-11 commented Nov 14, 2020

That issue can be caused by using patches that affect movement of data (MLAA patch for example), not having the other data synchronization options enabled, or more likely the texture leakage mentioned in #9107. The reflection surface is detected as being corrupted and removed, so only black output is left.

@Caladain
Copy link

Caladain commented Dec 6, 2020

Would you like me to regress the games I have now (and in the future) with WCB+WDB+RCB+RDB in addition to the standard default config testing?

@kd-11
Copy link
Contributor Author

kd-11 commented Dec 6, 2020

That isn't necessary right now. I'll be doing some rewrites in a few weeks, you'll see an 'in progress' label on this ticket when that time comes. If you do want to test, you can still do so, but any bugs found must be reported here. Do not open separate issues for them.

@kd-11 kd-11 added Epic Meta-issue that is tied to many other open issues. In Progress This issue is actively being investigated at the moment. labels Apr 13, 2021
@kd-11
Copy link
Contributor Author

kd-11 commented Apr 15, 2021

Merger of buffer options is done, but I first need to diagnose what is wrong with enabling both at the same time before that change can be merged. For anyone curious about testing #10119

@kd-11 kd-11 linked a pull request Apr 18, 2021 that will close this issue
@kd-11
Copy link
Contributor Author

kd-11 commented Apr 20, 2021

With current code, text in madden still disappears, but reappears and renders correctly after a short while. This disappearance still needs investigation as it shows that some data was lost even if temporarily. Root cause is as of yet unknown.

@kd-11
Copy link
Contributor Author

kd-11 commented Apr 20, 2021

ACiT shows vertex buffer corruption at the great clock, a sign that invalid overwrites are happening. Likely the same phenomenon affecting Madden, more work remains to be done in write buffers code, specifically WDB in this case.

@kd-11
Copy link
Contributor Author

kd-11 commented Apr 23, 2021

ACiT bug is fixed with #10184

@kd-11
Copy link
Contributor Author

kd-11 commented Apr 23, 2021

Madden renders correctly with WCB+WDB (with my experimental branch #10119) but RCB still causes text to disappear. This issue seems to be caused by something different.

@kd-11
Copy link
Contributor Author

kd-11 commented Apr 28, 2021

#10208 Documents the cause of the strange visual bugs observed in some games and tracks the implementation as well.

@kd-11
Copy link
Contributor Author

kd-11 commented Jun 6, 2021

Finally figured out the final piece of the puzzle. I'll need to improve communication between the surface and texture caches which are unfortunately separate due to historical reasons.

@Darkhost1999

This comment was marked as resolved.

@Darkhost1999

This comment was marked as resolved.

@kd-11
Copy link
Contributor Author

kd-11 commented Aug 27, 2022

Thanks. Yes, report here if buffer options trigger bugs.

@Darkhost1999

This comment was marked as resolved.

@Zackpunky
Copy link

hey there ! sorry to necro this thread but i noticed this issue in most madden games
either black playfield or no texts
is there a solution?

@kd-11
Copy link
Contributor Author

kd-11 commented Nov 30, 2022

There are solutions, but not something an end user can easily set up on their end. Most of the solutions will bring your fps down to single digits if you tried to enable developer debug build options. Just be a little patient. Progress has been made and I hope to have it out in the next few weeks before the year comes to an end.

@Triticum0
Copy link

#12946 Broken setting menu with WCB

@Ordinary205
Copy link
Contributor

Enabling RCB causes extra graphical bug on Need for Speed The Run.

WCB
Works

WCB+RCB
Doesnt

WCB:
RPCS3.log.gz

WCB+RCB:
RPCS3.log.gz

This issue happens to all frostbite games.

@Darkhost1999
Copy link
Contributor

Thanks. Yes, report here if buffer options trigger bugs.

#7308 (comment)

@Triticum0
Copy link

Triticum0 commented Jun 24, 2023

enable WCB+RCB on pes 2014/15/16/17/18 causes graphical glitches
NPUB90987_screenshot_2023_06_24_10_11_34

@Darkhost1999
Copy link
Contributor

Thanks. Yes, report here if buffer options trigger bugs.

It seems that Write Color buffers causes more freezing in games prone to freezes than leaving the setting off.
Example games so far

  • Oblivion (wcb fixes save icons)
  • Skyrim (wcb fixes save icons)
  • Fallout 3 (wcb fixes save icons)
  • Assassin's creed 3 (wcb + rcb fixes water)
  • Assassin's creed 4 (wcb + rcb fixes water)
  • Assassin's creed rogue (wcb + rcb fixes water)

I would say Dishonored also is more prone to freezes with wcb simply because accurate getllar recovers the freezes when wcb is disabled. But when enabled the freeze doesn't recover.
Frequently I test with accurate rsx reservation access or accurate gettlar to resolve freezing in these games because it often works. I suspect TSX would work too but I don't have a TSX enabled CPU.

I feel I can provide a couple logs for each of these games when they freeze. They each have varying durations but since they're prone to freezes anyways I can't guarantee the log will always contain a wcb issue rather than an issue elsewhere. Because this option alone isn't the isolated problem setting it is only the antagonist.

@kd-11
Copy link
Contributor Author

kd-11 commented Dec 17, 2023

Thanks. Yes, report here if buffer options trigger bugs.

It seems that Write Color buffers causes more freezing in games prone to freezes than leaving the setting off. Example games so far

  • Oblivion (wcb fixes save icons)
  • Skyrim (wcb fixes save icons)
  • Fallout 3 (wcb fixes save icons)
  • Assassin's creed 3 (wcb + rcb fixes water)
  • Assassin's creed 4 (wcb + rcb fixes water)
  • Assassin's creed rogue (wcb + rcb fixes water)

I would say Dishonored also is more prone to freezes with wcb simply because accurate getllar recovers the freezes when wcb is disabled. But when enabled the freeze doesn't recover. Frequently I test with accurate rsx reservation access or accurate gettlar to resolve freezing in these games because it often works. I suspect TSX would work too but I don't have a TSX enabled CPU.

I feel I can provide a couple logs for each of these games when they freeze. They each have varying durations but since they're prone to freezes anyways I can't guarantee the log will always contain a wcb issue rather than an issue elsewhere. Because this option alone isn't the isolated problem setting it is only the antagonist.

#14907 should solve some of these issues.

@Ordinary205
Copy link
Contributor

Ordinary205 commented Dec 18, 2023

Sadly this PR doesn't fixes Assassin's Creed IV Black Flag when enabling WCB+RCB.
RPCS3.log.gz
PPU Interpreter is still required.

@Darkhost1999
Copy link
Contributor

The fix shouldn't have been to fix LLVM.
Assassin's Creed IV Black Flags with WCB on used to freeze before you could even get to the tutorial on how to fight. And if you were lucky to get past that it surely froze before you even got to the theater house.
But what should be tested is just how far can you go with WCB+RCB and ppu Interpreter without freezing. Technically it shouldn't freeze at all because when disabling wcb and rcb the game can be played plenty well and fine from the start all the way to Edward Kenway's island claiming it and beyond without freezing.

@Ordinary205
Copy link
Contributor

Ordinary205 commented Dec 18, 2023

The fix shouldn't have been to fix LLVM. Assassin's Creed IV Black Flags with WCB on used to freeze before you could even get to the tutorial on how to fight. And if you were lucky to get past that it surely froze before you even got to the theater house. But what should be tested is just how far can you go with WCB+RCB and ppu Interpreter without freezing. Technically it shouldn't freeze at all because when disabling wcb and rcb the game can be played plenty well and fine from the start all the way to Edward Kenway's island claiming it and beyond without freezing.

Oh, I thought this PR was meant to fix LLVM on other games that has freezing issues with WCB+RCB, but nevermind. Also thanks for the reply.

@Triticum0
Copy link

@kd-11 MotoGP08 seems to be fixed when RDB +WDB is enabled. you can tick the task on your tracker and maybe add pes 14/18 to the list?

@Triticum0
Copy link

Trash Panic seems to have an issue where with wcb on the lighting breaks when it tries to render a fire and smoke effect but with WCB+RCB the lighting fixed but breaks the fire effect.

WCB on
NPUA70047_screenshot_2023_01_13_19_16_52

WCB+RCB
NPEA90042_screenshot_2024_01_03_01_19_52

@Triticum0
Copy link

#13432

@Triticum0
Copy link

Ratchet & Clank: All 4 One breaks when Turn on all the buffers.

@Shoegzer
Copy link

Shoegzer commented Jan 30, 2024

In Fallout 3, turning on RCB+WCB produces graphical issues that are not present when only WCB is on. More information including screenshot and log is available here

@Linear524
Copy link

Hi KD-11 !
Just a small question - will you ever return on working remaining RSX issues ?

@kd-11
Copy link
Contributor Author

kd-11 commented Sep 24, 2024

@Linear524 Yes, I'm just busy with other things right now but I still plan on finishing all the items eventually.

@kd-11 kd-11 removed the In Progress This issue is actively being investigated at the moment. label Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Epic Meta-issue that is tied to many other open issues. RSX
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants