RPCS3 / rpcs3

PS3 emulator/debugger
https://rpcs3.net/
GNU General Public License v2.0
14.55k stars 1.85k forks source link

rsx: Program Fixes #4844

Closed kd-11 closed 5 years ago

kd-11 commented 5 years ago

Details

Results

NOTE: Contains the patch from https://github.com/RPCS3/rpcs3/pull/4830. This is not a replacement - the patch will be removed before merging. It makes testing some titles easier if they are unstable on master.

spyropt commented 5 years ago

god of war collection II image

E {rsx::thread} RSX: shaders_cache: vertex program has more than 32 jump addresses. Entry not saved to cache RPCS3.log.gz

Emulator-Team-2 commented 5 years ago

Edit: Fixed

Regression in Dragon Ball Z: Burst Limit. bez tytulu1 Log: RPCS3.log.gz

kd-11 commented 5 years ago

@spyropt the error does not directly affect graphics, so something else is seemingly wrong. Attach rrc capture. Also check the other games in the collection - they should render correctly from my testing (I dont have sparta unfortunately)

kd-11 commented 5 years ago

Same goes for the dbz regression. Provide RRC capture as well.

Emulator-Team-2 commented 5 years ago

RRC capture: Dragon Ball Z: Burst Limit capture.zip

MSuih commented 5 years ago

X-Men Origins: Wolverine and THPS HD have regressed, emulator freezes and memory usage climbs to 10+ GB as soon as main menu is reached. Didn't see anything out of ordinary in logs but I'll attach one regardless. This might affect other titles as well but I don't have any more time for testing tonight. RPCS3.log.gz

bubbavox commented 5 years ago

Tested Demon's Souls a little with SPU LLVM.... Played for ~30 min; no crashes. I didn't experiment too much with different settings. Performance was improved from 6718 in Boletarian Palace entrance (usually one of the worst areas), but Penetrator Archstone area was very stuttery. Identical experience with Neko's latest PR https://github.com/RPCS3/rpcs3/pull/4816 . kd-11's previous PR "praise miyazaki" froze at loading screen.

i5-3570K @ 4.5 // GTX 660 SLI (2)

spyropt commented 5 years ago

@kd-11 from my tests it's just ghost of sparta capture.zip

Kravickas commented 5 years ago

Watch Dogs first time ingame obrazek

Xcedf commented 5 years ago

Resistance 2 regression https://github.com/RPCS3/rpcs3/issues/4711 fixed on this PR game has some major graphical issues yet unlike Resistance 1 Demo the things happening on screen are understandable 4 5

theoldsport commented 5 years ago

Unfortunately the texture flicker and infinite shader generation is still present in Condemned 2 image

Xcedf commented 5 years ago

Seems also fixes texture flickering and caused by that enormous amount of shader cache in GoW 3 Demo 6

raveskirza commented 5 years ago

Beyond2souls: After selecting new game from Menu, the emulator consumes all the system virtual memory and freezes the system. Sometimes the system recovers, other times have to hard restart. ·F 0:04:30.630078 {rsx::thread} class std::bad_alloc thrown: bad allocation Attached log RPCS3.zip

EDIT: Fixed in latest commit

ScorchEmber256 commented 5 years ago

Fixes #4827, Ratchet and Clank: A Crack In Time now proceeds ingame however crashes after a few minutes of gameplay from #3387 r c 2

log: RPCS3.zip

legend800 commented 5 years ago

Bad news first - Conan BLES00076 has missing ingame gfx. Previously it had bad/missing coloring to the textures but now the whole screen is white.

conan

But the good news (really fantastic news) is that TMNT Reshelled finally has working textures!

Before: master

After: pr

The only issue that remains is missing effects - Krang's eye lasers, Stockman's goo gun, foot soldier death explosions, fire hydrant's water, etc. These are missing on master as well. The real strange thing here (hopefully a clue) is that the effects CAN show sometimes. Example: Level 1: no effects, after hitting exploding barrel, partial effects are shown to end of level. Level 2: No effects, after hitting fire hydrant, FULL effects are shown for the rest of level. Weird.

2018-07-02 20_35_32-window

