rpcs3
rpcs3 copied to clipboard
Ratchet & Clank Future: A Crack in Time and Resistance 2's foliage is broken on Windows
Quick summary
Only one piece of foliage is visible at a time on Windows 10 NVIDIA.
Details
Win10:
Steam Deck:
Attach a log file
Attach capture files for visual issues
Windows 10 RSX: ACIT_Plant_Win10.zip.001.zip ACIT_Plant_Win10.zip.002.zip
Steam Deck RSX: ACIT_Plant_Linux.zip.001.zip ACIT_Plant_Linux.zip.002.zip
System configuration
Desktop:
- SYS: RPCS3 v0.0.30-15968-e23db7ef Alpha | master
- SYS: AMD Ryzen 5 3600 6-Core Processor | 12 Threads | 15.95 GiB RAM | TSC: 3.600GHz | AVX+ | FMA3
- SYS: Operating system: Windows, Major: 10, Minor: 0, Build: 19045, Service Pack: none, Compatibility mode: 0
- RSX: Found Vulkan-compatible GPU: 'NVIDIA GeForce RTX 2070 SUPER' running on driver 546.33.0.0
- SYS: Firmware version: 4.88
Steam Deck:
- SYS: RPCS3 v0.0.30-15968-e23db7ef Alpha | HEAD
- SYS: AMD Custom APU 0405 | 8 Threads | 14.47 GiB RAM | TSC: 2.800GHz | AVX+ | FMA3
- SYS: Operating system: POSIX, Name: Linux, Release: 6.1.52-valve14-1-neptune-61, Version: #1 SMP PREEMPT_DYNAMIC Thu, 04 jan 2024 23:31:22 +0000
- RSX: Found Vulkan-compatible GPU: 'AMD Custom GPU 0405 (RADV VANGOGH)' running on driver 23.2.99
- Sys: Firmware version: 4.85
Other details
I thought that this was going to be the same as the #10754 issue I made, but apparently Insomniac changed their foliage system for this game.
Hi - I’ve just finished Resistance 2 (another Insomniac game) on the steam deck and had the exact same issue with a lot of the grass there (very evident in the prologue level).
By eye, it looks like it could be the same asset. I tried various settings that were suggested for other Insomniac games in case that may do something but didn’t have any luck.
I’m on my phone at the moment and this popped up so afraid I haven’t got anymore info to hand but thought it worthwhile to mention as it’s identical.
The mentioned PR(#15065) should've fixed that on Steam Deck, but on windows it's broken in roughly the same way that #10754 is, in that only one plant is visible at a time. I've been debating with myself whether to close out this issue and combine it with my old one or rename this to just include the remaining Windows issue, but I figured there are some key differences between them that this is worth keeping open. Beyond this only being a problem on Windows for both ACIT and now Resistance 2, it seems like ACIT switched to Deferred Rendering and these plants sort of "blank draw" every plant that's suppose to be on screen during the normal pass, meaning they're not part of the scene normal and have a weird semi-translucent shadow effect. But thank you for confirming my suspicions that Resistance 2 would be affected by this as well.
You can leave it open. I might know why only one plant draws. Insomniac uses a custom rendering API with some tricks to emulate more advanced features on RSX (console allows you that kind of access) and I think I botched the parsing for it. It will be a few days before I can verify though.
Say I'm wondering what configuration actually fixes/breaks this anyways; is it the Driver, the Hardware, or is it really just the OS? Whatever the issue is, it's not something a RSX capture saves, as viewing it on one platform is different than viewing it on another. I only have my Windows/NVIDIA Desktop and Linux/AMD Steam Deck, but I wonder what happens on Windows/AMD or Linux/NVIDIA.
Btw, please test if this is fixed in the WIP multi-context work. https://github.com/RPCS3/rpcs3/pull/15421 I fixed some minor issues during the refactor, even though it is still incomplete.
Btw, please test if this is fixed in the WIP multi-context work. #15421 I fixed some minor issues during the refactor, even though it is still incomplete.
just tried it on my Win11 RX 6700XT and still got foliage flickering in and out
I'll have to take a look in between tasks. The insomniac engine does some wild things with the draw registers but at least I know their tricks. I probably broke something when optimizing.
Time for another retest. I found some horrible bugs with the multi-context refactor that are now fixed in master.
It's still broken the same way as it was before, in fact I don't see any fixes that effect R&C games as of late.
Hmm maybe it's because I'm on AMD. Let me reinstall my NV setup and see if it's still broken. Is there another foliage bug in R&C titles or only this one?
Well that depends on how you count the Tools of Destruction/Quest for Booty/Fall of Man bug(#10754), as that's similar but affects all platforms(and has a habit of overdrawing certain shaders), but I was talking about R&C bugs in general before.
Definitely NVIDIA-only bug; I can reproduce the bug on NV but not on AMD.
Definitely NVIDIA-only bug; I can reproduce the bug on NV but not on AMD.
happens for me still AMD 6700XT its the vegetation flickiering in and out right?
Definitely NVIDIA-only bug; I can reproduce the bug on NV but not on AMD.
happens for me still AMD 6700XT its the vegetation flickiering in and out right?
I don't have that on the same GPU. Maybe you mean in a different game? I have only checked "a crack in time"
Definitely NVIDIA-only bug; I can reproduce the bug on NV but not on AMD.
happens for me still AMD 6700XT its the vegetation flickiering in and out right?
I don't have that on the same GPU. Maybe you mean in a different game? I have only checked "a crack in time"
it happens in tools of destruction
Definitely NVIDIA-only bug; I can reproduce the bug on NV but not on AMD.
happens for me still AMD 6700XT its the vegetation flickiering in and out right?
I don't have that on the same GPU. Maybe you mean in a different game? I have only checked "a crack in time"
it happens in tools of destruction
Oh no, I have that down as a distinct issue in #10754. Why? Because unlike this issue, that one affects all platforms and not just NVIDIA. So when you test for this issue in particular, please test with A Crack in Time or Resistance 2, and not the Insomniac games made before or after. I don't know why these games in particular do this, but I have a feeling it's due to how the emulator handles the different Insomniac engine versions.
This particular bug is caused by floating point conversion to fixed point which is hardware-dependent. We have some code to try and get everything to behave the same but there is obviously a difference in outcome due to the comparison hardware. For whatever reason comparisons are really dodgy on NVIDIA cards.
This particular bug is caused by floating point conversion to fixed point which is hardware-dependent. We have some code to try and get everything to behave the same but there is obviously a difference in outcome due to the comparison hardware. For whatever reason comparisons are really dodgy on NVIDIA cards.
So does that mean that the other issue I keep mentioning is actually different than this one despite looking the same, or it affecting all platforms because the older versions of the Insomniac engine are dodgier with this to the point where AMD cards can't rectify it?
Hard to tell. I have a workaround for this at least
Ok, figured this one out. RSX is using much lower precision for alpha test than I expected. We can get around this one by just applying some masks.
https://github.com/RPCS3/rpcs3/pull/15471 fixes this. Hopefully it doesn't break other games.