[Mesa-dev] [Bug 106246] radv: VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT and bringing down initial pipeline compile times

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Apr 26 08:54:25 UTC 2018


https://bugs.freedesktop.org/show_bug.cgi?id=106246

            Bug ID: 106246
           Summary: radv: VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT and
                    bringing down initial pipeline compile times
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Vulkan/radeon
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: philip.rebohle at tu-dortmund.de
        QA Contact: mesa-dev at lists.freedesktop.org

Created attachment 139124
  --> https://bugs.freedesktop.org/attachment.cgi?id=139124&action=edit
volund-benchmark.sh

Hello,

a general issue encountered in DXVK is that pipelines have to be compiled at
draw time, as the pipeline state and the combination of shaders used for
rendering are not known in advance. This leads to noticable stutter in a lot of
games when the shader cache is cold.

The attached script measures the pipeline compile times of the Unity Blacksmith
demo, which can be downloaded here:
https://blogs.unity3d.com/2015/06/24/releasing-the-blacksmith/

I picked this demo because it warms the shader cache as part of its loading
process, making for a reproducible test case. On my Ryzen 2700X setup, all the
vkCreateGraphicsPipelines calls combined take about four minutes using the
"Higher" preset on mesa 18.0.1, llvm 6.0 and latest dxvk-master, where about
2/3rds of the total CPU time is spent inside LLVM, and 1/6th inside
libvulkan-radeon.

An optimization I have in mind for DXVK would be to use
VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT in order to reduce the initial
compile times, and to compile an optimized version of the pipeline
asynchronously in the background. However, this requires driver support for
VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT.

Please let me know if this is a viable option and if significant gains are to
be expected when implementing support for this flag in the driver.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180426/bb5e7d08/attachment.html>


More information about the mesa-dev mailing list