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: Fixes #5146

Merged
merged 6 commits into from
Sep 21, 2018
Merged

rsx: Fixes #5146

merged 6 commits into from
Sep 21, 2018

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Sep 18, 2018

Blit Engine

  • Forcefully downloads and reuploads data from the CPU in case of unexpected overlaps
  • Properly detect correct size of newly created blit targets

Other

  • Fix flip source buffer selection
  • Fix resource readback for overlapping sections (WCB)
  • Fix flickering in OpenGL

Fixes #5135
Also fixes part of #4258

@darkdragonz12
Copy link

darkdragonz12 commented Sep 18, 2018

sin titulo

in this pr detected blue background, with the game blazblue central fiction, although this no longer passes the menu remains frozen, not caused by this pr.

@darkdragonz12
Copy link

sin
God of war 3 same problem blue background.

@kd-11 kd-11 changed the title [Testers Needed] rsx: blit engine fixes [WIP] rsx: blit engine fixes Sep 18, 2018
@kd-11
Copy link
Contributor Author

kd-11 commented Sep 18, 2018

Will fix the red-blue color swap soon.

@kd-11 kd-11 changed the title [WIP] rsx: blit engine fixes [WIP] rsx: Fixes Sep 18, 2018
@Kazeira
Copy link

Kazeira commented Sep 18, 2018

image
Regression in Infamous 2

@stride21
Copy link

This PR made Ratchet and Clank Future: Tools of Destruction go ingame and has fix the flicker issue in its cutscenes and main menu.
tools of destruction

@Kravickas
Copy link
Contributor

Kravickas commented Sep 19, 2018

Retest against latest master, cos ratchet was fixed by other pr already merged

Delete comment after

@ruipin
Copy link
Contributor

ruipin commented Sep 19, 2018

He is correct, this PR (the second commit) fixes the flashing menu in R&C ToD, as well as fixing the black screen once you go in-game. The PR that went to master only got the game to the menu reliably.

It might also fix bugs such as the DeS black/white flashes and other games with WCB where there is framebuffer flickering on Vulkan (OpenGL still has issue)

@stride21
Copy link

stride21 commented Sep 19, 2018

Retest against latest master, cos ratchet was fixed by other pr already merged

Delete comment after

still has flickering during cutscenes and black screen when ingame on master
master

@legend800
Copy link

legend800 commented Sep 19, 2018

Rayman Legends colors are purple now (unless you turn on WCB + Blit):

2018-09-18 18_45_50-fps_ 59 94 _ vulkan _ 0 0 5-0fcf6fa8-rsx_volatile _ rayman legends npeb01356

Note: Still flickers also from Dec 2017 regression.

@greentop
Copy link

Ubuntu 18.04 - Nvidia 396.54
screenshot from 2018-09-18 22-22-30
screenshot from 2018-09-18 22-27-31
RPCS3.log.gz

@kd-11
Copy link
Contributor Author

kd-11 commented Sep 19, 2018

I'll let you know when the blue is fixed so please don't spam reports.

@elad335
Copy link
Contributor

elad335 commented Sep 19, 2018

Not sure if this is a progression or regression, but this pr fixes white, green and more colored rectangles with TLoU, the only ones that remain are orange. This is not random and is reproducible on every run.
image

image

@kd-11
Copy link
Contributor Author

kd-11 commented Sep 19, 2018

Blue color bug should have been fixed, time to retest.

@greentop
Copy link

greentop commented Sep 19, 2018

TOCS2 & Hyperdimension Neptunia color issues are fixed as of c852d5c.

@elhaya
Copy link

elhaya commented Sep 19, 2018

i concur - with the last commit, gow 3 blue screen is gone (without having to use cpu blit)

@raveskirza
Copy link

B2S ingame-->Loadable

Crashes with below message
F {rsx::thread} class std::runtime_error thrown: Verification failed (e=0x7e):
(in file c:\projects\rpcs3\rpcs3\emu\rsx\rsx_cache.h:100)

RPCS3.log_Master.gz
RPCS3.log_PR.gz

@kd-11
Copy link
Contributor Author

kd-11 commented Sep 19, 2018

@raveskirza I'm not fixing validation errors in this PR as ruipin's PR restructures the whole cache and automatically avoids such situations. Adding more temporary workarounds isn't too great an idea.

@kd-11
Copy link
Contributor Author

kd-11 commented Sep 19, 2018

Verification error will be analysed further and I will decide whether to patch it now or wait for the refactoring. Looks like this is still WIP for now.

@elhaya
Copy link

elhaya commented Sep 20, 2018

