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

Regressions from #5427 (FBO_Fixes) #5514

Closed
jenci8888 opened this issue Jan 6, 2019 · 50 comments
Closed

Regressions from #5427 (FBO_Fixes) #5514

jenci8888 opened this issue Jan 6, 2019 · 50 comments
Assignees

Comments

@jenci8888
Copy link

jenci8888 commented Jan 6, 2019

Issue#1: I'm getting this error which I am unable go past intro logo screen while OGL makes go ingame.
Issue#2: Graphical issues NFS Rivals, therefore WCB enabled fixes it. Thus harder to run which game freezes loading screen before "start button" screen, I tried to capture the "RSX Capture" but I am unable to do it. (See log)

Game: Sonic All-Star Racing Transformed
F {RSX [0x160cdb0]} RSX: class std::runtime_error thrown: Assertion Failed! Vulkan API call failed with unrecoverable error: Device lost (Driver crashed with unspecified error or stopped responding and recovered) (VK_ERROR_DEVICE_LOST) (in file c:\projects\rpcs3\rpcs3\emu\rsx\vk\vkhelpers.h:1275)

RPCS3.zip

Game: Need For Speed: Rivals
Before: WCB disabled (Doesn't matter any build)
image

After: WCB disabled
image

After#2: WCB enabled
image

RPCS3_NFS_Rivals.log.gz

I provided log. Feel free post here to make regressions.

@jenci8888 jenci8888 changed the title Sonic All-Star Racing Transformed [BLES01646] - after #5427 Sonic All-Star Racing Transformed [BLES01646] - Regressions from #5427 (FBO_Fixes) Jan 6, 2019
@jenci8888 jenci8888 changed the title Sonic All-Star Racing Transformed [BLES01646] - Regressions from #5427 (FBO_Fixes) Regressions from #5427 (FBO_Fixes) Jan 6, 2019
@stride21
Copy link

stride21 commented Jan 8, 2019

Prior to #5427 with Async Shader Compiler enabled:
unc previous
#5427 with Async Shader Compiler enabled:
unc pr
#5427 with Async Shader Compiler disabled:
disabled
RPCS3.log.gz

Prior to #5427 with Async Shader Compiler enabled:
previous last of us
#5427 with Async Shader Compiler enabled:
last of us pr
#5427 with Async Shader Compiler disabled:
last of us master
RPCS3.log.gz

@kd-11
Copy link
Contributor

kd-11 commented Jan 9, 2019

Likely because I decided to force data collapse even if a write did not happen because shaders were not ready, which somehow breaks async compiling because that is itself a nasty hack. I'll just return it to how it was before, although I wonder if that will also bring in regressions of its own.

@cubatilles
Copy link

Persona 4 arena and persona 4 arena ultimax seem to have a regression too due to this PR. The pink flickering glitch on the characters is back, no matter if you enable WCB or strict rendering mode.

Sorry I'm not on my main computer now and cannot post screenshots.

@Asinin3
Copy link
Contributor

Asinin3 commented Jan 10, 2019

Make sure you have anisotropic filtering set to Automatic for Persona 4 Arena.
Each character flickers in and out with a small pink shape at their feet after FBO Fixes.
rpcs3_2019-01-11_3953
Capture (rename extension to 7z - GitHub sucks)
NPUB30923_20190111001831_capture.gz

@cubatilles
Copy link

cubatilles commented Jan 10, 2019

Of course its on automatic. Same config on prefbo fixes builds just works ok

@stride21
Copy link

Seems to be affecting Battlefield: Bad Company as well.
Async Shader Compiler enabled:
capture
Async Shader Compiler disabled:
ffff

RPCS3.log.gz

@kd-11
Copy link
Contributor

kd-11 commented Jan 10, 2019

The async 'regression' is literally a one-liner hack. Don't worry about it too much, it will be submitted with the next PR, likely in the next 2 days.

@Xcedf
Copy link

Xcedf commented Jan 11, 2019

Seeing now that only async shaders are broken, tried out Async Shaders Off with TLoU
and shadowmaps work beautyfully
1

@Asinin3
Copy link
Contributor

Asinin3 commented Jan 14, 2019

Assassins Creed Rogue now crashes with OpenGL after pressing start on the press start screen 5seconds after it boots. Very easy to reproduce.
F {RSX [0x042f764]} RSX: class std::runtime_error thrown: Unhandled GL format 0x8058 (in file c:\projects\rpcs3\rpcs3\emu\rsx\gl\glhelpers.h:1611)
RPCS3.log.gz

Demon's Souls also crashes RPCS3 with a fatal segfault when using OpenGL during the loading screen before going ingame after FBO_Fixes.
image
Vulkan crashed RPCS3 for me when i closed the emulator as well, which seems to be related to FBO_Fixes as well.

Sly Cooper Thieves in Time - The smoke regressed, alpha issues?
7658beforefbo_2019-01-15_4134
image
RSX Capture
https://mega.nz/#!CcoxQQZZ!-5tlQqkMOQI6idQEQCahBURp4GcWgHchN_1CoIXm_iM

@Emulator-Team-2
Copy link

Emulator-Team-2 commented Jan 17, 2019

[ Grand Theft Auto IV ]
GPU: AMD RX 570 / 19.1.1
RSX-Capture: https://mega.nz/#!kVR1hKyI!GnGoVjlD2r1tYNOOxmc5DfKyd0LiJu9glABummzrkts
Log: RPCS3.log.gz

v0.0.5-7731 / v0.0.5-7657
1

@kd-11
Copy link
Contributor

kd-11 commented Jan 23, 2019

@Emulator-Team-2 Retest with #5565 for GTA
NVM - I have been informed that it is an AMD only bug

@kd-11 kd-11 self-assigned this Jan 23, 2019
@Emulator-Team-2
Copy link

[6453d70]
No change, this game still looks the same.

@kd-11
Copy link
Contributor

kd-11 commented Jan 23, 2019

Is it vulkan-only? You did not mention if OGL was also affected.

@Emulator-Team-2
Copy link

Emulator-Team-2 commented Jan 23, 2019

v0.0.5-7742 / [OpenGL]
1


[rsx: Fixups and improvements]
On your new pr, GTA 4 has a black screen and crashes a few seconds later after the loading screen with this error.

[OpenGL]

F {RSX [0x029dc44]} RSX: class std::runtime_error thrown: Verification failed: 
(in file c:\projects\rpcs3\rpcs3\emu\rsx\gl\glvertexbuffers.cpp:245)]

