Announcement

Collapse
No announcement yet.

Marek Cleans-Up & Refactors R600g Driver

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

  • Marek Cleans-Up & Refactors R600g Driver

    Phoronix: Marek Cleans-Up & Refactors R600g Driver

    Marek Olk has continued with his passionate development contributions to the R600 Gallium3D driver, being one of the few independent contributors continuing to make heavy contributions to this open-source AMD Linux graphics driver...

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

  • #2
    Go go

    Go go Radeon superhero Marek!

    Comment


    • #3
      Many thanks <3

      Comment


      • #4
        Hint for AMD HR department: hire Marek Olk as soon as possible.

        Comment


        • #5
          Originally posted by enrico.tagliavini View Post
          Hint for AMD HR department: hire Marek Olk as soon as possible.
          Yeah, AMD should see potential and hire him as soon as possible before Intel or Nvidia hires him.

          Fly him to the office in the company jet and roll out the red carpet for Radeon supehero rockstar Marek!

          Comment


          • #6
            Originally posted by uid313 View Post
            Yeah, AMD should see potential and hire him as soon as possible before Intel or Nvidia hires him.

            Fly him to the office in the company jet and roll out the red carpet for Radeon supehero rockstar Marek!
            Marek was approached by AMD first, but he refused. All current AMD open source developers are working on radeonsi, so I am happy Marek is not one of them and works on r600g.

            Comment


            • #7
              Originally posted by Drago View Post
              Marek was approached by AMD first, but he refused. All current AMD open source developers are working on radeonsi, so I am happy Marek is not one of them and works on r600g.
              That's also what I recall. I believe that he's still attending university in some capacity according to previous statements by either himself or Michael.

              Comment


              • #8
                Well, it's up to him to decide, but I think it would be better for the community if Marek was able to continue contributing to the graphic stack from outside AMD.
                Not that AMD guys are doing a bad job, but we also need great people outside who may not be restrained by AMD internal IP review processes.


                Why not Valve? (I know it was also proposed to him)

                Comment


                • #9
                  hi, marek i have an stupid idea[that maybe can be good] since i don't have time to deal with learning gallium enough to implement opengl missing bits i was thinking that i should understand gallium enough to help optimizing the command stream but i was curious if exist a tool that let me, lets say run piglit and capture the CS from fglrx so i can compare it against r600g, maybe i can shoot some low hanging fruits in there.

                  another thing i could spent my time with is comparing performance against a reference base[fglrx] but i wish to know if you know any utility that let me capture every gl call and see how much time needed to execute[not sure if can be possible with something like apitrace] dunno for example GL_ARB_Extension 200ms, ofc i don't expect to discover boiling water this way but it can provide a good start point to tackle some low hanging bottlenecks at least

                  i do code optimization all day at work and i have lots of patience for it[Qt/C++ tho] but unlike cpu code im not sure if the gpu tools exist, so if the tooling i need exists[love if you can give the names so i can get them] and you can give me some starting points ill try my best in bot read the code

                  Comment


                  • #10
                    Originally posted by jrch2k8 View Post
                    hi, marek i have an stupid idea[that maybe can be good] since i don't have time to deal with learning gallium enough to implement opengl missing bits i was thinking that i should understand gallium enough to help optimizing the command stream but i was curious if exist a tool that let me, lets say run piglit and capture the CS from fglrx so i can compare it against r600g, maybe i can shoot some low hanging fruits in there.

                    another thing i could spent my time with is comparing performance against a reference base[fglrx] but i wish to know if you know any utility that let me capture every gl call and see how much time needed to execute[not sure if can be possible with something like apitrace] dunno for example GL_ARB_Extension 200ms, ofc i don't expect to discover boiling water this way but it can provide a good start point to tackle some low hanging bottlenecks at least

                    i do code optimization all day at work and i have lots of patience for it[Qt/C++ tho] but unlike cpu code im not sure if the gpu tools exist, so if the tooling i need exists[love if you can give the names so i can get them] and you can give me some starting points ill try my best in bot read the code
                    Maybe your question can be better answered in the mesa mailing list or IRC. Even though there are devs reading the forum it might be missed.

                    Comment


                    • #11
                      Originally posted by jrch2k8 View Post
                      hi, marek i have an stupid idea[that maybe can be good] since i don't have time to deal with learning gallium enough to implement opengl missing bits i was thinking that i should understand gallium enough to help optimizing the command stream but i was curious if exist a tool that let me, lets say run piglit and capture the CS from fglrx so i can compare it against r600g, maybe i can shoot some low hanging fruits in there.

                      another thing i could spent my time with is comparing performance against a reference base[fglrx] but i wish to know if you know any utility that let me capture every gl call and see how much time needed to execute[not sure if can be possible with something like apitrace] dunno for example GL_ARB_Extension 200ms, ofc i don't expect to discover boiling water this way but it can provide a good start point to tackle some low hanging bottlenecks at least

                      i do code optimization all day at work and i have lots of patience for it[Qt/C++ tho] but unlike cpu code im not sure if the gpu tools exist, so if the tooling i need exists[love if you can give the names so i can get them] and you can give me some starting points ill try my best in bot read the code
                      You can use apitrace, "glretrace -p ..." for profiling. I've used it some time ago to compare mesa to windows catalyst. There was not much difference, just that SwapBuffers took like ten times longer with mesa/r600g if I remember correctly. But then my test code didn't do anything extraordinary, just setting textures and issuing draw calls most of the time.

                      Comment


                      • #12
                        Ah, Marek fixes the world again.
                        Kudos for the code cleanups. It makes things smoother.
                        It's always good for all kinds of work if somebody else with some distance (or yourself with some time passed) goes over it and adds some polishing.

                        Comment


                        • #13
                          Originally posted by log0 View Post
                          You can use apitrace, "glretrace -p ..." for profiling. I've used it some time ago to compare mesa to windows catalyst. There was not much difference, just that SwapBuffers took like ten times longer with mesa/r600g if I remember correctly. But then my test code didn't do anything extraordinary, just setting textures and issuing draw calls most of the time.
                          very useful thanks for your post, i think ill try with a common game like xonotic hoping to be able of reach some bottlenecks in a real world scenario[i suspect of some of the bottlenecks to be in shader and texture downloading but using this tooling you posted i think i can get some solid evidence and start from there again many thanks]

                          Comment


                          • #14
                            Originally posted by jrch2k8 View Post
                            hi, marek i have an stupid idea[that maybe can be good] since i don't have time to deal with learning gallium enough to implement opengl missing bits i was thinking that i should understand gallium enough to help optimizing the command stream but i was curious if exist a tool that let me, lets say run piglit and capture the CS from fglrx so i can compare it against r600g, maybe i can shoot some low hanging fruits in there.
                            The tools exist, but Jerome has been doing that already and it doesn't seem to have borne much fruit (compared to the invested time). I was doing that too while working on r300g.

                            Originally posted by jrch2k8 View Post
                            another thing i could spent my time with is comparing performance against a reference base[fglrx] but i wish to know if you know any utility that let me capture every gl call and see how much time needed to execute[not sure if can be possible with something like apitrace] dunno for example GL_ARB_Extension 200ms, ofc i don't expect to discover boiling water this way but it can provide a good start point to tackle some low hanging bottlenecks at least
                            Apitrace can capture GL calls, but the hardware executes commands in parallel, so you won't be able to tell how much time each command takes on the GPU. Besides that, Apitrace itself has huge CPU overhead and replaying commands with it is actually a lot slower, making it useless for benchmarking.

                            Originally posted by Adarion View Post
                            Kudos for the code cleanups. It makes things smoother.
                            It's always good for all kinds of work if somebody else with some distance (or yourself with some time passed) goes over it and adds some polishing.
                            The cleanups mainly ensure that the code doesn't turn into unmaintainable mess after a couple of years of development (and make supporting new features easier).

                            Comment


                            • #15
                              Originally posted by marek View Post
                              The cleanups mainly ensure that the code doesn't turn into unmaintainable mess after a couple of years of development (and make supporting new features easier).

                              Hey Marek just curious, is there anything big you WISH you could do with R600g codebase? I've been following the posts about the Nouveau crowd rewriting the DRM bits, Intel rewriting how they do KMS, etc etc etc, and I was just curious: If you had infinite time to do it in, and would get paid to do it, whats the one thing you'd do to the R600g driver? Like are there any serious core design flaws that need to be fixed but that no one wants to/has the time, to fix?

                              Edit: You can screw backwards compatibility with existing ABI/API if you have to
                              Last edited by Ericg; 09-11-2012, 01:55 PM.

                              Comment

                              Working...
                              X