RPCS3 / rpcs3

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

[Regression] Frostbite games - No longer goes ingame with Force CPU Blit Emulation (#14934) #14952

Open Ordinary205 opened 8 months ago

Ordinary205 commented 8 months ago

Quick summary

Ever since this PR #14934 got merged into master, this causes a regression on frostbite games to instantly crash before going menus/ingame when enabling WCB+RCB+RSX Tiled memory and Force CPU Blit Emulation. This crash doesnt happen without enabling Force CPU Blit Emulation.

Details

15842: (Working with Force CPU Blit) Battlefield 3 works Need for Speed Rivals works Need for Speed The Run works

15844: (Regression with Force CPU Blit) Sometimes when this broken regression effects shows up on screen, the game crashes. Battlefield 3 regression Need for Speed Rivals regression Need for Speed The Run regression

Build with regression

v0.0.29-15842-45c865ed

Attach two log files

15842: Working Battlefield3works.log.gz NFSRivalsworks.log.gz NFSTheRunworks.log.gz

15844: Regression Battlefield3doesntwork.log.gz NFSRivalsdoesntwork.log.gz NFSTheRundoesntwork.log.gz

Attach capture files for visual issues

No response

System configuration

AMD Ryzen 5900X 12-Core Processor | 24 Threads | 15.89 GiB RAM | RTX 3080 driver 546.33.0.0 | Windows 10 Pro 22H2

Other details

I've noticed that enabling Force CPU Blit Emulation fixes yellow graphics with RSX tiled memory for frostbite games. Although this causes the mountain textures to render less accurately on NFS Rivals, or maybe its because "Disable MLAA" patch didnt have this issue.

kd-11 commented 8 months ago

Try with https://github.com/RPCS3/rpcs3/pull/14964

I don't get any reasonable crash with rivals just nonsensical errors. Since I cannot see what I'm clicking on, it makes it harder to tell if I clicked the wrong thing or not. That bug is tracked by https://github.com/RPCS3/rpcs3/issues/14682

As far as this ticket goes, I'm going to just park it until after the GPU blit issues are all resolved. It's not a good use of time to debug options meant for developers when the features around them are incomplete.

Also note that CPU blit behavior will be completely different now. RSX tiling was not implemented on the CPU blit path previously, so you will now see more issues with it enabled as it gets more features added. If you were getting better visuals this was the reason, RSX tiling simply did not work before so the yellow stuff vanished. That in itself was a bug.