RPCS3.log

@kd-11
Copy link
Contributor

kd-11 commented Jan 23, 2019

Does vulkan also crash on the PR build? Its important to check both when reporting bugs/regressions
.

@Emulator-Team-2
Copy link

Emulator-Team-2 commented Jan 23, 2019

No, the game doesn't crash with Vulkan, but the graphics are completely broken. [master, pr ]

@paxsyr
Copy link
Contributor

paxsyr commented Jan 23, 2019

Tom Clancy's H.A.W.X [BLUS30186] no longer displays anything, only a black screen.

Settings: Default CPU Decoder settings and both renderers work. Choice of renderer doesn't make a difference, but different renderers were used for the RSX Captures below because in each case, the other renderer would crash the game and be unable to produce a capture. Write Color Buffers were enabled in both tests since otherwise, the game would crash with a "Failed to compile shader" error.

Also, ignore the FPS counter on both screenshots as they are not indicative of average performance.


Before #5427:

h a w x screenshot - 0 0 5-7658

H.A.W.X. RSX Capture (OpenGL) - 0.0.5-7658.zip
H.A.W.X. Log - 0.0.5-7658.log


From #5427 to current master:

h a w x screenshot - 0 0 5-7678

H.A.W.X. RSX Capture (Vulkan) - 0.0.5-7678.zip
H.A.W.X. Log - 0.0.5-7678.log

@kd-11
Copy link
Contributor

kd-11 commented Jan 23, 2019

All these regressions need testing on the current PR #5565.
HAWX for example displays correct graphics in the PR build.

