protonscr

[bisected] corruption regression in HotS avatars with RADV

dxvkclosed amd radv
doitsujin/dxvk#1768 · opened 2020-09-15 by aufkrawall · updated 2021-04-20 · 23 comments · github
Aaufkrawall 2020-09-15 github

Originally reported here, though hasn't gained much traction yet: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3362

There is avatar corruption after any hero has died:
https://storage.googleapis.com/fdo-gitlab-uploads/%40hashed/cb/a2/cba28b89eb859497f544956d64cf2ecf29b76fe2ef7175b33ea59e64293a4461/fef4d8da3bb1727f8df385bc954dc783/Screenshot_20200803_221141.png

This DXVK commit introduced the issue with RADV:
https://github.com/doitsujin/dxvk/commit/b9c56e3e97a09cb75107bcf05570e5d7636b8799

It doesn't occur with any other driver (ANV not tested).

Software information

Heroes of the Storm, maximum settings

System information

  • GPU: RX 480
  • Driver: occurs with recent mesa git-master and much older versions
  • Wine version: wine-tkg-staging 5.17.2
  • DXVK version: dxvk-master.41a49a9c1436bfb0a0c9441a3343f14c9317bbd3

Apitrace file(s)

Will do if required. RenderDoc capture: https://gitlab.freedesktop.org/mesa/mesa/uploads/4e515cd57ced93356ee8318236bbb22b/wine64-preloader_2020.08.03_22.12_frame4495.7z

Log files

HeroesOfTheStorm_x64_d3d11.log
HeroesOfTheStorm_x64_dxgi.log
(also tested with unpatched builds)

KK0bin maintainer 2020-09-15 github

An apitrace would probably be more useful than the Renderdoc capture.

Aaufkrawall 2020-09-15 github

Unfortunately, apitrace still makes the game (semi-)freeze and it's close to impossible to proceed to reproducing the corruption. :(

Ddoitsujin maintainer 2020-09-15 github

Any validation errors?

Aaufkrawall 2020-09-15 github

To check that, I'd have to start the game with VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation env? Unfortunately nothing is logged when starting Battle.net that way (due to it being 32 bit?), and when starting HotS directly the log in mask doesn't load (while it spams my terminal output).

KK0bin maintainer 2020-09-16 github

grafik
Can't reproduce.

What exactly do I need to do to reproduce this issue? I just downloaded the game, started a training match, rushed in and died. Portrait looks fine as you can see.

It was running at max settings without anti aliasing (because thats what the game defaulted to, didnt bother to change anything)

Aaufkrawall 2020-09-16 github

Because you have an Nvidia GPU. :)
Like I said, only RADV is affected.

KK0bin maintainer 2020-09-16 github

There aren't any validation errors either. So this might be a RADV bug after all.

Aaufkrawall 2020-09-16 github

Thanks for checking that!

KK0bin maintainer 2020-09-16 github

Here's an apitrace, in case someone wants to investigate this further: https://drive.google.com/file/d/1vdVBQXCftjDQ3gLb8d4wOLQkEyAg1jbG/view?usp=sharing

Aaufkrawall 2020-09-16 github

May I ask how you succeeded in starting the game with apitrace wrapper? Does it not semi-freeze on Nvidia?

KK0bin maintainer 2020-09-16 github

It goes down to 1fps which made it a bit painful. Using apitrace with DXVK made it slightly faster but it still took quite a bit of patience.

Kkuco87 2020-11-05 github

I can confirm this problem. Also using RADV. Stuck on DXVK 1.6.1L until this is fixed.

KK0bin maintainer 2020-11-06 github

@kuco87 What GPU and driver are you using?

This really seems like a driver bug.

Kkuco87 2020-11-07 github
lspci | grep VGA
26:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X] (rev e5)

glxinfo | grep "OpenGL version"
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.1.7

As I said. 1.6.1L works perfectly fine.

Aaufkrawall 2020-11-07 github

If you compile yourself you can revert the commit I mentioned.

Kkuco87 2020-11-14 github

If you compile yourself you can revert the commit I mentioned.

Can confirm. Reverting the commit (b9c56e3) from the current master fixes the problem. Thanks @aufkrawall

Aaufkrawall 2020-11-19 github

@doitsujin Would it be an option to revert the commit for the next version? Unless there are nice performance gains elsewhere, it could be argued that it's not worth breaking HotS with RADV. Seems there is no real fix in sight.

Aaufkrawall 2020-11-22 github

@kuco87 Can you try again with latest git-main? I'm now with 5700 XT Navi GPU and can't reproduce anymore.

Kkuco87 2020-11-22 github

Main=Master?

I just compiled the current master and the problem still exists (after killing a hero).
https://abload.de/img/bildschirmfoto_2020-15hjla.png

Aaufkrawall 2020-11-22 github

Ok, just wanted to be sure. So probably something specific to Polaris in RADV.

Ddoitsujin maintainer 2020-11-22 github

Would it be an option to revert the commit for the next version?

No, this isn't going to get reverted since it does improve perf in practice, and d256175981f10b7225dd81da1f0aae4981c2d698 builds on it as well for further improvements in certain games. I guess on Polaris you can try RADV_DEBUG=nodcc for this game.

Aaufkrawall 2021-04-20 github

Thanks for the fix!

Launch options