Announcement

Collapse
No announcement yet.

R600 Gallium3D LLVM Shader Compiler Hooked Up

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

  • R600 Gallium3D LLVM Shader Compiler Hooked Up

    Phoronix: R600 Gallium3D LLVM Shader Compiler Hooked Up

    Mainline Mesa Git can now be built with the AMD R600 Gallium3D LLVM shader compiler back-end available...

    http://www.phoronix.com/vr.php?view=MTA5MTk

  • #2
    Sounds great! I'm a "bit" confused, though.
    Will this also end up as a workhorse for GLSL eventually or is meant to be OpenCL focused only?

    Comment


    • #3
      Originally posted by entropy View Post
      Sounds great! I'm a "bit" confused, though.
      Will this also end up as a workhorse for GLSL eventually or is meant to be OpenCL focused only?
      Seems like for both.
      It is good to hear that open-source stack will get OpenCL support soon.

      Comment


      • #4
        Meanwhile who is compiling the shaders in Gallium?

        Comment


        • #5
          Originally posted by cl333r View Post
          Meanwhile who is compiling the shaders in Gallium?
          I guess one has to be a real expert to keep track on which driver/architecture makes use of which approach to shader compilation.
          Seems like there's no general approach among different Gallium drivers.

          I'm lost...

          Comment


          • #6
            Originally posted by entropy View Post
            I guess one has to be a real expert to keep track on which driver/architecture makes use of which approach to shader compilation.
            Seems like there's no general approach among different Gallium drivers.

            I'm lost...
            Or maybe in the meantime the shaders aren't compiled at all, maybe they're interpreted or read from punch cards.

            Comment


            • #7
              Useless for now, Unigine heaven shows green screen, lightmark does not render a model of the robot, ET:QW receives a segmentation fault.
              R600_USE_LLVM=0 environment variable does not change anything, LLVM shader compiler is used anyway.

              Comment


              • #8
                Originally posted by entropy View Post
                Sounds great! I'm a "bit" confused, though.
                Will this also end up as a workhorse for GLSL eventually or is meant to be OpenCL focused only?
                The LLVM backend will be used for OpenCL. It could potentially be used for GLSL as well, but it still needs a fair amount of work to bring it up to par with the current r600g compiler. At the moment there aren't any plans to improve GLSL support in the LLVM backend, but the work could certainly be done if an interested developer (or developers) wanted to do it.

                Comment


                • #9
                  Originally posted by Pontostroy View Post
                  Useless for now, Unigine heaven shows green screen, lightmark does not render a model of the robot, ET:QW receives a segmentation fault.
                  R600_USE_LLVM=0 environment variable does not change anything, LLVM shader compiler is used anyway.
                  The environment variable is actually R600_LLVM. I made a mistake in the commit message.

                  Comment


                  • #10
                    Originally posted by tstellar View Post
                    The LLVM backend will be used for OpenCL. It could potentially be used for GLSL as well, but it still needs a fair amount of work to bring it up to par with the current r600g compiler. At the moment there aren't any plans to improve GLSL support in the LLVM backend, but the work could certainly be done if an interested developer (or developers) wanted to do it.
                    Is this a feasible approach? Will LLVM bring significant improvements in any area over the current compiler?
                    If LLVM will be used for GPGPU compute wouldn't it make sense to have one compiler (with two front ends) instead of two?

                    is this technically related to the LunarGLASS project? afaik, they have GLSL to LLVM frontend

                    Comment


                    • #11
                      nice but.... i do not have R600/SI hardware. r600/SI is hd6000 right ?

                      and also its openCL only for now and my card hd4770 is in the planet obsolescence to not get openCL support. '

                      Comment


                      • #12
                        The article doesn't say it:
                        It needs exactly llvm 3.1. It won't compile with llvm 3.2svn either...

                        Comment


                        • #13
                          Originally posted by cl333r View Post
                          Or maybe in the meantime the shaders aren't compiled at all, maybe they're interpreted or read from punch cards.
                          You are half-way right!
                          http://people.freedesktop.org/~mareko/ir.gif

                          r600g doesn't compile shaders to get max potential from the target architecture, it simply retranslates TGSI opcodes for now.

                          Comment


                          • #14
                            Originally posted by Pontostroy View Post
                            Useless for now, Unigine heaven shows green screen, lightmark does not render a model of the robot, ET:QW receives a segmentation fault.
                            R600_USE_LLVM=0 environment variable does not change anything, LLVM shader compiler is used anyway.
                            LLVM sharder compiler doesn't have needed texture support ( OpenCL doesn't need textures).
                            I have difficulties compiling mesa master, which LLVM branch/commit are you using?

                            Comment


                            • #15
                              Originally posted by Qaridarium View Post
                              nice but.... i do not have R600/SI hardware. r600/SI is hd6000 right ?

                              and also its openCL only for now and my card hd4770 is in the planet obsolescence to not get openCL support. '
                              http://www.x.org/wiki/RadeonFeature

                              R600 = HD2000 HD3000 and HD4000 series. Evergreen = HD5000 and up to the HD6870. Northern Islands = HD6900. Southern Islands = HD7000.

                              I know you're a fucking idiot but even you know this, now stop wining about your non issue of your GPU "losing support" when you'll still be able to use it with FGLRX 12.7 for 3-5 years and with the OSS drivers for about a decade or basically till it just up and dies and is no longer worth trying to fix again.

                              Comment

                              Working...
                              X