RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.42k stars 1.92k forks source link

Need for Speed: Rivals - Graphical Bugs #13947

Open Ordinary205 opened 1 year ago

Ordinary205 commented 1 year ago

Quick summary

Heres a list of what type of bugs that contains in this game.

Details

Attach a log file

RPCS3.log.gz

Attach capture files for visual issues

I'm not sure why but after I try to create or open the RSX Capture, it somehow gives me a VK_ERROR_DEVICE_LOST error. This is the only one capture that I got it to work. https://mega.nz/folder/MXBCHBjQ#cwWYyPJlFI67thiu4HrCOw

System configuration

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

Other details

Ordinary205 commented 1 year ago

Thanks to this PR #14647, most of the graphical glitches has been fixed for this game. I've edited a new lists for other graphical bugs. Which is, bushes spawning on the road, Read Color Buffers causes severe issues, and yellow graphics occurs when RSX tiling memory is enabled.

Trees/bushes spawns on the road or midair: NFS Rivals 2

RCB+RSX tiling memory fixes missing lighting, but still causes the lighting to appear corrupted: NFS Rivals 1 RPCS3.log.gz And yes, enabling RSX tiling memory is required to fix square mountain textures, or other.

kd-11 commented 1 year ago

For misplaced geometry try accurate spu.

Ordinary205 commented 1 year ago

Sadly, enabling accurate SPU DMA doesn't solve misplaced bushes. Need for Speed Rivals Accurate SPU

kd-11 commented 1 year ago

Sorry, I wasn't clear. I did not mean accurate DMA, but accurate SPU xfloat.

Ordinary205 commented 1 year ago

Still shows the same results when enabling accurate SPU xfloat. Need for Speed Rivals Accurate SPU XFloat RPCS3.log.gz

Darkhost1999 commented 1 year ago

I have only ever observed misplaced bushes when compiling shaders and never after shaders are compiled. Driving the entire map once will show plenty of spots with bushes in the air bushes on the road. But after compiled they're in the correct spot on my screen. Is there a specific road I should 2nd check this information? I notice your comment easily occurs when clearing all caches. I believe it can be narrowed down to just shader cache.

Ordinary205 commented 1 year ago

I have only ever observed misplaced bushes when compiling shaders and never after shaders are compiled. Driving the entire map once will show plenty of spots with bushes in the air bushes on the road. But after compiled they're in the correct spot on my screen. Is there a specific road I should 2nd check this information? I notice your comment easily occurs when clearing all caches. I believe it can be narrowed down to just shader cache.

I believe that you're right. The bushes doesn't misplaced after the shaders has compiled, but clearing the shader cache does make the bushes be misplaced. So apparently its a shader cache issue not the entire caches.

Removing shader caches:

Screenshot ![NFS Rivals 2](https://github.com/RPCS3/rpcs3/assets/125112932/4f7cc774-9f18-4c6f-8d45-8cc1f7ef57d8)

After shaders has compiled/restarting the game:

Screenshot ![NFS Rivals](https://github.com/RPCS3/rpcs3/assets/125112932/605f7d09-c4f0-4d68-9096-e76ff495832c)

RPCS3.log.gz

kd-11 commented 1 year ago

There are multiple shader caching strategies. By default we use a balanced approach using the async compiler, but this doesn't actually match what real hardware would do. You should test with either the legacy compiler or the async + interpreter option. If its fixed by either of them, we consider it to not be an issue.

Ordinary205 commented 1 year ago

I have good news, enabling legacy compiler fixes misplaced bushes when clearing shader caches. NFS Rivals RPCS3.log.gz

Ordinary205 commented 1 year ago

For some reason, this rectangle graphical effect occurs when playing the game after couple of hot pursuits/races.

Water splash effects: Rectangle water waves Smoke effects: Rectangle smoke effects RPCS3.log.gz