protonscr

Overwatch hair/fur/fuzz rendering glitches

dxvkclosed amd radv
doitsujin/dxvk#916 · opened 2019-02-13 by tycho · updated 2019-02-14 · 11 comments · github
1 matching comments, n / p to jump
Ttycho 2019-02-13 github

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

Ttycho 2019-02-13 github

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
Ddoitsujin maintainer 2019-02-13 github

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

Ttycho 2019-02-13 github

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

Ttycho 2019-02-13 github

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.

Ttycho 2019-02-13 github

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

Ttycho 2019-02-13 github

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

Ddoitsujin maintainer 2019-02-13 github

@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.

Ttycho 2019-02-13 github

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

Ttycho 2019-02-14 github

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

Ttycho 2019-02-14 github

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.

Ddoitsujin maintainer 2019-02-14 github

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.

Error codes