Bug 31635

Summary: [r300g]Bad performance of 64-bit compilation compared to 32-bit.
Product: Mesa Reporter: Drill <drill87>
Component: Drivers/Gallium/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Drill 2010-11-15 11:03:25 UTC
I've got archlinux 64-bit system with chrooted archlinux 32-bit in it. 
Video card: ATI X1270 (RS690)
Kernel version: 2.6.35
Xorg server version: 1.9.0

I've compiled r300g both for 32-bit and 64-bit systems with parameters:
  --prefix=/usr --enable-glx-tls --disable-egl --enable-gallium-radeon --with-dri-driverdir=/usr/lib/xorg/modules/dri --with-dri-drivers="radeon,r300" --with-state-trackers="glx,dri"

After tests I found, that in 32-bit r300g gives 860 fps in glxgears, whereas 64-bit version only 250. I also compared framerate in 3D action game Tremulous, which has precompiled binaries for both 32-bit and 64-bit linux - the result was similar: I've got 38 fps in 32-bit version and only 18 fps in 64-bit in same scene.
 
Unfortunately, I'm not sure if this is a real bug or just a bad optimization of 64-bit version - I couldn't find any specific information about that...
Comment 1 Roland Scheidegger 2010-11-15 12:51:46 UTC
There are a couple of asm optimizations which are only available on 32bit and not not 64bit (or some of them only on 64bit with 3dnow). Your gpu doesn't support hw TCL so this could maybe make a difference. But gallium drivers shouldn't really be affected by this. Some profiling data might help possibly.
Comment 2 Marek Olšák 2010-11-15 13:16:47 UTC
I thought we had SSE2 vertex shaders for 64-bit too, but apparently it's disabled. I won't investigate further because there is also LLVM. Can you recompile mesa with --enable-gallium-llvm? It should make everything a lot faster for you.
Comment 3 Drill 2010-11-15 23:46:59 UTC
Thank you, enabling llvm helped very much. Sorry for bothering you for (as it seems) nothing.

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.