Announcement

Collapse
No announcement yet.

ATI R300 Gallium3D DRI Support Is "Done"

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

  • ATI R300 Gallium3D DRI Support Is "Done"

    Phoronix: ATI R300 Gallium3D DRI Support Is "Done"

    A month ago we shared that the Gallium3D driver for the ATI R300/400/500 graphics cards (up through the Radeon X1000 series) was mostly done. Now today, the key author of the R300 Gallium3D driver, Corbin Simpson, has updated the status wiki to reflect the latest changes...

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

  • #2
    Congrats, AMD should hire this guy to work full time on the R600 driver.

    Now for the questions, sorry for my lack of knowledge on the subject but what exactly is the difference between the DRI and mesa state trackers, and which one is the one we are waiting for to get GLSL support?

    And on a side note, I noticed that the tungstengraphics.com domain has expired, whats up with that? There are now a lot of dead links to info on Gallium3D...

    Comment


    • #3
      Thanks Corbin, MostAwesome!

      Comment


      • #4
        That is good news.


        Though I'm not sure how will it really affect me as end user.

        Comment


        • #5
          Looking at the Gallium3D features I see:

          * mesa
          * vega
          * exa
          * g3dvl
          * python
          * dri
          * xorg
          * egl
          * wgl

          Which deprecates which of the classic?:

          * DDX (X server) Modesetting
          * Kernel Modesetting
          * DRI2
          * ShadowFB
          * Old 2D Acceleration (XAA)
          * 2D Acceleration (EXA)
          * Overlay Xv
          * Textured Xv
          * XvMC
          * Primitives
          * Textures
          * Hardware TCL
          * Vertex Shaders
          * Fragment (Pixel) Shaders
          * GLSL
          * OpenGL Compliance (Driver/Hardware)

          Comment


          • #6
            For the most part, I don't think any of that is being deprecated. It's more like Gallium is an architecture-independent layer on top of those existing technologies, rather than having each driver fully implement them from scratch.

            (With the exception of DDX modesetting and XAA, which have already been deprecated)

            Also, apparently GLSL is completely separate from Gallium3D, unlike what everyone thinks. So you could have a fully complete gallium driver without GLSL support. Or at least that's what I was told.

            Comment


            • #7
              Originally posted by monraaf View Post
              Congrats, AMD should hire this guy to work full time on the R600 driver.

              Now for the questions, sorry for my lack of knowledge on the subject but what exactly is the difference between the DRI and mesa state trackers, and which one is the one we are waiting for to get GLSL support?

              And on a side note, I noticed that the tungstengraphics.com domain has expired, whats up with that? There are now a lot of dead links to info on Gallium3D...
              The dri test is basically, "does glxinfo report sane numbers?" And it does. The mesa test is piglit, a very exhaustive GL test suite. We're nowhere near passing.

              In more layman terms, glxgears works, openarena is getting there, compiz is nearly there, and I haven't really tested much else.

              TG's site kind of vanished because VMWare didn't renew it for some reason. Don't worry; all the important info already got migrated to X.org and DRI wikis.

              Originally posted by kersurk View Post
              That is good news.


              Though I'm not sure how will it really affect me as end user.
              That's really up to your distro; I'm not sure which distros will pick up Gallium drivers. i915g has been shipping with Mesa 7.6, but I don't think any distros that carry 7.6 are actually building the Gallium drivers.

              Originally posted by Louise View Post
              Looking at the Gallium3D features I see:

              * mesa
              * vega
              * exa
              * g3dvl
              * python
              * dri
              * xorg
              * egl
              * wgl

              Which deprecates which of the classic?:

              * DDX (X server) Modesetting
              * Kernel Modesetting
              * DRI2
              * ShadowFB
              * Old 2D Acceleration (XAA)
              * 2D Acceleration (EXA)
              * Overlay Xv
              * Textured Xv
              * XvMC
              * Primitives
              * Textures
              * Hardware TCL
              * Vertex Shaders
              * Fragment (Pixel) Shaders
              * GLSL
              * OpenGL Compliance (Driver/Hardware)
              KMS is required for Gallium. xorg + exa can replace a DDX and provide Xv. dri + mesa can provide a GL driver, which does all of the regular GL features including GLSL.

              That list looks suspiciously like RadeonFeature from X.org's wiki. :3 I intentionally didn't add very many features to that list, because at the end of the day, what people use Gallium drivers for is very independent of what a traditional DDX does. You could say that KMS + Gallium can replace a classic DRM + DRI + DDX stack, but that's only one possibility. Other things, like Wayland + EGL + Cairo, are also possible.

              Comment


              • #8
                Originally posted by MostAwesomeDude View Post
                KMS is required for Gallium. xorg + exa can replace a DDX and provide Xv. dri + mesa can provide a GL driver, which does all of the regular GL features including GLSL.
                So they replace each other in groups?

                Code:
                Gallium     Classic MESA
                ------------------------
                xorg+exa    DDX+Xv
                dri+mesa    GL+GLSL
                dri         DRI2              (???)
                What about vega, g3dvl, egl, wgl? Do they have equivalent classic mesa counter parts?

                Originally posted by MostAwesomeDude View Post
                That list looks suspiciously like RadeonFeature from X.org's wiki. :3


                Originally posted by MostAwesomeDude View Post
                I intentionally didn't add very many features to that list, because at the end of the day, what people use Gallium drivers for is very independent of what a traditional DDX does. You could say that KMS + Gallium can replace a classic DRM + DRI + DDX stack, but that's only one possibility. Other things, like Wayland + EGL + Cairo, are also possible.
                Cool. Are there other possible combinations?

                What does vega, g3dvl, egl, wgl stand for?

                Comment


                • #9
                  And also what does the python state tracker means ?

                  Comment


                  • #10
                    Originally posted by MostAwesomeDude View Post
                    The dri test is basically, "does glxinfo report sane numbers?" And it does. The mesa test is piglit, a very exhaustive GL test suite. We're nowhere near passing.

                    In more layman terms, glxgears works, openarena is getting there, compiz is nearly there, and I haven't really tested much else.
                    I am confused. To my understanding there is no OpenGL (except OpenGL ES) state tracker yet. How is it possible to run glxgears, openarena and compiz then?

                    Comment


                    • #11
                      this sound great!
                      good job corbin!

                      Comment


                      • #12
                        What does this driver bring of new that the opensource one present now, let's say, in Ubuntu 9.10 doesn't have? I can't fully understand what is this Gallium driver, I've never used it on my system, but this interests me since I've a laptop with an ATI X600.

                        I've visited wikipedia, but that didn't help much, I hope you guys can explain it to a noob like me :P

                        Comment


                        • #13
                          Originally posted by fiete View Post
                          I am confused. To my understanding there is no OpenGL (except OpenGL ES) state tracker yet. How is it possible to run glxgears, openarena and compiz then?
                          I think the OpenGL 3.x is still missing, but the fixed function OpenGL should be in place:
                          http://wiki.freedesktop.org/wiki/Software/gallium
                          Traditional fixed-function OpenGL components (such as lighting and texture combining) are implemented with shaders. OpenGL commands such as glDrawPixels are translated into textured quadrilateral rendering. Basically, any rendering operation that isn't directly supported by modern graphics hardware is translated into a hardware-friendly form.

                          Future state trackers will be created for OpenGL 3.0 and OpenGL-ES 2.x.

                          Comment


                          • #14
                            Originally posted by pedrodh View Post
                            What does this driver bring of new that the opensource one present now, let's say, in Ubuntu 9.10 doesn't have? I can't fully understand what is this Gallium driver, I've never used it on my system, but this interests me since I've a laptop with an ATI X600.

                            I've visited wikipedia, but that didn't help much, I hope you guys can explain it to a noob like me :P
                            From a user point of view Gallium is pretty useless at the moment, it still needs time (1 year or more) to mature.
                            Long term advantages are:
                            • better performances (the architecture is similar to modern proprietary graphic drivers)
                            • once you implement the core driver you automatically have support for a lot of tecnologies (OpenGL, EXA, and maybe in the future video acceleration)
                            These are things that cannot be achieved rapidly by the current driver architecture.

                            Comment


                            • #15
                              Originally posted by Xheyther View Post
                              And also what does the python state tracker means ?
                              I am guessing here, but I would think it is a python binding, so you can access OpenGL from Python.

                              This I do know, that the plan is to make a Python binding to OpenCL, so you can off load calculations to the GPU from Python instead of only C and C++.

                              Comment

                              Working...
                              X