protonscr

[d3d9] Prince of Persia: Post-processing broken - lighting, bloom, more

dxvkclosed appid 2008
doitsujin/dxvk#1537 · opened 2020-03-28 by konkode · updated 2020-04-03 · 6 comments · github · game page · search this game
Kkonkode 2020-03-28 github

This game's "post-processing" setting is completely bonkers in DXVK. Disabling post-processing leads to no obvious bugs. The game works great in WineD3D.

- GPU: RX 570
- Driver: Mesa 20.0.2
- Wine version: lutris-5.4
- DXVK version: 1.6, 1.5, and D9VK 0.40.1

- Log file: Prince of Persia_d3d9.log
- Trace: Google Drive link

Lighting becomes blown out and static light sources appear "stuck" on the screen as if it were part of a HUD. There's also a good amount of texture dithering and Z-fighting in DXVK. Some examples below, compared against WineD3D.


This momentary flash becomes a wall of artifacts in DXVK. Similar artifacts can occur on a smaller scale when panning the camera pans changes the lighting.

My trace file loads into this scene. All this red stuff stays in place even with camera and character movement. This is the "HUD" effect I mentioned.

More static detail lighting at the very start of the game. It persists through this whole section of play in the canyon, until a cutscene.

ProtonDB reports look good because the game defaults to NO post-processing. It has to be enabled in a settings app buried in a subfolder, or in the registry.

Thanks for reading this. I'm on Discord if you need further help with the game.

Kkonkode 2020-03-29 github

I've confirmed this isn't an ACO issue.

I've also tried the following DLLs in winetricks after looking at my WINEDEBUG log:

d3dcompiler_47
d3dx9_39
d3dxof
d3dx9

Here's the log's loaded DLLs

wineDebug_POP08.log

WWinterSnowfall 2020-03-31 github

This game's "post-processing" setting is completely bonkers in DXVK.

I hope you don't mind me asking, but which "post-processing" setting are you referring to? I'm unable to find anything similar in the game launcher's graphics tab.

Edit: Let me rephrase that. I am trying to reproduce the bug on Nvidia and would like to know exactly what settings you've used.

Kkonkode 2020-04-01 github

I hope you don't mind me asking, but which "post-processing" setting are you referring to? I'm unable to find anything similar in the game launcher's graphics tab.

The launcher only has a slider with quality presets, but these represent changes to individual graphics settings in the registry.

There's a PostEffects value which is set to 1 on Medium and 2 on High. These errors occur on both 1 and 2, but are more severe on 2 because more effects are enabled.

Setting the value to 0 results in none of these errors appearing.

pop08Reg

WWinterSnowfall 2020-04-01 github

There's a PostEffects value which is set to 1 on Medium and 2 on High. These errors occur on both 1 and 2, but are more severe on 2 because more effects are enabled.

I dug a little after I asked and found the registry entries, so I assumed as much, but thanks for confirming.

That being said, I have the GOG version of the game which defaults to the High preset in my case (PostEffects 2).

The game looks fine on my GTX 1070, so I'm guessing it's an AMD only issue. The only thing I noticed is that it doesn't fit the screen properly at 1080p, which is probably a game bug. I played it for about half an hour and got to most, if not all, of the scenes you've captured above without finding any issues.

Prince_Of_Persia

CCME42 2020-04-01 github

I can only repro this with radv and there is this validation error:

VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-03184(ERROR / SPEC): msgNum: 0 - vkCreateRenderPass2(): Subpass 0 includes a VkSubpassDescriptionDepthStencilResolve structure with invalid stencilResolveMode=2. The Vulkan spec states: The value of stencilResolveMode must be one of the bits set in VkPhysicalDeviceDepthStencilResolveProperties::supportedStencilResolveModes or VK_RESOLVE_MODE_NONE (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkSubpassDescriptionDepthStencilResolve-stencilResolveMode-03184)
    Objects: 1
        [0] 0, type: 0, name: NULL
Mmisyltoad 2020-04-03 github

Resolved by #1548

Launch options