Bug 107280 - [DXVK] Batman: Arkham City with tessellation enabled hangs on SKL GT4
Summary: [DXVK] Batman: Arkham City with tessellation enabled hangs on SKL GT4
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
Depends on:
Blocks: 107763
  Show dependency treegraph
Reported: 2018-07-18 16:57 UTC by Jason Ekstrand
Modified: 2018-09-07 20:19 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:

Example error state (908.52 KB, text/plain)
2018-07-18 17:14 UTC, Jason Ekstrand

Description Jason Ekstrand 2018-07-18 16:57:51 UTC
This seems to only happen on SKL GT4.  I've tried on BDW and on SKL GT3 and both are fine.  There are a number of different driver hacks that all make the hang go away:

 1. Decrease the total URB size to 900 or less in gen_get_l3_config_urb_size()
 2. Increase the number of URB slots per VUE requested for vertex shaders by 2 (done in emit_urb_setup in genX_pipeline.c)
 3. Divide the number of URB entries by 2 when emitting the 3DSTATE_URB_* packets.
 4. Disable the vertex cache in 3DSTATE_VS

There are also a number of tessellation errors that seem to have to do with the tessellation level of detail.  Some of the above hacks not only fix the hang but also get things tessellating at the correct LOD.  There is also a tessellation issue in the last scene of the benchmark where the lion and the buildings are not properly tessellated.  None of the above hacks fix that issue.
Comment 1 Jason Ekstrand 2018-07-18 17:04:26 UTC
I should probably be a good bug reporter and write more things down:

Game: Batman: Arkham City GOTY
Platform: Steam
Install method: Windows Steam running under Wine with DXVK
DXVK version: 0.61+ (67fe452580222fc)
Comment 2 Jason Ekstrand 2018-07-18 17:14:53 UTC
Created attachment 140704 [details]
Example error state
Comment 3 Jason Ekstrand 2018-09-07 20:19:58 UTC
This has been fixed with the following commit in master:

commit b08b4b2b25b201df2d667cf70d7f99475e5c7aec
Author: Jason Ekstrand <jason.ekstrand@intel.com>
Date:   Tue Aug 21 20:40:50 2018 -0500

    anv: Disable the vertex cache when tessellating on SKL GT4
    I have no idea if I'm correct about what's going wrong or if this is the
    correct fix.  However, in my multiple weeks of banging my head on this
    hang, a VUE reference counting bug seems to match all the symptoms and
    it definitely fixes the hang.
    Cc: mesa-stable@lists.freedesktop.org
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107280
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

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.