bo3b / 3Dmigoto

Chiri's DX11 wrapper to enable fixing broken stereoscopic effects.
Other
688 stars 109 forks source link

God of War shaders need additional functionality (64 UAV slots) #153

Open masterotaku opened 2 years ago

masterotaku commented 2 years ago

Yesterday I started fixing God of War (the port of the 2018 PS4 game), and after configuring 3Dmigoto correctly to get a 3D image, I noticed something when I tried to fix things: regexes weren't working for the shaders I wanted, no matter how short and simple the sentence to match was.

Other shaders that I don't need to edit can match with regexes.

The ones I need (and that don't match) have something in common. This comment inside the dumped shader: // Note: shader requires additional functionality: // 64 UAV slots

Talking to bo3b, it seems that that problem can be the reason why regexes aren't working. I have manually fixed some of the shaders I need, and I don't see unwanted side effects for the moment. But I can't be sure.

I have attached a zip file with my "d3dx.ini" with the necessary configuration to run the game (and get a 3D image), two shader examples (a compute shader I want to match with one of the regexes in the ini, and a random pixel shader that was exported and contains the 64 UAV slots comment), logs and ShaderUsage.txt.

The specific config to run the game was "hook=recommended", "APP_COMPAT_SHIM = 2" alongside other profile flags, and the "[TextureOverrideBuffer1]" block I wrote.

GodOfWar_logs_config_shaders.zip