protonscr

FidelityFX CACAO in World of Warcraft

vkd3dclosed
HansKristian-Work/vkd3d-proton#605 · opened 2021-04-05 by jhu54 · updated 2021-04-24 · 5 comments · github
Jjhu54 2021-04-05 github

This is an issue with dx 12 only on both amdvlk and mesa drivers in World of Warcraft Shadowlands with FidelityFX CACAO enabled. Here is the baseline image from Win 10 with CACAO enabled:

CACAO on Win 10

The same location in Linux:
with CACAO

Note the grid pattern on the snow in the second image. This is using vkd3d 2.2 in the following setup (rx6700xt GPU):
System:
Host: GGI-LinuxMint Kernel: 5.11.11-xanmod1 x86_64 bits: 64 compiler: N/A
Desktop: Cinnamon 4.8.6 wm: muffin dm: LightDM
Distro: Linux Mint 20.1 Ulyssa base: Ubuntu 20.04 focal
CPU:
Topology: 6-Core model: Intel Core i5-10400F bits: 64 type: MT MCP
arch: N/A L2 cache: 12.0 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
bogomips: 69597
Speed: 4000 MHz min/max: 800/4300 MHz Core speeds (MHz): 1: 4000 2: 4000
3: 4000 4: 4000 5: 4000 6: 4000 7: 4000 8: 4000 9: 4000 10: 4000 11: 4000
12: 4000
Graphics:
Device-1: AMD vendor: Tul driver: amdgpu v: kernel bus ID: 03:00.0
chip ID: 1002:73df
Display: x11 server: X.Org 1.20.9 driver: amdgpu,ati
unloaded: fbdev,modesetting,radeon,vesa alternate: nvidia
resolution: 2560x1440~60Hz
OpenGL:
renderer: AMD NAVY_FLOUNDER (DRM 3.40.0 5.11.11-xanmod1 LLVM 12.0.0)
v: 4.6 Mesa 21.1.0-devel (git-5c8a7fa 2021-03-31 focal-oibaf-ppa)
direct render: Yes

Jjhu54 2021-04-05 github

Here are the trace files I generated for this location with the VKD3D_DEBUG set to trace.

trace cacao.log
trace assao.log

Aaufkrawall 2021-04-05 github

This is also true with DXVK (at least it looks way too noisy). Tough imho the game's ASSAO looks better anyway, even when reducing SSAO quality to high to save some fps.

HHansKristian-Work maintainer 2021-04-06 github

CACAO is implemented such that it relies on very specific rounding happening in texture filtering. This is not a bug we can fix in vkd3d-proton. It's also a bit iffy in the standalone demo as well on RADV only. Specifically, this relates to TRUNC_COORD behavior on AMD gpus.

OOschowa 2021-04-06 github

There is a Mesa MR that fixes at least the AMD CACAO sample on RADV + vkd3d-proton:https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10036
Probably also fixes the game.

Jjhu54 2021-04-24 github

Can confirm that this is fixed in World of Warcraft with Mesa 21.2.0-devel (git-7e905bd ) with vkd3d 2.3.

Launch options