2018-07-02 20_38_28-window

Xcedf commented 5 years ago

Yakuza 3, same issue as Ghost of Sparta above 4 E {rsx::thread} RSX: shaders_cache: vertex program has more than 32 jump addresses. Entry not saved to cache

Xcedf commented 5 years ago

On this PR Sonic Unleashed ingame for me for the first time, don't get stuck on shader ccompile 6

isshininu commented 5 years ago

Silent Hill Downpour so broken on this build i need to use my power button in order to exit rpcs3

RPCS3.zip

MarioSonic2987 commented 5 years ago

Sonic Generations Demo goes further. It goes until title screen:

Before: image

After: image

kd-11 commented 5 years ago

A bunch of regressions and problems should be fixed now. Retest.

Emulator-Team-2 commented 5 years ago

@kd-11 Regression in Yakuza 3 is fixed in the latest commit. No change in Dragon Ball Z: Burst Limit.

New RRC capture: Dragon Ball Z: Burst Limit Loading screen: capture.zip

isJuhn commented 5 years ago

Latest commit cc8ab13a7f38d03ffeadc620355eb8f1a5638489 makes R&C ACiT crash my driver on going ingame, without that commit, I can play the game pretty well.

stride21 commented 5 years ago

Resistance 3 no longer crashes with an error message, now it gets an infinite loop and then crashes without error message.

MarioSonic2987 commented 5 years ago

image God of War: Ghost of Sparta regression is fixed.

kd-11 commented 5 years ago

For the non-graphical bugs where emulator hangs or misbehaves, enable "log shader programs" debug option and attach vp_analyser.bin from your shaderlog folder so I can inspect the contents directly.

legend800 commented 5 years ago

Can't get ingame with Conan now on latest commit (previously white screen). Crashes the emu (no log) as soon as I try to load into gameplay now (using Vulkan, default settings).

E {rsx::thread} RSX: Inadequate buffer length submitted for a compute operation.Required=42467328 bytes, Available=33554432 bytes x2 E {rsx::thread} RSX: Blit request denied because the source region does not fit!

2018-07-03 08_28_05-

isJuhn commented 5 years ago

ACiT driver crash as of latest commit vp_analyser log

kd-11 commented 5 years ago

@legend800 I dont need log just the dump from the analyser. Also dont use scaling or even vulkan at all when testing highly experimental stuff.

legend800 commented 5 years ago

Sure kd-11. Even with no scaling and opengl, it crashed before gameplay giving me this:

2018-07-03 08_48_11-window

Mainline has no stability problems. I know this is a big WIP, just want to make sure its on your radar.

