Announcement

Collapse
No announcement yet.

GLAMOR Radeon Shows 2D Acceleration Promise

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

  • #11
    EXA and UXA were designed years ago when a much smaller subset of operations could be accelerated to provide decent performance for most desktops. As the number of features and complexity of those features used on newer desktops has grown, the "2D" acceleration architectures have not kept up. Expanding EXA (or UXA) is a lot of work and the complexity is getting to the level where a good "2D" acceleration driver begins to rival a 3D driver. That's why something like glamor makes sense. You only have to write one hw driver (for GL) and you can take advantage of it for "2D" as well. The xorg gallium state tracker works similarly, but since it uses EXA, it is stuck with the inherent limitations of that older acceleration architecture. Since glamor uses GL directly, it can take advantage of all the flexibility offered by GL.

    Another thing to note is that "2D" APIs are not as relevant today as they once were. A lot of apps use GL directly now so putting a lot of effort into "2D" it not always a good use of time. Benchmarks often have little bearing decent desktop performance.

    Comment


    • #12
      EXA and UXA were designed years ago when a much smaller subset of operations could be accelerated to provide decent performance for most desktops. As the number of features and complexity of those features used on newer desktops has grown, the "2D" acceleration architectures have not kept up. Expanding EXA (or UXA) is a lot of work and the complexity is getting to the level where a good "2D" acceleration driver begins to rival a 3D driver. That's why something like glamor makes sense. You only have to write one hw driver (for GL) and you can take advantage of it for "2D" as well. The xorg gallium state tracker works similarly, but since it uses EXA, it is stuck with the inherent limitations of that older acceleration architecture. Since glamor uses GL directly, it can take advantage of all the flexibility offered by GL.

      Another thing to note is that "2D" APIs are not as relevant today as they once were. A lot of apps use GL directly now so putting a lot of effort into "2D" it not always a good use of time. Benchmarks often have little bearing decent desktop performance.
      I remember when almost nothing implemented EXA and how awesome it was... Until this post, I hadn't realized that we've come full circle and I assumed EXA was still awesome. With XAA gone, EXA has become the new XAA.

      Comment


      • #13
        The main takeaway from this is that EXA really does perform rather lousy with radeon. Hint: count the number of RADEON_FALLBACK macros in the radeon DDX.

        Comment


        • #14
          Originally posted by brent View Post
          The main takeaway from this is that EXA really does perform rather lousy with radeon. Hint: count the number of RADEON_FALLBACK macros in the radeon DDX.
          The problem is RENDER semantics map poorly to 3D hardware. Most older hardware (pre-DX10) can't handle RENDER sematics directly. Newer hardware can deal with them, but not without jumping through a lot of hoops. As I mentioned previously, the complexity in dealing with these cases means pulling in a lot of the 3D driver into the ddx (shader compiler, better state management, etc.) which is a lot of work for little gain which is why something like glamor or the xorg state tracker makes more sense.

          Comment


          • #15
            Originally posted by agd5f View Post
            The problem is RENDER semantics map poorly to 3D hardware.
            In other words, the hardware vendors have just failed miserably to deliver the hardware capable of properly accelerating RENDER after all these years?

            What about the dedicated 2D hardware accelerators? Are they going to solve the problem? Seems like such dedicated 2D hardware accelerators are becoming popular in modern ARM hardware (Exynos4, OMAP4470, ...).

            Comment


            • #16
              Originally posted by ssvb View Post
              In other words, the hardware vendors have just failed miserably to deliver the hardware capable of properly accelerating RENDER after all these years?

              What about the dedicated 2D hardware accelerators? Are they going to solve the problem? Seems like such dedicated 2D hardware accelerators are becoming popular in modern ARM hardware (Exynos4, OMAP4470, ...).
              X doesn't really have a huge market share compared to other OSes with other "2D" APIs which map to 3D hw better. Most of the "2D" accelerators are basic blitters with maybe some rotation or alpha capabilities which map pretty closely to the non-X "2D" APIs. Plus, as I said in my last post, newer hw does a better job of mapping to RENDER, but in order to handle it you really need a full "3D" driver just to handle RENDER. Most workstation X users don't care about "2D" performance anyway, they want OpenGL. Even with all those limitations, desktop performance (rather than theoretical benchmarks) is generally fine most users.
              Last edited by agd5f; 13 July 2012, 09:08 AM.

              Comment


              • #17
                Originally posted by ssvb View Post
                In other words, the hardware vendors have just failed miserably to deliver the hardware capable of properly accelerating RENDER after all these years?
                I don't think anyone has really tried. Applications are increasingly being written against toolkits running over 3D APIs anyways.
                Test signature

                Comment


                • #18
                  RENDER and X APIs are in general, terrible.

                  It wouldn't be smart to put resources in developing hardware specifically for APIs that everybody wants to go away.

                  Comment


                  • #19
                    X does all sorts of 70s stuff like drawing lines and circles. Nobody uses that anymore.
                    We're better off with the 3D hardware.

                    Comment


                    • #20
                      Originally posted by barkas View Post
                      X does all sorts of 70s stuff like drawing lines and circles. Nobody uses that anymore.
                      We're better off with the 3D hardware.
                      Says who? We are talking about RENDER extension here, aren't we?

                      Comment

                      Working...
                      X