Skip to content

rsx: Fixes #3858

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

Merged
merged 4 commits into from
Dec 6, 2017
Merged

rsx: Fixes #3858

merged 4 commits into from
Dec 6, 2017

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Dec 4, 2017

  • Avoid unprotecting memory unless writing is almost guaranteed to be near immediate. Should lower chances of race conditions on sections leading to corruption, but this is not a final fix. Should greatly reduce chances of encountering Regression: Demon's Souls graphical corruption #3754
  • Fix for framebuffer setup - Ignore stencil flag if current depth format does not support stencil operation. Fixes some flickering in R&C 2 introduced in the last rsx PR

kd-11 added 3 commits December 4, 2017 19:31
- Avoid unprotecting memory until just before we have to write the data
- Avoids race conditions where the caller thread takes too long to enter the second phase and another thread accesses the "bad" memory
- Stencil flag is meaningless if surface does not support stencil
- Needs aliased paging to be implemented to fix properly or a re-entrant global IO lock
@alex88510
Copy link

Was checking if this commit 547b6eb will help to reduce the chances of getting random texture corruption in ToCS2.
It feels good but might be too early to say. (need more testing)
But after 30mins of playing, the whole emulator crashed. Not sure if it is caused by this PR or others...

err

@kd-11 kd-11 merged commit 0b3fbf1 into RPCS3:master Dec 6, 2017
@joshuacode751
Copy link

I got white screen from God of War 1 and II how to fix it?

@Blacksama
Copy link

Blacksama commented Dec 7, 2017

Crashed on P5 after around 30 minutes of playing. not sure if is exactly because of this version, reverting to old build that seems more stable.

class std::runtime_error thrown: Halt

RPCS3.log.gz

Edit: played three times more and all of them crashed, all around 30 minute mark but the error was more similar to the one in the screen above (segfault reading at location), let me know if you need the logs of the seg fault, do not want to spam. Thanks.

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

Successfully merging this pull request may close these issues.

4 participants