@kd-11 i'm experiencing slowdowns, even to a complete crawl (2fps) with some of the games i tested.
for example, risen 3 and rdr, when using opengl. i have nvidia btw, maybe it has to do with your workaround?

- Forcefully downloads and reuploads data from the CPU in case of unexpected overlaps
- Properly detect correct size of newly created blit targets
- Remember to clear any existing views when changing the default component map!
- Orders flushing to preserve memory at all cost
- Avoids false positive where flushing overlapping sections can falsely invalidate another with head/tail test
@kd-11 kd-11 force-pushed the rsx_volatile branch 2 times, most recently from c883f7d to cbf58df Compare September 20, 2018 14:08
@kd-11
Copy link
Contributor Author

kd-11 commented Sep 20, 2018

Yea, the degraded performance is due to another issue where glCheckFramebuffer is returning success even when the attachments are removed via glDeleteTextures. A proper fix is incoming.

@kd-11
Copy link
Contributor Author

kd-11 commented Sep 20, 2018

The performance regression should be fixed now. Turns out the driver is reusing texture handles and CheckFramebuffer is not actually checking to see if the handle is the same one used when attaching. Switched to manually tracking usage and attachment refs and the problem is now gone.

- Matching attachments with resource id fails because drivers are reusing
  handles!
- Properly sets up stale fbo ref counting and removal
- Properly sets up resource reference test with subsequent removal to
  avoid using a broken fbo entry
- Removes all use of valid_count as a metric until the new refactor is merged
@kd-11 kd-11 changed the title [WIP] rsx: Fixes rsx: Fixes Sep 20, 2018
@HerrHulaHoop
Copy link

Confirmed, this PR fixed regression reported in #5001 where screen flickering was visible in Terraria [BLES01938] when using OpenGL after #4973

@isshininu
Copy link
Contributor

isshininu commented Sep 20, 2018

This PR fixed DeS Valley of Defilement on OpenGL, when it was sometimes too much dark,

fps_ 30 11 _ opengl _ 0 0 5-7337 _ demon s souls bles00932 18 09 2018 22_10_01

Before
fps_ 30 11 _ opengl _ 0 0 5-7337 _ demon s souls bles00932 18 09 2018 22_09_52

I want to open issue about this just yestereday
P.S. Love when my issues resolved before I reported them <:3

@rekongstor
Copy link

Fixes #4348

@kd-11 kd-11 merged commit dafc914 into RPCS3:master Sep 21, 2018
@ruthan
Copy link

ruthan commented Sep 21, 2018

I can confirm that Golden Axe Beast rider issue is fixed, i can load first level and see cutscene, but after i get only black screen a hear game sounds..
RPCS3.zip

@MsDarkLow MsDarkLow mentioned this pull request Sep 21, 2018
11 tasks
ruipin added a commit to ruipin/rpcs3 that referenced this pull request Sep 22, 2018
It's easier to rebase that PR on top of RPCS3#5115 than vice-versa
ruipin pushed a commit to ruipin/rpcs3 that referenced this pull request Sep 22, 2018
- Forcefully downloads and reuploads data from the CPU in case of unexpected overlaps
- Properly detect correct size of newly created blit targets
- Remember to clear any existing views when changing the default component map!

(From PR RPCS3#5146)
ruipin pushed a commit to ruipin/rpcs3 that referenced this pull request Sep 22, 2018
ruipin pushed a commit to ruipin/rpcs3 that referenced this pull request Sep 22, 2018
- Orders flushing to preserve memory at all cost
- Avoids false positive where flushing overlapping sections can falsely invalidate another with head/tail test

(From PR RPCS3#5146)
ruipin pushed a commit to ruipin/rpcs3 that referenced this pull request Sep 22, 2018
- Matching attachments with resource id fails because drivers are reusing
  handles!
- Properly sets up stale fbo ref counting and removal
- Properly sets up resource reference test with subsequent removal to
  avoid using a broken fbo entry

(From PR RPCS3#5146)
@MarioSonic2987
Copy link
Contributor

MarioSonic2987 commented Sep 22, 2018

Fixes flickering graphics in Sonic Generations.

Before (changes between good and black graphics):
image

After:
image

@MarioSonic2987
Copy link
Contributor

MarioSonic2987 commented Sep 25, 2018

In Worms Crazy Golf, fixes 2/3 screen issue in Vulkan, but breaks color with OpenGL.

Before:
image
image

After:
image
image

Edit: Worms Revolution is also affected by this PR in a similar way.

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.

Golden Axe: The Beast Rider BLUS30209 - crash during 1st level loading - texture_cache.h:2510