protonscr

minor visual ground corruption in Heroes of the Storm

dxvkclosed needs apitrace
doitsujin/dxvk#777 · opened 2018-11-21 by aufkrawall · updated 2019-06-15 · 21 comments · github
1 matching comments, n / p to jump
Aaufkrawall 2018-11-21 github

There is minor visual corruption on the ground in shape of dark lines. On some maps it's basically not visible, while on others it is.
A map where it is quite visible e.g. is Infernal Shrines:
https://abload.de/img/screenshot_20181121_1a3efo.png
Happens with both radv and amdvlk.

Edit: I replaced d3dcompiler_47.dll and d3dx11_42.dll in system32 dir with the ones of the game to avoid other problems.

Software information

Latest HotS version, chosen detail setting doesn't seem to matter.

System information

  • GPU: RX 560
  • Driver: mesa-git 19.0.0_devel.105843.61b535437e and amdvlk v-2018.Q4.2
  • Wine version: wine-tkg-staging-esync-pba-nine-optimized-git 3.20.r17.gbd5aed0c
  • DXVK version: dxvk-wine64-git 0.92_34_gdbd7db3

Apitrace file(s)

I failed at it the last time, would have to try again.

Log files

Ddoitsujin maintainer 2018-11-21 github

Can't really do anything without an apitrace. Looks like a driver bug though.

Aaufkrawall 2018-11-21 github

I can't recall for sure, but I think I also got this with Nvidia.

Ddoitsujin maintainer 2018-11-21 github

Is there a way to reproduce this without having to play the game for 20+ hours?

Aaufkrawall 2018-11-21 github

Yes, it's easy to reproduce. :)
In the menu on the top right, you can start a custom match where you can freely select every map:
https://abload.de/img/cm2himk.png

Ddoitsujin maintainer 2018-11-21 github

i'll have to install it first, but will look into it at some point.

Aaufkrawall 2018-11-21 github

Thanks a lot!
It's already very enjoyable (just dumped Windows...), so I can wait. :)

RRiesi 2018-12-01 github

The bug does not show on Nvidia, so its probably a driver bug. I was able to get an apitrace of HotS that is showing the scene in the screenshot. The trace was done on Linux+DXVK with a Nvidia card, if this does not help I will do a windows trace.

Trace:
https://drive.google.com/open?id=12GAxmYxXSINPLly7Up6FMKe-a-NotaMm

Aaufkrawall 2018-12-01 github

Thanks for doing this and proving my memory wrong.
Right until this very moment I was trying to run it with WineD3D, but it failed for some odd reasons. Doesn't doitsujin need an apitrace without DXVK active? (Well, but if it's a driver bug anyway..)

Quite weird though that amdvlk is affected the same.

RRiesi 2018-12-01 github

Doing a trace with DXVK is only a problem, if the error is baked into the trace. I will do a trace on windows, if this one does not help. :)

Aaufkrawall 2018-12-01 github

Maybe it's also worth mentioning that the game only looks correct with Nvidia on Windows. With AMD & Intel DX11, or every vendor (including Nvidia) + DXVK, the boss temple on the map "Tomb of the Spiderqueen" is not correctly shadowed:
https://abload.de/img/screenshot_20181201_1f7fn4.png

So I suppose it might be possible that an Nvidia Windows trace might not be representative for other scenarios.

Aaufkrawall 2018-12-15 github

@doitsujin Would it be helpful if I created an apitrace of the game's DX11 renderer on Windows?

RRiesi 2018-12-16 github

I have a trace from the Spider Tomb on Windows laying around, but more traces don't hurt either.
Camera control was hard due to the FPS, but I got the temple in shot.
https://drive.google.com/open?id=1knpgB58eKVNQaN--knt9DWcThHFbiZkS

Aaufkrawall 2018-12-25 github

