rpcs3 icon indicating copy to clipboard operation
rpcs3 copied to clipboard

XCOM: Enemy Unknown Shader cache crash

Open Triticum0 opened this issue 2 years ago • 12 comments

Quick summary

when testing this game I ran into a shader cache issue

Details

When testing this game I ran into an issue where the game would crash when the shader cache had been compiled when reboot to go into gameplay.

This seems to also happen when using legacy shaders on the first boot

Error: "F {PPU[0x1000012] Thread (RenderingThread) [0x00690b94]} VM: Access violation reading location 0x5 (unmapped memory)"

Attach a log file

Legacy shader Async Shaders

Attach capture files for visual issues

No response

System configuration

RPCS3 v0.0.27-14927-7feb1367 Alpha | master | FW 4.88 | 5.15.106-1-MANJARO AMD Ryzen 5 2600 | 12 Threads | 15.95 GiB RAM | AVX+ | FMA3 GPU: NVIDIA GeForce RTX 3060 Ti (530.41)

Other details

No response

Triticum0 avatar Apr 26 '23 15:04 Triticum0

Retested with v0.0.30-15914-2a1af17f. No changes

Triticum0 avatar Jan 05 '24 17:01 Triticum0

@Triticum0 is that still an issue? many fixes on shaders have been made in the last year

digant73 avatar Oct 22 '25 14:10 digant73

Still an issue, I was testing the demo, so you can download the game debug it if you want.

XCOM Enemy Unknown Demo [NPEB90445].log.gz

·F 0:37:37.313519 {PPU[0x1000013] Thread (RenderingThread) [0x00690b94]} VM: Access violation reading location 0x3 (unmapped memory) doesn't mention shaders but clearing them fixes the issue.

Triticum0 avatar Oct 23 '25 15:10 Triticum0

Understood, I will try the demo. Maybe these issues present only when cached info are present could be analyzed quite easily now.

digant73 avatar Oct 23 '25 15:10 digant73

I confirm the issue. If shader cache is used (e.g. re-starting the game) the game crashes just at the beginning with the reported error message, However, if Disable On-Disk Shader Cache in Debug menu is enabled, then there is no crash. Disabling that setting will re-activate the issue. Just in case this info is useful for main developers

digant73 avatar Oct 23 '25 17:10 digant73

Another not going ingame using shader interpreter also crashes the game. even when I cleared shader cache

Triticum0 avatar Nov 09 '25 20:11 Triticum0

@kd-11 maybe this issue could be easily reproduced by yourself and fixed? I mean the crash when Disable On-Disk Shader Cache is disabled. It seems inconsistent data are read (or maybe written) from file compared to no issue if cache on disk is disabled. Using Async (multi threaded) in my case

digant73 avatar Nov 11 '25 19:11 digant73

Does CPU blit (without WCB/WDB) fix the issue? I'm almost completely certain this has nothing to do with the actual rendering but either a timing or memory lock side-effect.

kd-11 avatar Nov 11 '25 22:11 kd-11

no difference with cpu blit enabled. it crashes with shader cache enabled. No crash with shader cache disabled

digant73 avatar Nov 11 '25 22:11 digant73

Very odd. Checking.

kd-11 avatar Nov 11 '25 23:11 kd-11

Just to let you know all my issues except Little Big Planet 3, BATTLEFIELD 3, Battle: Los Angeles and Where the Wild Things Are all are demos some hopeful there easy for you to get a hold of to debug. Where the Wild Things Are is a demo but from demo disk so not easy to get hold of.

Triticum0 avatar Nov 11 '25 23:11 Triticum0

This one is a nightmare to debug. We just have generic data trampling going on. You can get further by disabling occlusion queries but then all the graphics break. I'll have to come back to this when I have a lot of time to dive deep into the PPU logic.

kd-11 avatar Nov 12 '25 00:11 kd-11