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: Surface format remapping enhancements #11381

Merged
merged 3 commits into from Jan 17, 2022
Merged

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Jan 15, 2022

TODO:

  • Confirm XBGR8 behaviour on realhw
  • NVIDIA blur issue
  • Fix float16 issues

N/B: Colormask for XBGR is not subject to swapping - verified with hw test.

Fixes #8902

@Megamouse Megamouse added the RSX label Jan 15, 2022
@MarioSonic2987
Copy link
Contributor

Fixes broken lighting in Watch_Dogs. Excessive blur is still here.

Before:
image

After:
image

@kd-11
Copy link
Contributor Author

kd-11 commented Jan 15, 2022

Check if blurriness is fixed.

@MarioSonic2987
Copy link
Contributor

MarioSonic2987 commented Jan 15, 2022

Blur is fixed.
image

@kd-11 kd-11 marked this pull request as ready for review January 15, 2022 22:59
@Darkhost1999
Copy link
Contributor

Darkhost1999 commented Jan 15, 2022

Was going to see if Blur was fixed in Uncharted 3 because in master it looks like this without Relaxed zcull. Relaxed zcull fixes this specific area of act 9.
Master
Screenshot 2022-01-15 174430

But what may interest you is:
PR
Uncharted
All of these Fatal errors
RPCS3.log
Without patches
RPCS3.log
Save Files
BCUS98233_NDI_UNCHARTED3_BT_1.zip

@Xcedf
Copy link

Xcedf commented Jan 16, 2022

@Darkhost1999 the issue that you showed is nothing to do with this PR, Motion Blur in Uncharted 3/TLoU never worked properly on rpcs3, for some reason it interferes with depth buffer, as a result smth like this
14
and Relaxed ZCull also fixes nothing
Approx ZCull
3
Relaxed
13
Enable Motion Blur patch if you want to rid of that thing and don't use Precise ZCull it may actually make this thing worse.

@Darkhost1999
Copy link
Contributor

How are you not getting fatal errors when trying to boot the game on the PR though?

@Xcedf
Copy link

Xcedf commented Jan 16, 2022

@Darkhost1999 I don't know, just not happening, try to remove your shader cache.

@Darkhost1999
Copy link
Contributor

Darkhost1999 commented Jan 16, 2022

After File - all titles - remove shader cache
Games that have regressed in this PR
Angry birds Star wars
RPCS3.log
Battlefield 3 (Not the same error Just a freeze no fatal error)
RPCS3.log
Call of Duty Ghosts
RPCS3.log
Dante's Inferno
RPCS3.log

I have more. But yes I'm aware the Blur issue in Uncharted 3 is not related to this PR.
Whereas the fatal error is definitely related to this PR

Disable native float16 works to bypass this fatal error.

@coolllman
Copy link

Call of duty not work with this pr, when start stage result black screen, on master 13185 all good

@RainbowCookie32
Copy link
Contributor

13185 is the latest build, so if it's working now then it isn't really an issue?

@coolllman
Copy link

In this pr issue, on master all work

@RainbowCookie32
Copy link
Contributor

In this pr issue, on master all work

Then providing some info would be nice, like a screenshot of the issue and a log

@coolllman
Copy link

Freeze on cache load
RPCS3.log
Delete all caches, boot, but freeze on start stage
RPCS3.log

@coolllman
Copy link

Battlefield Bad Company 2 the same freeze on start

@coolllman
Copy link

coolllman commented Jan 16, 2022

Battlefield Bad Company 2 log
RPCS3.log

@coolllman
Copy link

coolllman commented Jan 16, 2022

I think more games affected, tonight i will test more games

@SlyCooperReloadCoded
Copy link

SlyCooperReloadCoded commented Jan 16, 2022

I'm testing the PR now, Watch Dogs fails to boot with the same fatal errors as Darkhost1999 is getting. Seems it's not an isolated instance. This is with no caches, so clearning my caches wouldn't help.

@SlyCooperReloadCoded
Copy link

Oh, and here's a log for that:
RPCS3.log

@coolllman
Copy link

With disable native float16 all work

@SlyCooperReloadCoded
Copy link

Wow, Disable Native Float16 Support does indeed fix the fatal errors, however I have a feeling this wasn't intended.

- NV GPUs have a tendancy to be off by a very small margin, breaking rendering when greaterThan/lessThan checks are used.
- NOTE: Currently this setting is using the sRGB flag which indicates 8-bit output.
  Only one game is currently known to care about this behaviour so this is good enough for now.
@kd-11
Copy link
Contributor Author

kd-11 commented Jan 16, 2022

Please retest if float16 bug is fixed.

@coolllman
Copy link

coolllman commented Jan 16, 2022

