Dxvk: Overwatch hair/fur/fuzz rendering glitches

Created on 13 Feb 2019  路  16Comments  路  Source: doitsujin/dxvk

Hair seems to render very strangely in Overwatch for me, and I'm not sure why:

screenshot_2019-02-13_13-23-35

Each frame the hair changes, but it always has seemingly random transparent portions for some reason.

Software information

Overwatch. Tried "Low" and "Epic" graphics quality and got the same effect.

System information

Apitrace file(s)

... working out how to capture this right now. Will update in a few moments once I get it, but want to get this report in now before I lose my progress in writing this.

Log files

amd radv

All 16 comments

Also, just noticed this seems to not happen with the wine-provided d3d stuff, only DXVK.

The trace from "apitrace -a dxgi" looks like it's rather short, and I'm not sure why. I removed dxvk from the wine prefix and zapped the DLL overrides, but there's still only like 6 API calls recorded via apitrace? Overwatch.trace.zip

Maybe it's short because apitrace is spewing these a lot during the capture:

apitrace: warning: caught exception 0x80000004
apitrace: flushing trace
apitrace: warning: caught exception 0x80000004
apitrace: flushing trace
apitrace: warning: caught exception 0x80000004
apitrace: flushing trace
apitrace: warning: caught exception 0x80000004
apitrace: flushing trace
apitrace: warning: caught exception 0x80000004
apitrace: flushing trace
apitrace: warning: caught exception 0xc0000420
apitrace: flushing trace
apitrace: warning: caught exception 0x80000004
apitrace: flushing trace
apitrace: warning: caught exception 0x80000004
apitrace: flushing trace
apitrace: warning: caught exception 0x80000004
apitrace: flushing trace
apitrace: warning: caught exception 0x80000004
apitrace: flushing trace

IIRC this is a known LLVM bug on Vega, please try llvm-git.

@doitsujin Do you know which commits in llvm are relevant to this issue? Is there an upstream bug report I could look at?

@tycho i was told that LLVM 7.0.1 is causing those issues try LLVM 6.*

I don't have those issues on my end though..

Distro?

Arch Linux. I build my own LLVM and mesa though (among many other packages):

https://git.uplinklabs.net/steven/projects/archlinux/ec2/ec2-packages.git/tree/llvm/PKGBUILD
https://git.uplinklabs.net/steven/projects/archlinux/ec2/ec2-packages.git/tree/mesa/PKGBUILD

I'm working on getting the LLVM release_80 branch built. Hopefully mesa already has support for it.

@tycho Tested on gentoo on my end using AMD 7870 and LLVM 7.0.1 had no issues excluding frezes every few minutes. Your provided screenshot seems to output LLVM 7.0.1 maybe you miss some commits?

Currently using LLVM 7.0.1 from the release tarballs. Does your Gentoo ebuild have some extra patches on top?

Sending ebuild: https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm/llvm-7.0.1.ebuild

Seems to provide only documentation patch

Also uses sys-devel/llvm-common and sys-devel/llvmgold for runtime

Maybe you miss some dependency?

If I was missing dependencies I'd expect a more dramatic failure.

If I was missing dependencies I'd expect a more dramatic failure.

Depends on many variables, happend to me many times that software partially worked and didn't output any errors about missing dependency that caused the issues.

Btw. if you are using master or versions that would be considered insane for noob distros you can expect simmilar issues it usually lacks idiot-proof functions alike error for missing dependency.

EDIT: i can't write + more info

@tycho

Do you know which commits in llvm are relevant to this issue? Is there an upstream bug report I could look at?

No and no. Bugs in the AMDGPU backend are not reported to LLVM directly, but to Mesa. I remember there being a mesa bug report about this exact issue, but I can't find it right now.

@Kreyren please don't suggest anyone to use LLVM 6, it's an utterly broken mess that is only ever going to cause sadness and despair.

Yeah, wasn't going to consider rolling back LLVM. The only sensible route is rolling forward.

The only sensible route is rolling forward.

mad man o.o it may take some time untill upstream fixes issues alike.. i was running gentoo on master and make system-wide update non-stop.. it practically needs full time babysit and lots of patching.. If you are going this route i would suggest you to make a backup OS and systemrescuecd patches for chroot, etc..

Okay, just tested LLVM release_80 branch + mesa 19.0 branch. Looks flawless now.

mad man o.o it may take some time untill upstream fixes issues alike.. i was running gentoo on master and make system-wide update non-stop.. it practically needs full time babysit and lots of patching.. If you are going this route i would suggest you to make a backup OS and systemrescuecd patches for chroot, etc..

Why? It's just LLVM and Mesa. Worst case scenario X11 wouldn't start and I'd have to roll back.

Okay, just tested LLVM release_80 branch + mesa 19.0 branch. Looks flawless now.

Alright, thanks for reporting back. The respective stable versions aren't too far away anyway.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

doitsujin picture doitsujin  路  89Comments

SergeyLatyshev picture SergeyLatyshev  路  57Comments

zaps166 picture zaps166  路  436Comments

doitsujin picture doitsujin  路  171Comments

mozo78 picture mozo78  路  56Comments