Bug 72478 - [regression] 45% performance drop for gputest_volplosion bench (radeonsi)
Summary: [regression] 45% performance drop for gputest_volplosion bench (radeonsi)
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/radeonsi (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Paul Berry
QA Contact: Default DRI bug account
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-08 14:16 UTC by Arek Ruśniak
Modified: 2017-11-20 00:21 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
mesa_glsl dump/llvmpipe/good performance (254.93 KB, text/plain)
2013-12-13 14:09 UTC, Arek Ruśniak
Details
mesa_glsl dump/llvmpipe/worse performance (254.94 KB, text/plain)
2013-12-13 14:12 UTC, Arek Ruśniak
Details

Description Arek Ruśniak 2013-12-08 14:16:00 UTC
since commit
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6eb4321d0e62b6b391ad88ce390bd6e23d79747
gputest pixmark_volplosion is slower about 45%
As far i know it's olny one app affected, other tests run ok. 

I've bisected&checked it only for radeonsi. I can test nv50 and gma4500 but i have to install 64bit system, so i need more time.
Comment 1 Arek Ruśniak 2013-12-08 19:44:48 UTC
9600gt has got almost 45% performance drop
GMA4500 doesn't run, gpu crashes in both cases
Comment 2 Paul Berry 2013-12-10 00:02:22 UTC
When I wrote this patch series I checked on shader-db and there were no differences on i965 hardware.  So I'm guessing this is due to an unantipicated difference in how code generation works with the Radeon back end.

Arek, would it be possible to find a shader from pixmark_volplosion that compiles to worse code after the patch, and upload both the shader source and the resulting Radeon assembly code (both before and after)?  That would be very helpful to me in figuring out what is going wrong.

Thanks.
Comment 3 Arek Ruśniak 2013-12-10 22:11:03 UTC
Paul thanks for answer, it looks like gallium3d is involved (nouveau/9600GT)
Don't get me wrong but i don't know how it works, i even don't really know what shaders are. Do I find single shader that damage code? I don't know what/how is looking for. But if you don't busy to much and have a lot of patience i can try. I can do some dumps with mesa_glsl=dump or r600_debug=ps,pv.
Comment 4 Arek Ruśniak 2013-12-13 14:09:42 UTC
Created attachment 90724 [details]
mesa_glsl dump/llvmpipe/good performance

head set to 9d2951ea0acdcd219ad28831ac9e7112737d9ca3
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 128 bits)
gputest score: 8
Comment 5 Arek Ruśniak 2013-12-13 14:12:57 UTC
Created attachment 90725 [details]
mesa_glsl dump/llvmpipe/worse performance

head set to d6eb4321d0e62b6b391ad88ce390bd6e23d79747 
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 128 bits)
gputest score: 5
Comment 6 Timothy Arceri 2017-11-20 00:21:40 UTC
I'm not 100% sure this is actually fixed but I made a number of improvements to the GLSL IR unrolling code recently so I'm resolving this as fixed. It's not really straight forward to compare Mesa versions with the amount of time that has passed, and bugzilla doesn't have an obsolete option.


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.