Float16 bug fixed, but fps drop from 60 to 33 in cod world war and maybe in other games(((
I will test later.

@kd-11
Copy link
Contributor Author

kd-11 commented Jan 16, 2022

I'm confident the fps drop is not caused by this PR. It is more likely something else was merged into master between when you last tested master and when you tested this out. Nothing much has been changed here other than some GPU instructions getting added. Unless you're at 99% GPU load (which is unlikely unless you're using intel integrated graphics) then nothing should be different with this PR.

@coolllman
Copy link

Infamous 2 15fps drop too, all games huge fps drop, preloading cache and compiling cache now very long

@coolllman
Copy link

No, nothing merge

@coolllman
Copy link

Latest merge 13 hours ago

@coolllman
Copy link

coolllman commented Jan 16, 2022

I test on latest master,your pr with float16 bug and your fixed pr, and only on last pr fps problem
Gtx 1660 driver 497.29

@kd-11
Copy link
Contributor Author

kd-11 commented Jan 16, 2022

I'll need other people to corroborate this as I cannot see any difference on my system.

@Xcedf
Copy link

Xcedf commented Jan 16, 2022

Well I have a small drop in Infamous 2, I bet it goes to those rounding routines, but definitely not a 15fps hit.
master
13
pr
14

@Darkhost1999
Copy link
Contributor

Don't got Infamous 2 but I got Infamous
Sorry my spawn area is right next to some vents and I'm using remote desktop. But the point is FPS. Not visual quality.
Master
Screenshot_20220116-062513_Moonlight.png
PR
Screenshot_20220116-062754_Moonlight.png
Aka within the margin of error no perceived difference.
Oh and float16 fatal errors are gone.

@coolllman
Copy link

Update driver to 5.11.23 reboot pc and fps back, but on the 3 boot fps drop again, run master fps good, reboot pc fps back, boot game 5 times - fps drop and only reboot fix it, on master all works flawestly

@kd-11
Copy link
Contributor Author

kd-11 commented Jan 16, 2022

Update driver to 5.11.23 reboot pc and fps back, but on the 3 boot fps drop again, run master fps good, reboot pc fps back, boot game 5 times - fps drop and only reboot fix it, on master all works flawestly

This is a known windows bug. It can happen with any rpcs3 version. Nobody knows what causes it and it never seems to occur on any dev machines that I am aware of.

@coolllman
Copy link

coolllman commented Jan 16, 2022

Strange, this first time i see this bug and only on pr, i try 15 times boot on master and never see this bug, when fps drop i try boot again many times and on pr fps low, i run master and fps is back, run again pr fps low.
Try anyone multiple boots various games, is fps drop?

- NV hw does not like the raw use of round()
@kd-11
Copy link
Contributor Author

kd-11 commented Jan 16, 2022

Strange, this first time i see this bug and only on pr, i try 15 times boot on master and never see this bug, when fps drop i try boot again many times and on pr fps low, i run master and fps is back, run again pr fps low. Try anyone multiple boots various games, is fps drop?

No, I mean, I haven't rebooted my machine despite starting rpcs3 dozens of times and performance is the same. This issue has been around for a while, we never figured out why some people have it and not others.

@Xcedf I have altered the rounding behaviour slightly, check if it restores the 1-2fps difference observed.
We also need retesting of the original watchdogs bug, just to make sure I didn't accidently undo the fix.

@kd-11
Copy link
Contributor Author

kd-11 commented Jan 16, 2022

Actually @coolllman the huge perf drop is because windows flagged rpcs3 as an unstable application and enabled some flags. See https://docs.microsoft.com/en-us/windows/win32/win7appqual/fault-tolerant-heap#:~:text=To%20disable%20Fault%20Tolerant%20Heap,longer%20activate%20for%20new%20applications.
I'm not sure why, the flag is applied to the executable name, which just means whatever name you have set for the executable was noted as crashing a lot and windows decided to move it to a special heap.

@Xcedf
Copy link

Xcedf commented Jan 16, 2022

@kd-11 yes, have my 2fps back
13

@MarioSonic2987
Copy link
Contributor

Watch_Dogs bug is still fixed.
image

@coolllman
Copy link

Thank you kd-11, i will read about unstable application, in new pr all good, i change name exe

@SlyCooperReloadCoded
Copy link

SlyCooperReloadCoded commented Jan 16, 2022

float16 support now works, however I'm now getting device lost fatal errors during gameplay. I notice that I usually get occasional fatal errors whenever this game's shader cache reaches over 12000 objects, so I'm not sure if the fatal error I got was related to this or that.

@lextra2
Copy link

lextra2 commented Jan 16, 2022

No, I mean, I haven't rebooted my machine despite starting rpcs3 dozens of times and performance is the same. This issue has been around for a while, we never figured out why some people have it and not others.

Probably how Windows assigns threads (and with modern cpu boosting being very sensitive to temperature, different cores can sustain different boosts), background processes on startup or mainboard memory training for timings.
It's what I figured out from hundreds of hours of benching (not rpcs3). Probably wouldn't happen on Linux.

@kd-11 kd-11 merged commit 3e794e7 into RPCS3:master Jan 17, 2022
@kd-11 kd-11 deleted the watchdogs branch January 22, 2022 11:10
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.

Bug: Watch_Dogs graphical glitches
9 participants