Shader Optimizations Revived For R600 Gallium3D
Phoronix: Shader Optimizations Revived For R600 Gallium3D
Vadim Girlin has revived his "shader optimization" branch of Mesa that focuses upon improvements to the AMD R600 Gallium3D graphics driver...
From what it looks like in the mailing list post Vadim's made a lot of progress on improving the shader compiler, but it's still definitely a work in progress. The current consensus seems to be that the knowledge and lessons learned will be very useful, but it's looking like if any of this code gets merged into master, it'll be a piecemeal thing.
From the mailing list:
Heaven 3.0, all settings high/enabled, 1280x720, HD5750:
default backend : 20.0 fps
llvm backend : 18.8 fps
r600-sb : 38.0 fps
I didn't see this coming. If they don't merge it, distributions will.
The lastest from the mailing list seems to be that if these changes can be made stable they may well get merged. But as the developer only has one type of card he needs others to test out the changes. Are there any guides or forum threads out there that would give someone and idea where to start on building and upgrading a kernal, mesa and radeon drivers? I'm a developer so I'm not a complete noob but I've never ventured to these deeps of the OS before.
Edit: By the way I'm currently using Ubuntu 12.10 on the laptop I would like to test with but can use something else if this will mean its easier to do.
Last edited by timothyja; 03-02-2013 at 02:20 AM.
It's mesa only, and you can test that without installing anything. Build mesa, and run this from the main dir
LD_LIBRARY_PATH=lib LIBGL_DRIVERS_PATH=lib/dri myapp
For anyone else looking the repo is can be found here: http://cgit.freedesktop.org/~vadimg/mesa/log/?h=r600-sb
The dev has only tested with evergreen so test it out and let him know what you find it would be great to get this merged.
ok, so I installed the xorg-edgers packages for Ubuntu as an easy way to update the kernal and get an updated version of libdrm. I was then able to build the version of mesa from the repo. I setup the environment variables, etc, based on the radeon Build guide, rebooted and found I could not log into Unity as every time I tried lightdm seemed to restart itself. I managed to log into Gnome classic and read the "Configuring system to load mesa and libdrm from /opt/xorg" instructions again an noticed that I needed to build with the --enable-glx-tls switch. I rebuilt and installed and this time I could log into Unity however (and this was happening in Gnome without the --enable-glx-tls switch too) when I try to load any OpenGL application lightdm is resetting itself.
Any ideas what logs I should be looking at or what might be going wrong?
timothy@ubuntu:~$ ldconfig -p | grep libGL.so
libGL.so.1 (libc6,x86-64, OS ABI: Linux 2.4.20) => /opt/xorg/lib/libGL.so.1
libGL.so.1 (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
libGL.so.1 (libc6, OS ABI: Linux 2.4.20) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /opt/xorg/lib/libGL.so
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/libGL.so
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so
timothy@ubuntu:~$ glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD RV620
OpenGL version string: 2.1 Mesa 9.2-devel (git-cb4616d)
OpenGL shading language version string: 1.30
I think this is the problem the OpenGL apps I'm running are 32-bit. I've tried building following the 32-bit instructions but they are a little outdated. I think I know how to build them anyway but I'm getting this error running autoconf
Originally Posted by timothyja
checking for clock_gettime... no
checking for clock_gettime in -lrt... no
configure: error: Couldn't find clock_gettime
Is there some 32 versions of librarys such as librt that I need to install to build? Any idea what theses are packaged under in Ubuntu?
Last edited by timothyja; 03-02-2013 at 08:58 PM.
In the end I got most of the packages installed via apt-get but I had to download and install libexpat1-dev:i386 .deb manually due to some screwed up dependencies in ubuntu. But its building now so hopefully it will all be smooth sailing from here.
Originally Posted by timothyja