Bug 108347

Summary: [regression, bisected] Performance drop in Tesseract
Product: Mesa Reporter: Gregor Münch <gr.muench>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: maraeo
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Gregor Münch 2018-10-12 17:29:39 UTC
Tesseract goes down from 402 to 385fps. (Using nir,sisched)
I saw other games too with a performance regression. But the impact is smaller.

Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD Radeon HD 7900 Series (TAHITI, DRM 3.27.0, 4.19.0-2-amd-staging-drm-next-git, LLVM 8.0.0) (0x6798)
    Version: 18.3.0
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 4.5
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 2876 MB, largest block: 2876 MB
    VBO free aux. memory - total: 2966 MB, largest block: 2966 MB
    Texture free memory - total: 2876 MB, largest block: 2876 MB
    Texture free aux. memory - total: 2966 MB, largest block: 2966 MB
    Renderbuffer free memory - total: 2876 MB, largest block: 2876 MB
    Renderbuffer free aux. memory - total: 2966 MB, largest block: 2966 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 3072 MB
    Total available memory: 6144 MB
    Currently available dedicated video memory: 2876 MB
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.27.0, 4.19.0-2-amd-staging-drm-next-git, LLVM 8.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.0-devel (git-4052624398)
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.3.0-devel (git-4052624398)
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.3.0-devel (git-4052624398)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20


f243980f2c1e8005dab0cbadf52eb4392feb2ecc is the first bad commit
commit f243980f2c1e8005dab0cbadf52eb4392feb2ecc
Author: Sonny Jiang <sonny.jiang@amd.com>
Date:   Wed Oct 3 11:53:11 2018 -0400

    radeonsi:optimizing SET_CONTEXT_REG for shaders VS
    
    Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
    Signed-off-by: Marek Olšák <marek.olsak@amd.com>

:040000 040000 e32a7539bb1a32c3c9d700651aa50f8dada31b5e 0e04f0305e4e893fdee0b394b5aa2c9c0bf0edaf M	src
Comment 1 Gregor Münch 2018-10-13 17:25:18 UTC
Here is a complete test result from comparing todays master with the commit right before the bisected commit. 
https://openbenchmarking.org/result/1810130-RA-MESAPERFO80

We see that without nir, the impact in Tesseract isnt that much. However with nir we see a regression from 412 to 397 fps, Dirt Rally drops from 108 to 107fps. Other games see mostly a small improvement, except Civ VI 36 to 37fps.

I will change the title as it mostly impacts Tesseract. Havent tested other games.
Comment 2 Marek Olšák 2018-10-22 23:33:22 UTC
I think the difference is due to the increase in CPU overhead.
Comment 3 Marek Olšák 2018-10-23 00:28:35 UTC
Tesseract is too simple so it's very sensitive to small changes in the CPU overhead. It's uncertain but likely that Steam games are unaffected. I'm undecided about whether we need to revert this or not.
Comment 4 Nicolai Hähnle 2018-10-23 10:13:23 UTC
Thanks for keeping an eye out for performance :)

The difference in settings isn't only about nir, but also sisched and noerror. Still a curious observation.

That said, with default settings, the patch seems like a (small, but statistically relevant) win in most cases. The exception of Tesseract really doesn't matter, nobody has 400 Hz displays. And the regression in Civ is unfortunate, but IIRC that's often notoriously CPU-bound.

I'd say the signs are slightly in favour of keeping the patch.
Comment 5 GitLab Migration User 2019-09-25 18:28:04 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1337.

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.