Announcement

Collapse
No announcement yet.

R600 Gallium3D Now Does Buffer Copies With CP DMA

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

  • R600 Gallium3D Now Does Buffer Copies With CP DMA

    Phoronix: R600 Gallium3D Now Does Buffer Copies With CP DMA

    Marek Olk has implemented support for buffer copying using the CP DMA engine on Radeon HD 4000 "R700" GPUs and newer...

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

  • #2
    Title discrepancy

    "[...] the CP DMA engine is now used on R700 [...]. The support isn't implemented for the Radeon HD 2000/3000 (R600)"

    vs

    "R600 Gallium3D Now Does Buffer Copies With CP DMA"

    Comment


    • #3
      Originally posted by VinzC View Post
      "[...] the CP DMA engine is now used on R700 [...]. The support isn't implemented for the Radeon HD 2000/3000 (R600)"

      vs

      "R600 Gallium3D Now Does Buffer Copies With CP DMA"
      The driver is called r600 so don't worry

      Comment


      • #4
        Thank you very much for your work Marek! We really appreciate it!

        Too bad HD2000/HD3000 support isn't implemented yet. Those are in need of more love, since fgrlx is not an option anymore and Linux gaming is becoming big this year. Are their problems too severe?

        Comment


        • #5
          Originally posted by VinzC View Post
          "[...] the CP DMA engine is now used on R700 [...]. The support isn't implemented for the Radeon HD 2000/3000 (R600)"

          vs

          "R600 Gallium3D Now Does Buffer Copies With CP DMA"
          Once upon a time Michael used to proofread his articles. His beginnings back in 2004-2007 were quite good, the articles were legible, and you didn't have to second guess meanings of random quotes taken out of context.

          Michael, please, hire some English Lit Major to proofread your articles. I am sure you can match Starbucks' minimum wage!

          Comment


          • #6
            Originally posted by PeterKraus View Post
            Once upon a time Michael used to proofread his articles. His beginnings back in 2004-2007 were quite good, the articles were legible, and you didn't have to second guess meanings of random quotes taken out of context.

            Michael, please, hire some English Lit Major to proofread your articles. I am sure you can match Starbucks' minimum wage!
            I wouldn't blaim him, at least for radeon stuff. With all the crazy numbering its guaranteed you ll get a headache trying to figure it out.

            Comment


            • #7
              Originally posted by 89c51 View Post
              I wouldn't blaim him, at least for radeon stuff. With all the crazy numbering its guaranteed you ll get a headache trying to figure it out.
              Seriously? I do think that a journalist with 8 years of insight should not get confused by naming conventions, which are easily decipherable on the xorg website...

              Comment


              • #8
                Well the text mixed up quite different things and isn't correct at all.

                It might be a bit confusing but we got two DMA engines on modern radeon hardware: An ASYNC DMA and a SYNC DMA!

                The CP DMA Marek is using is the SYNC DMA engine which runs in the same ring (or maybe let's call it "the same thread", cause that a term software devs usually understands better) as the rendering engine. So when you just want to copy data from A to B in between two rendering operations you use the CP DMA.

                Jerome is working on patches for the ASYNC DMA engine, which (for example) should be used for uploading texture data from the application to VRAM, cause that isn't something we usually do in between rendering operations.

                I just had the feeling that I should clarify that.

                Regards,
                Christian.

                Comment


                • #9
                  Originally posted by PeterKraus View Post
                  Seriously? I do think that a journalist with 8 years of insight should not get confused by naming conventions, which are easily decipherable on the xorg website...
                  You're the one getting confused. The driver is named r600g (as in R600 Gallium3D) and it supports RadeonHD 2000-6000 series. Support for CP DMA was added to that driver, but is currently disabled for R600-based cards.
                  An English Lit major probably wouldn't have the common sense to figure that out...

                  Comment


                  • #10
                    Originally posted by Deathsimple View Post
                    Well the text mixed up quite different things and isn't correct at all.

                    It might be a bit confusing but we got two DMA engines on modern radeon hardware: An ASYNC DMA and a SYNC DMA!

                    The CP DMA Marek is using is the SYNC DMA engine which runs in the same ring (or maybe let's call it "the same thread", cause that a term software devs usually understands better) as the rendering engine. So when you just want to copy data from A to B in between two rendering operations you use the CP DMA.

                    Jerome is working on patches for the ASYNC DMA engine, which (for example) should be used for uploading texture data from the application to VRAM, cause that isn't something we usually do in between rendering operations.

                    I just had the feeling that I should clarify that.

                    Regards,
                    Christian.
                    Thank you, Christian!

                    Comment


                    • #11
                      Could someone deliver some facts about this patch?
                      Any speed ups in some games? Is it noticeable?

                      Unfortunately my self built kernel 3.8 from git isn't working well here, I'm getting random segfaults from various programmes.

                      Comment


                      • #12
                        Originally posted by Deathsimple View Post
                        SYNC vs. ASYNC DMA
                        Thanks for the tech info. Postings like this make the forums go, and it stands out from all the Trollery lately here.

                        And thanks to Marek and the other devs for getting things forward.

                        Comment


                        • #13
                          I expect a small performance improvement in CPU-bound apps, because copying buffers using the CP DMA instead of streamout (=OpenGL transform feedback, we have been using it up to now) takes less space in the command stream, doesn't change any 3D states, and doesn't need any other resources (streamout needs an auxiliary buffer where the FILLED_SIZE register is stored). Also streamout requires 4-byte alignment. The CP DMA doesn't have that limitation.
                          Last edited by marek; 01-09-2013, 07:00 PM.

                          Comment


                          • #14
                            Originally posted by Deathsimple View Post
                            Well the text mixed up quite different things and isn't correct at all.

                            It might be a bit confusing but we got two DMA engines on modern radeon hardware: An ASYNC DMA and a SYNC DMA!

                            The CP DMA Marek is using is the SYNC DMA engine which runs in the same ring (or maybe let's call it "the same thread", cause that a term software devs usually understands better) as the rendering engine. So when you just want to copy data from A to B in between two rendering operations you use the CP DMA.

                            Jerome is working on patches for the ASYNC DMA engine, which (for example) should be used for uploading texture data from the application to VRAM, cause that isn't something we usually do in between rendering operations.

                            I just had the feeling that I should clarify that.

                            Regards,
                            Christian.
                            Thank you indeed, Christian.

                            Comment

                            Working...
                            X