@Emulator-Team-2
Copy link

The latest changes fix the OpenGL crash and broken graphics on Vulkan.
1

@kd-11
Copy link
Contributor

kd-11 commented Jan 25, 2019

I think all these issues have been resolved after the PR has been merged. The sly cooper bug is however not a true regression and will be fixed separately in upcoming weeks. The issue can be closed if that is the only regression left.

@paxsyr
Copy link
Contributor

paxsyr commented Jan 25, 2019

The regression in H.A.W.X does not seem to be fixed for me in master (though the game now endlessly compiles shaders without Write Color Buffers instead of crashing). Should I start a new issue to isolate my problem, or continue discussing it here?

@kd-11
Copy link
Contributor

kd-11 commented Jan 25, 2019

What happens if you open the RSX capture file attached? (Utilities->Open RSX capture)

@paxsyr
Copy link
Contributor

paxsyr commented Jan 26, 2019

When I use current master and open the post-regression RSX capture file (I assume that's what you wanted) I get a black screen like before.
H.A.W.X. Log - 0.0.5-7757.log
H.A.W.X. Log - 0.0.5-7757.log.gz
Though when I load the pre-regression RSX capture file, I get the image of the menu seen above.
(Both tests done without Write Color Buffers enabled)

@Xcedf
Copy link

Xcedf commented Jan 26, 2019

Found a few regressions here
Uncharted 1 flicekring Naughty Dog intro, Simpsons The Game also may have short random artifacts during character's special attacs, which rely on WCB+CPU Blit
5
both regressed after 52ac0a9
Assassin's Creed has render flickering inmenu and during gameplay after 2a62fa8

@questore
Copy link

acter's special attacs, which rely on WCB+CPU Blit
Uncharted flickering is gone. Just you use only WCB (no CPU blit)

@Xcedf
Copy link

Xcedf commented Jan 27, 2019

Ok i agree, for Uncharted with WCB flickering are gone, but for Simpsons The Game CPU Blit is vital, there will be even more severe artefacts with just WCB, and and the flickering in Simpsons happens even with WCB+CPU Blit are ON, so still an issue

@legend800
Copy link

Time Crisis 4 is still broken on VK (washed out):
2019-01-27 09_52_38-window

I can just reopen this issue for tracking:
#4949

And on OpenGL, it's completely broken, crash on load (tried clearing cache):
RPCS3.zip

@MSuih
Copy link
Member

MSuih commented Jan 28, 2019

Sorry for the late report, hadn't gotten around to test this before. In Lollipop Chainsaw, there's a bug where certain effects just render a static image on screen. After FBO_Fixes, this static image will cause VRAM usage to climb up rapidly every time it's shown, eventually causing an out of video memory error after just one or two of these screens.

This does not affect OpenGL, only Vulkan. Also strict rendering mode fixes the crash, but it wasn't required before FBO fixes. Enabling debug output reduces the speed of VRAM usage growth, but that's probably because it renders less frames during those freezes. It does cause the game to print a lot of errors though, but I'm not sure how much of it is just pointless noise.

If you want an easy location in game to test this then delete your old save and start a new game. The intro to first stage has a long freeze that should fill the whole VRAM in one go.

Here's what it looks like in task manager:
image

Log with debug output

I tested this by compiling a version with AUDIT enabled, but it didn't make any difference.

@kd-11
Copy link
Contributor

kd-11 commented Feb 2, 2019

Disable the vulkan memory allocator. On AMD, there are very few memory handles available to the application, if we're leaking a temp resource, you should run out of handles long before you run out of memory. The driver only allows 4096 objects to be allocated. The allocator does huge pool allocations and makes memory allocations just in software like a normal heap and bypasses this, making it harder to determine if something is leaking.

@kd-11
Copy link
Contributor

kd-11 commented Feb 2, 2019

For the other graphics glitches, there are bugs that were uncovered by doing things correctly. I urge testing with this experimental build https://ci.appveyor.com/project/kd-11/rpcs3/builds/22079284, resolves some known issues reported here.
UPDATE: Newer build https://ci.appveyor.com/project/kd-11/rpcs3/builds/22080522

@legend800
Copy link

Tested the new build:
Time Crisis bloom regression above not fixed.
Backbreaker Vengeance (needs WCB+Blit to avoid logged regressions): Lost ~7-8 fps (30 fps title).
Ran through a bunch of other games - no improvements/regressions of note.

@paxsyr
Copy link
Contributor

paxsyr commented Feb 3, 2019

Using the newer build: The H.A.W.X regression was not fixed for me

@kd-11
Copy link
Contributor

kd-11 commented Feb 3, 2019

Provide renderdoc before and after since RSX captures are tainted by broken graphics code. Use the latest version of renderdoc.

@MSuih
Copy link
Member

MSuih commented Feb 3, 2019

Hmm, interesting. I experimented with this and your suggestion about disabling vulkan memory allocator didn't help, the game still ran out of VRAM just as fast as it used to. However, since the game spams "Blit request denied because the source region does not fit!" to console I tried forcing CPU blit, and that somehow fixes this issue. By enabling WCB with CPU blit the whole effect is rendered properly, which I wasn't aware of.

So you do have a memory leak in some part of emulator code, and it's a part that gets skipped if CPU blit is enabled.

@kd-11
Copy link
Contributor

kd-11 commented Feb 3, 2019

Thats a huge part with too much going on, although the source not fitting is an interesting glitch for sure. I'm curious since the hw blit path does not actually allocate anything with the exception of blit resources which are supposed to be reused whenever possible, so it is likely the old known blit dst leak. I sill wonder why it is not reusing the created resources if this is the case.

@paxsyr
Copy link
Contributor

paxsyr commented Feb 3, 2019

RenderDocs and logs for H.A.W.X:
All tests were done with default settings + WRC and Use Legacy OpenGL Buffers


v0.0.5-7658/#5509 (Last working version)
Download RenderDoc from GitHub (multiple files): (I had to split it up because GitHub only supports 10MB files)

When downloaded, remove the .zip off the end of the file
H.A.W.X. RenderDoc (OpenGL) - 0.0.5-7658.7z.001.zip
H.A.W.X. RenderDoc (OpenGL) - 0.0.5-7658.7z.002.zip


Download RenderDoc from Google Drive:
https://drive.google.com/open?id=1Z20SbUyYVwpcdyvLI9-4Tuvq-7iiFjuU

Logs:
H.A.W.X. Log - 0.0.5-7658 (2).log
H.A.W.X. Log.gz - 0.0.5-7658.log.gz


v0.0.5-7678/#5427 (Start of the regression)
Download RenderDoc from GitHub: When downloaded, remove the .zip off the end of the file

H.A.W.X. RenderDoc (OpenGL) - 0.0.5-7678.rdc.7z.zip


Download RenderDoc from Google Drive:
https://drive.google.com/open?id=1BDcNrfxvAPaNS-SAHyObuw8d1do6U1C1

Logs:
H.A.W.X. Log - 0.0.5-7678 (2).log
H.A.W.X. Log.gz - 0.0.5-7678.log.gz


v0.0.6-7786/#5611 (Current Master)
Download RenderDoc from GitHub: When downloaded, remove the .zip off the end of the file

H.A.W.X. RenderDoc (OpenGL) - 0.0.5-7686.7z.zip


Download RenderDoc from Google Drive:
https://drive.google.com/open?id=1FEh-r5fo0OJaEOQWknLGoJ_IrH4u7wAw

Logs:
H.A.W.X. Log - 0.0.5-7786.log
H.A.W.X. Log.gz - 0.0.5-7686.log.gz


v0.0.6-7788 (Updated Experimental Test Build)
Download RenderDoc from GitHub: When downloaded, remove the .zip off the end of the file

H.A.W.X. RenderDoc (OpenGL) - 0.0.5-7688.7z.zip


Download RenderDoc from Google Drive:
https://drive.google.com/open?id=1Sgw0FfOlYnxd1yGbODCljAIUjn2qwR-6

Logs:
H.A.W.X. Log - 0.0.5-7688.log
H.A.W.X. Log.gz - 0.0.5-7688.log.gz


@MSuih
Copy link
Member

MSuih commented Feb 4, 2019

It only activates when using Vulkan and Strict rendering somehow fixes it. Also the issue never happened before FBO_Fixes was merged. Maybe that would help narrowing it down?

But either way, I think I've pestered you enough about it. That issue only seems to affect one game and even then it can be avoided with settings changes, so it's not something that you should spend too much time looking into.

@kd-11
Copy link
Contributor

kd-11 commented Feb 5, 2019

@creeperjedi The issue seems to be a missing shader (completely missing for some reason, likely broken blit). Try using CPU blit with WCB and see if it works. I'd also like a new capture with the experimental build. Just capture that start screen as it seems to be easier to replicate.

@kd-11
Copy link
Contributor

kd-11 commented Feb 5, 2019

Some of the other glitches are likely fixed by #5635 if they affect vulkan only.

@legend800
Copy link

2019-02-05 08_39_16-window

@kd-11
Copy link
Contributor

kd-11 commented Feb 5, 2019

There have been no new builds related to fbos, so if you still have a performance regression, look into your system setup. The new PR build does not impact performance.
As for tc4, do not reopen a duplicate. More open tickets result in slower progress since emulator development still has to move forward and minor issues have to be temporarily postponed often. Attach renderdoc dumps here instead (vulkan trace is fine).

@paxsyr
Copy link
Contributor

paxsyr commented Feb 5, 2019

I tried to get an RSX Capture, but the emulator just instantly crashes when I click the "RSX Capture" button in the debugger. Instead, I got a RenderDoc, if that helps.

Tested using default settings + WRC, CPU Blit, and Use Legacy OpenGL Buffers

RenderDoc
Download RenderDoc from GitHub (multiple files): (I had to split it up because GitHub only supports 10MB files)

When downloaded, remove the .zip off the end of the file
H.A.W.X. RenderDoc (OpenGL) - 0.0.5-7688 (2).7z.001.zip
H.A.W.X. RenderDoc (OpenGL) - 0.0.5-7688 (2).7z.002.zip


Download RenderDoc from Google Drive:
https://drive.google.com/open?id=1YrMIlHhdKfAdwbPcn8KDgchAu9GzkP7q


Logs:

H.A.W.X. Log - 0.0.5-7688 (2).log
H.A.W.X. Log.gz - 0.0.5-7688.log (2).gz

@legend800
Copy link

@Xcedf Xcedf mentioned this issue Mar 2, 2019
6 tasks
@kd-11
Copy link
Contributor

kd-11 commented Mar 2, 2019

Retest bugs with #5675

@legend800
Copy link

Time Crisis 4 still has broken bloom, like above.

@MSuih
Copy link
Member

MSuih commented Mar 3, 2019

HW blit memory leak is still there. I also found two other games which are affected by it; NHL 14 and Uncharted 3.

@paxsyr
Copy link
Contributor

paxsyr commented Mar 3, 2019

H.A.W.X now displays the main menu, just like before the regression, but freezes on this screen (see image below) right before it would enter ingame.
h a w x freeze screen
H.A.W.X. Log - 0.0.6-426355a1.log
Settings: Default + Vulkan + Write Color Buffers

@paxsyr
Copy link
Contributor

paxsyr commented Mar 3, 2019

@legend800 It might be worth testing Time Crisis 4 again because a recent update to the aforementioned PR fixed some broken bloom in H.A.W.X. (which I can see now, since the game doesn't just display black anymore).

Before: h a w x high bloom
After: h a w x normal bloom

@legend800
Copy link

Good call. Yep, all fixed now on latest commit in the new PR.

2019-03-03 13_11_22-window

@kd-11
Copy link
Contributor

kd-11 commented Mar 11, 2019

Closing since most graphics bugs here if not all are fixed in latest master. Open new bug tickets if needed.

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

No branches or pull requests