Announcement

Collapse
No announcement yet.

Shader Optimizations Revived For R600 Gallium3D

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    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.

    Comment


    • #3
      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.

      Comment


      • #4
        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; 02 March 2013, 03:20 AM.

        Comment


        • #5
          @timothyja

          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

          Comment


          • #6
            Originally posted by timothyja View Post
            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.
            Jump to Google -> radeonBuildHowTo, and ask on mesa IRC where is code for that back end.

            (And such testing is semi secure. Unless you GPU melt you can revert everyghting in console (which equal to changing 2 lines of config and removing one directory, go read radeon build how to)

            For such speed up I'm going to test it right now!

            Comment


            • #7
              Thanks, przemoli

              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.

              Comment


              • #8
                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
                OpenGL extensions:

                Comment


                • #9
                  Originally posted by timothyja View Post
                  libGL.so.1 (libc6, OS ABI: Linux 2.4.20) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
                  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

                  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; 02 March 2013, 09:58 PM.

                  Comment


                  • #10
                    Originally posted by timothyja View Post
                    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?
                    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.

                    Comment

                    Working...
                    X