Bug 108105 - [DXVK] Dauntless Helmets rendering incorrectly on Vega, works in AMDVLK
Summary: [DXVK] Dauntless Helmets rendering incorrectly on Vega, works in AMDVLK
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/radeon (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-30 18:38 UTC by Thomas Crider
Modified: 2018-10-31 14:37 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
invisible helmet parts (2.00 MB, image/png)
2018-09-30 18:38 UTC, Thomas Crider
Details
helmet working on amdvlk (1.77 MB, image/png)
2018-09-30 18:39 UTC, Thomas Crider
Details
Renderdoc log (483.84 KB, text/x-log)
2018-09-30 23:48 UTC, Thomas Crider
Details

Description Thomas Crider 2018-09-30 18:38:27 UTC
Created attachment 141810 [details]
invisible helmet parts

This doesn't seem to affect POLARIS, however on VEGA helmets were rendering incorrectly/parts were not rendering on RADV, but working on AMDVLK, using llvm-svn and mesa-git on Arch.
Comment 1 Thomas Crider 2018-09-30 18:39:17 UTC
Created attachment 141811 [details]
helmet working on amdvlk
Comment 2 Thomas Crider 2018-09-30 18:42:01 UTC
Notes on getting the game working:
use TKG's winetricks to get dotnet472 installed:
https://github.com/Tk-Glitch/PKGBUILDS/tree/master/winetricks-tkg-git

winetricks -q dotnet472 vcrun2015 win7

make sure ipv6 is enabled in network settings and router (yes, this is weird, but launcher fails to open otherwise)
Comment 3 Bas Nieuwenhuizen 2018-09-30 21:32:41 UTC
Hmm, I have trouble getting it installed.

If I do it on a new win64 the installer wants to install dotnet 4.5.2 and vcrun2015 again and gets stuck.

on win32 The installer immediately shuts down after the initial screen.

Is there anything more than

WINEPREFIX=.... winecfg <- set virtual desktop resolution & version to win7
WINEPREFIX=.... x{32,64}/setup_dxvk.sh
WINEPREFIX=.... winetricks -q dotnet472 vcrun2015 win7
WINEPREFIX=.... wine DauntlessSetup.exe

required? Using wine-staging-3.16 .

Maybe you can create a trace using renderdoc?
Comment 4 Thomas Crider 2018-09-30 22:46:43 UTC
TKG's winetricks has a fix for that, doesn't work currently with standard winetricks

https://github.com/Tk-Glitch/PKGBUILDS/tree/master/winetricks-tkg-git

will see if I can generate a renderdoc trace
Comment 5 Thomas Crider 2018-09-30 22:47:36 UTC
(In reply to Thomas Crider from comment #4)
> TKG's winetricks has a fix for that, doesn't work currently with standard
> winetricks
> 
> https://github.com/Tk-Glitch/PKGBUILDS/tree/master/winetricks-tkg-git
> 
> will see if I can generate a renderdoc trace

i should also mention im on the latest rebase of wine-staging
Comment 6 Bas Nieuwenhuizen 2018-09-30 22:59:25 UTC
I was already using the TKG winetricks as per your comment 2. Looking at it now though, you're sure it is dotnet472, not 471 (since 471 has a patch in the tkg winetricks)?
Comment 7 Thomas Crider 2018-09-30 23:35:50 UTC
(In reply to Bas Nieuwenhuizen from comment #6)
> I was already using the TKG winetricks as per your comment 2. Looking at it
> now though, you're sure it is dotnet472, not 471 (since 471 has a patch in
> the tkg winetricks)?

can confirm it's 472. i just used it again on a fresh prefix to verify my steps
Comment 8 Thomas Crider 2018-09-30 23:41:58 UTC
ah I also forgot to mention for the game you will need d3dcompiler_47 set to native
Comment 9 Thomas Crider 2018-09-30 23:48:02 UTC
Created attachment 141817 [details]
Renderdoc log

renderdoc log attached
Comment 10 Thomas Crider 2018-09-30 23:52:56 UTC
tried to make a renderdoc capture but pressing f12 or prntscrn to do so crashes the game
Comment 11 Samuel Pitoiset 2018-10-09 12:32:27 UTC
What version of renderdoc did you use? If that doesn't work with rdc, can you try recording an apitrace?
Comment 12 Samuel Pitoiset 2018-10-16 10:10:44 UTC
Well, I can launch the game, but I get a black screen after clicking on the "Play" button. This is apparently a known issue with the tutorial. The only way to solve it is to play the tutorial on a different machine [1] ...

If you want me to fix the rendering issue on Vega, please record an apitrace or a renderdoc capture. If you need help, please ask! Thanks!

[1] https://www.youtube.com/watch?v=yQjbfXlU9So
Comment 13 Samuel Pitoiset 2018-10-17 09:44:48 UTC
Patch available here https://reviews.llvm.org/D53359
Comment 14 Samuel Pitoiset 2018-10-31 14:37:47 UTC
Now fixed.

commit 91533e99d40c335134a635deaee79c726bb618f0
Author: Nicolai Haehnle <nhaehnle@gmail.com>
Date:   Wed Oct 31 13:26:48 2018 +0000

    AMDGPU: Remove PHI loop condition optimization
    
    Summary:
    The optimization to early break out of loops if all threads are dead was
    never fully implemented.
    
    But the PHI node analyzing is actually causing a number of problems, so
    remove all the extra code for it.
    
    (This does actually regress code quality in a few places because it
     ends up relying more heavily on phi's of i1, which we don't do a
     great job with. However, since it fixes real bugs in the wild, we
     should take this change. I have some prototype changes to improve
     i1 lowering in general -- not just for control flow -- which should
     help recover the code quality, I just need to make those changes
     fit for general consumption. -- Nicolai)
    
    Change-Id: I6fc6c6c8961857ac6009fcfb9f7e5e48dc23fbb1
    Patch-by: Christian König <christian.koenig@amd.com>
    
    Reviewers: arsenm, rampitec, tpr
    
    Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, t-tye, llvm-commits
    
    Differential Revision: https://reviews.llvm.org/D53359
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@345718 91177308-0d34-0410-b5e6-96231b3b80d8


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.