Bug 107939 - Commit 888b7fc causes performance regression
Summary: Commit 888b7fc causes performance regression
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/radeon (show other bugs)
Version: 18.1
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
Depends on:
Reported: 2018-09-14 15:40 UTC by David Pinedo
Modified: 2018-09-19 11:43 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description David Pinedo 2018-09-14 15:40:36 UTC
Our Vulkan regression test suite includes a Vulkan trace of the Sasha Willems shadowmapping demo. We found that the fps when playing back that trace file had  decreased by about 20%. I narrowed down the performance drop to commit 888b7fc.

I duplicated the performance drop with the demo itself. Without commit 888b7fc, the demo runs at an average of 3125 fps. With commit 888b7fc, it runs at 2675 fps. This is a performance regression of about 14%. I ran this on a system with an Intel i5-6600K CPU @ 3.50GHz and an AMD Radeon RX470 graphics card.
Comment 1 Timothy Arceri 2018-09-14 23:03:43 UTC
Since the referenced sha is for the 18.1 rather than the master branch I'm copying here for completeness.

commit 888b7fcaf4d4f25c90c318495c7c38066cff29fb
Author: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Date:   Wed Jun 13 20:19:23 2018 +0200

    radv: don't fast clear HTILE for 16-bit depth surfaces on GFX8
    This causes rendering issues in Shadow Warrior 2 with DXVK.
    Cc: mesa-stable@lists.freedesktop.org
    Fixes: ccc64f3133 ("radv: enable TC-compat HTILE for 16-bit depth surfaces on GFX8")
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106912
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
    (cherry picked from commit 51e23d34190076159129dd7b449b95a1ac3d4949)
Comment 2 Samuel Pitoiset 2018-09-19 11:43:41 UTC
Hi David,

Thanks for reporting this.

Unfortunately the original performance tweak doesn't really work on GFX8, as TC compatible HTILE for 16-bit depth surfaces is only natively supported on GFX9.

I know that this decreases performance for the shadowmapping demo but the impact is really tiny for real apps and we can't restore it without introducing rendering problems in some situations (as explained in the commit message).

It's nice to see that your CI system Vulkan is working. :)


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.