Announcement

Collapse
No announcement yet.

GLSL-To-TGSI For Mesa Is Still Not Merged

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

  • GLSL-To-TGSI For Mesa Is Still Not Merged

    Phoronix: GLSL-To-TGSI For Mesa Is Still Not Merged

    Last month it was announced that the GLSL IR to TGSI translator for Mesa that avoids the use of the inefficient and old Mesa IR was ready to be merged. A month later, the code for this core Mesa improvement hasn't been pulled...

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

  • #2
    For the answer to why it hasn't been merged, see my reply on the mailing list:

    Last month, I was trying to get it merged before the 7.11 merge window
    closed. When that didn't happen, I decided to stop being in a hurry and
    instead make some more improvements before trying again to get it merged
    to master. Also, Brian Paul pointed out an issue that I hadn't noticed
    before where st/mesa needed the current fragment shader to be in Mesa IR
    form for glBitmap, glDrawPixels, and glCopyPixels to work correctly.

    All of that is done now, as I finished the glBitmap path on Sunday and
    the DrawPixels/CopyPixels path on Saturday. So now I need to fix a few
    minor things like commit messages and one case where the old path
    generates better code than glsl_to_tgsi. The merge might also be
    delayed a bit further if it's decided that it should wait until after
    7.11 is released, as Ian's reply suggested.

    Comment


    • #3
      Wow, not much discussion here...

      Comment


      • #4
        There is nothing to discuss, they will not merge it until mesa 7.11 gets released
        If you have some benchmarks with and without GLSL-To-TGSI it would be much more interesting
        ## VGA ##
        AMD: X1950XTX, HD3870, HD5870
        Intel: GMA45, HD3000 (Core i5 2500K)

        Comment


        • #5
          Originally posted by darkbasic View Post
          If you have some benchmarks with and without GLSL-To-TGSI it would be much more interesting
          I might be running some.
          Michael Larabel
          http://www.michaellarabel.com/

          Comment


          • #6
            Originally posted by darkbasic View Post
            There is nothing to discuss, they will not merge it until mesa 7.11 gets released
            Not necessarily, Ian's message just said it should wait until after 7.11 if the changes would make it harder to cherry-pick changes to 7.11. I'm not convinced that's the case - there are only 2 existing files with major changes in core Mesa, and even those wouldn't make it difficult to backport fixes to 7.11.

            I sent a reply to Ian's message to the list yesterday; it'll probably be discussed more if I get it ready before Mesa 7.11 is released on July 22. Which is likely, since all I really have to do is rebase against master and rewrite some of the commit messages. So we'll see.

            Originally posted by Michael View Post
            Originally posted by darkbasic View Post
            If you have some benchmarks with and without GLSL-To-TGSI it would be much more interesting
            I might be running some.
            If you do, please be sure to test several different Gallium drivers (at least r300g/r600g/nvfx/nv50), since each driver compiles and optimizes the TGSI input differently (and they use different flags to make the compiler run different lowering passes and generate different TGSI).

            Comment


            • #7
              Originally posted by Michael View Post
              I might be running some.
              Awesome
              ## VGA ##
              AMD: X1950XTX, HD3870, HD5870
              Intel: GMA45, HD3000 (Core i5 2500K)

              Comment


              • #8
                Originally posted by Plombo View Post
                If you do, please be sure to test several different Gallium drivers (at least r300g/r600g/nvfx/nv50), since each driver compiles and optimizes the TGSI input differently (and they use different flags to make the compiler run different lowering passes and generate different TGSI).
                My plan for now is at least r300g, r600g, and nv50. Also to be monitoring CPU and GPU usage during so.
                Michael Larabel
                http://www.michaellarabel.com/

                Comment


                • #9
                  How do you monitor gpu usage? Does dynpm expose such information through debugfs?
                  ## VGA ##
                  AMD: X1950XTX, HD3870, HD5870
                  Intel: GMA45, HD3000 (Core i5 2500K)

                  Comment


                  • #10
                    Originally posted by darkbasic View Post
                    How do you monitor gpu usage? Does dynpm expose such information through debugfs?
                    For the Radeon driver, the Phoronix Test Suite can monitor the fence count as a basic way to judge load (unfortunately, doesn't have a percentage-based load indicator like is exposed through Catalyst).
                    Michael Larabel
                    http://www.michaellarabel.com/

                    Comment


                    • #11
                      Originally posted by Plombo View Post
                      Not necessarily, Ian's message just said it should wait until after 7.11 if the changes would make it harder to cherry-pick changes to 7.11. I'm not convinced that's the case - there are only 2 existing files with major changes in core Mesa, and even those wouldn't make it difficult to backport fixes to 7.11.

                      I sent a reply to Ian's message to the list yesterday; it'll probably be discussed more if I get it ready before Mesa 7.11 is released on July 22. Which is likely, since all I really have to do is rebase against master and rewrite some of the commit messages. So we'll see.



                      If you do, please be sure to test several different Gallium drivers (at least r300g/r600g/nvfx/nv50), since each driver compiles and optimizes the TGSI input differently (and they use different flags to make the compiler run different lowering passes and generate different TGSI).
                      Have you run any tests yourself yet? What kind of differences are you expecting? So far when comparing the glsl-to-tgsi branch to the respective mainline commit that appears to be where you last pulled from, I am not seeing any major differences. On R600g I am seeing a frame or two difference, Nouveau is nearly identical in frame-rates. This is for Nexuiz, Lightsmark, VDrift. There are some CPU usage differences though.
                      Michael Larabel
                      http://www.michaellarabel.com/

                      Comment


                      • #12
                        Originally posted by Michael View Post
                        My plan for now is at least r300g, r600g, and nv50. Also to be monitoring CPU and GPU usage during so.
                        Okay, sounds good. Hopefully your benchmarks will be more interesting than the few I've done on my NVA5.

                        Comment


                        • #13
                          Originally posted by Michael View Post
                          Have you run any tests yourself yet? What kind of differences are you expecting? So far when comparing the glsl-to-tgsi branch to the respective mainline commit that appears to be where you last pulled from, I am not seeing any major differences. On R600g I am seeing a frame or two difference, Nouveau is nearly identical in frame-rates. This is for Nexuiz, Lightsmark, VDrift. There are some CPU usage differences though.
                          Sorry, I didn't see this post before.

                          I've run some tests with the nv50 driver on my NVA5 card, and like you said, there's no real difference. This is probably because unlike r600g, the nv50 driver has an optimizing shader compiler.

                          The performance being similar is the reason that I emphasized GLSL 1.30 support instead of performance in my original message to the list - performace-wise, there are maybe a few gains to be made from GLSL->TGSI over GLSL->Mesa->TGSI, but not incredibly.

                          I didn't think to test the CPU usage in my tests, though.

                          Comment


                          • #14
                            Originally posted by Plombo View Post
                            Originally posted by darkbasic View Post
                            There is nothing to discuss, they will not merge it until mesa 7.11 gets released
                            Not necessarily, Ian's message just said it should wait until after 7.11 if the changes would make it harder to cherry-pick changes to 7.11. I'm not convinced that's the case - there are only 2 existing files with major changes in core Mesa, and even those wouldn't make it difficult to backport fixes to 7.11.

                            I sent a reply to Ian's message to the list yesterday; it'll probably be discussed more if I get it ready before Mesa 7.11 is released on July 22. Which is likely, since all I really have to do is rebase against master and rewrite some of the commit messages. So we'll see.
                            It might be obvious by now, but I should mention that I've changed my mind - I decided I'd rather just wait until after Mesa 7.11 is released to try and get it merged to master.

                            Comment


                            • #15
                              It would be interesting to test it with shader-db: http://lists.freedesktop.org/archive...ay/007694.html

                              Comment

                              Working...
                              X