When I try to run the game with WineD3D, it refuses to start, complaining D3D11 support would be missing.
On Windows, the game runs with something like 0.5fps with DLLs for apitrace, which makes it close to impossible to get to the point where it would render a normal game scene.
:(

Aaufkrawall 2019-01-19 github

I found out the the issue does only exist with amdvlk (open) and radv, but not with amdvlk (proprietary Linux + Windows).
So, I'm going to report it to the radv devs and see what will turn out. Probably a llvm issue?

There are some other visual issues with amdvlk (both proprietary and open), making them not a real alternative. Btw. interesting that the Windows driver is faster than the proprietary one for Linux (~155 vs. 165fps).

Edit: I am referring to the initial "dark lines in ground texture" issue.

Aaufkrawall 2019-02-08 github

Good news: It works again with wined3d11, now it gets interesting:
The ground line corruption is also there with wined3d. I suppose this means this is a bug in llvm then? Quite striking that it affects Vulkan and OGL the same.
Is there anything special that I need to know when reporting a bug to llvm, or should it be done by developers anyway?

The temple on the map "Tomb of the Spiderqueen" however looks correct (read: like with Nvidia on Windows DX11) with wined3d11 on radeonsi.
So, perhaps it is fixable in DXVK? Spoofing an Nvidia card doesn't help.
For some reason (It doesn't load the dll inside the directory?), no tracelogs are created though.

Ddoitsujin maintainer 2019-02-08 github

First of all, sorry for the delay.

The temple on the map "Tomb of the Spiderqueen" however looks correct (read: like with Nvidia on Windows DX11) with wined3d11 on radeonsi.

Can you take a screenshot that shows an obvious difference? I don't know what it's supposed to look like and even when replaying the trace that Riesi provided, I fail to see any difference between wined3d rendering and dxvk.

It also doesn't help that the replay is so fast. I can hack some delay into DXVK to slow it down, but wined3d is a bit of a hassle.

Is there anything special that I need to know when reporting a bug to llvm, or should it be done by developers anyway?

Don't report bugs to LLVM, report to mesa instead.

Aaufkrawall 2019-02-08 github

Regarding the "temple bug": The screenshot posted above is still valid for the look of it with DXVK:
https://abload.de/img/screenshot_20181201_1f7fn4.png

That's how it looks with wined3d & radeonsi (and Nvidia DX11):
https://abload.de/img/screenshot_20190208_2xpjsb.png

That's the line corruption with wined3d (just for the record):
https://abload.de/img/screenshot_20190208_2dkkjd.png

I already reported the line issue to the Vulkan driver devs.
radv (there is also a renderdoc capture available):
https://bugs.freedesktop.org/show_bug.cgi?id=109394

amdvlk:
https://github.com/GPUOpen-Drivers/AMDVLK/issues/83

However, I haven't received any feedback in both cases so far.

Regarding the tracelog:
I'd love to provide a longer one now that wined3d works again for me, but, as I said, I unfortunately can't get apitrace to work by putting the dlls anywhere on Linux. It "works" on Windows, but the game then runs too slowly to load a map.

Ddoitsujin maintainer 2019-02-09 github

The temple bug should be fixed, this is another case of a game doing some extremely dumb shit and relying on undocumented (and probably undefined) D3D11 behaviour.

Aaufkrawall 2019-02-09 github

It looks fine now. Very cool that you could fix it, thanks a lot!

Aaufkrawall 2019-04-01 github

Closing, as the initial issue apparently is no DXVK bug.

I btw. had some performance issues in HotS (frametime spikes) which seem to have disappeared with latest DXVK git-master (at least I suspect it was DXVK and not mesa or wine).

Aaufkrawall 2019-06-15 github

An update regarding the line artifacts matter: amdgpu-pro-vulkan 19.20-812932 finally seems to have incorporated fixes for DXVK from open amdvlk and games generally seem to run without corruption issues now.
The proprietary shader compiler doesn't produce the line corruption issue, so the game now finally runs without any corruption on AMD & DXVK. Also, the proprietary shader compiler is much faster finished on the CPU, decreasing shader compile stutter.

Edit: Meh. Unlike open amdvlk, it doesn't seem to have a full-featured disk shader cache.

DLLs