Can you link me to instructions on getting analyser dumps (searched, couldn't find). Thanks!

hch12907 commented 5 years ago

@legend800 It's in the shaderlog folder under config dir.

Emulator-Team-2 commented 5 years ago

@legend800 -Set showDebugTab to true in Gui Configs folder / Current Settings -In Debug tab: enable "log shader programs" -test your game -Upload vp_analyser.bin from your shaderlog folder

stride21 commented 5 years ago

Resistances 3 gets a driver crash with vulkan after getting an infinite loop while opengl gets the infinite loop and then crashes without any error message. OpenGL vp_analyser.zip RPCS3OpenGL log.zip RPCS3Vulkan log.zip Vulkan vp_analyser.zip

woj1993 commented 5 years ago

@kd-11 Do you want analyser dump of games that have problems both on master and this branch or only that regressed in this branch? I have interesting one that throws many "RSX:Unknow command" errors but it has these errors on master too.

kd-11 commented 5 years ago

There arent any real 'unknown commands' that are false alarms left except a handful that rpcs3 handles without issue. Dont worry about those, if a game freezes with unknown command spam then something else is wrong outside of RSX emulation. BTW real hardware crashes if you throw unknown commands at it, so in a sense rpcs3 is being too lenient.

woj1993 commented 5 years ago

@kd-11 Game don't freeze but slowns down considerably from 30 fps to 1-2 fps. It is trying to compile shaders again and again. This game also has problem with graphic. Should I test it with interpreters and give analysers log here if it don't work? Game I'm talking about is Dragon Ball Raging Blast 2 Demo and probably full version too. When these errors happens characters get weird bugs on them including begin invisible. I will edit this comment with literal copy from output in case I remember wrongly.

legend800 commented 5 years ago

^^ Exact same behavior in my troubled game Conan. Even in OpenGL, I can get in but instead of the master branch of 30 fps, it's 2 fps and I can't move and I see the shader compile over and over, with gfx disappearing/reappearing. I had to kill it finally which crashed the emu.

isJuhn commented 5 years ago

On the second level of R&C ACiT it crashes your driver again, note that this is without commit cc8ab13a7f38d03ffeadc620355eb8f1a5638489 vp_analyser.zip

kd-11 commented 5 years ago

@woj1993 I tested raging blast 2 - it has infinite compilation on master as well but its problems seem to come from fragment shader selection not vertex program which this PR is for.

Asinin3 commented 5 years ago

Just tested Conan on the new commit and it's the same as master, no regressions here. Graphics are normal and it's not endlessly compiling shaders either (check OGL and VK). Silent Hill Downpour is also fine in new commit.

kd-11 commented 5 years ago

According to testers:

Is there any real regression left? Will investigate ACiT crash asap.

stride21 commented 5 years ago

Resistance 3 still gets a driver crash with the latest commit while in master its gets this message. master Resistance 3 never went ingame so I'm not sure if it would be considered a regression. Master also doesn't have the infinite loop error before crashing.

legend800 commented 5 years ago

Conan is still broken on latest commit. I've tried 7 times and can't even get in game anymore. OpenGL/Vulkan, clear all cache, but it freezes 95% of the time on the intro loading screen. Master is 100% stable for me.

I got to the menus once but then it froze with this: F {rsx::thread} 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:1083)

RPCS3.log.gz

vp_analyser.zip

2018-07-04 09_41_35-fps_ 29 95 _ opengl _ 0 0 5-f2a7cb09-rsx_volatile _ conan bles00076

kd-11 commented 5 years ago

Retest

Asinin3 commented 5 years ago

I had some problem going ingame with conan as well but it was a just a little bit random, it went ingame the first try with this PR but then later i couldn't go ingame (tried for 20mins) so i used interpreters and it worked right away. When I was ingame the graphics were fine and it wasn't compiling shaders. The issue which was reported (graphical regression and repeatedly compiling shaders) was indeed fixed though. I never had it crash with the VK Device lost error either.

Edit: Also, conan is only white if you use Write Color Buffers, I noticed this on Master as well though so it doesn't belong in this PR...

legend800 commented 5 years ago

Well I just spent some time with the latest Master build and strangely experienced the same behavior - hanging on the load screen, vulkan api call fail freeze upon entering gameplay. So either it was broken in the past day or two or something from this PR's build contaminating something leading to this - though again I tried clearing ALL the caches, so that's seem unlikely.

Anyway, tried the latest commit from a few mins ago, and I was able to get past the load screen a few times (no longer though). Still couldn't use Vulkan because of the error below. On opengl, I could get all the way to gameplay, but it's the same behavior reported earlier - 2fps, can't move and constant shader compiling.

With Vulkan: F {rsx::thread} 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:1083)

2018-07-04 10_29_10-fps_ 2 12 _ opengl _ 0 0 5-2a166ce8-rsx_volatile _ conan bles00076

kd-11 commented 5 years ago

Removing spam not related to the current task at hand.

Xcedf commented 5 years ago

Great improvemnt, R&C QForce ingame for the first time (with RSXio hack of course) 4 5 same for R&C Nexus 6

ScorchEmber256 commented 5 years ago

@Xcedf Looks almost perfect, how did you enable the RSXIO hack? Did you compile a new build?

isJuhn commented 5 years ago

@ScorchEmber256 https://github.com/isJuhn/rpcs3/commit/8daad344f9bf9a7a5b6c89860bf378b523a72b1d

legend800 commented 5 years ago

All effects seem fixed with the latest commit! Game may be perfect at this point...

2018-07-04 17_28_27-fps_ 60 05 _ vulkan _ 0 0 5-df990f95-rsx_volatile _ tmnt_ turtles in time re-she