Announcement

Collapse
No announcement yet.

Raspberry Pi VC4 Gallium3D Makes More Progress With NIR, Camera DMA-BUF

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

  • Raspberry Pi VC4 Gallium3D Makes More Progress With NIR, Camera DMA-BUF

    Phoronix: Raspberry Pi VC4 Gallium3D Makes More Progress With NIR, Camera DMA-BUF

    Broadcom's Eric Anholt has written another weekly blog post covering improvements he made over the past week to the VC4 open-source graphics driver that's known as being the driver for Raspberry Pi devices...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Whenever I read about the improvements Eric Anholt makes on these super complex projects, it sounds like lonely work. I picture him sitting in a dark room, alone, no windows, cheerily typing away at code few have the expertise to understand, only to emerge a week later with a new announcement. "Friends! Look what drivers I have made from the dust of my cell!!!" And then he returns to chip away again at some poorly optimized buffer or previously unimplemented API.

    Comment


    • #3
      Originally posted by Palu Macil View Post
      Whenever I read about the improvements Eric Anholt makes on these super complex projects, it sounds like lonely work. I picture him sitting in a dark room, alone, no windows, cheerily typing away at code few have the expertise to understand, only to emerge a week later with a new announcement. "Friends! Look what drivers I have made from the dust of my cell!!!" And then he returns to chip away again at some poorly optimized buffer or previously unimplemented API.
      From previous posts he is pretty close to the hardware guys who he can go and chat with. so he must be allowed out of his cell more than once a week, so he has that going for him, which is nice

      Comment


      • #4
        Could someone explain why is NIR better than TGSI? Is it faster?

        Comment


        • #5
          Originally posted by boxie View Post

          From previous posts he is pretty close to the hardware guys who he can go and chat with. so he must be allowed out of his cell more than once a week, so he has that going for him, which is nice
          That's nice to hear.

          Comment


          • #6
            Great to hear Eric communicating his progress.

            And whilst not at all taking away from the core role Eric is undertaking, it speaks to the good work he's done on improving documentation, refactoring and cleaning up interfaces within vc4 that means there are now a few other ad hoc contributors to the vc4 Mesa driver (e.g. myself from time to time).

            Comment


            • #7
              Originally posted by gsedej View Post
              Could someone explain why is NIR better than TGSI? Is it faster?
              This is a large topic and lots of different points can be made, but I'd say it's not so much better or worse so much as different.

              I think the key difference to note is that NIR is designed to be a layer which optimizes code. TGSI is not.

              So, what happens is that all the Gallium drivers take TGSI and translate it to an internal representation where they can do their optimizations.

              RadeonSI uses LLVM, r300, r600, and nouveau all just use internal IR's in their drivers.

              The ARM drivers decided they didn't want to do that themselves so to share code they're using NIR. That way they can hook into the optimizations Intel has written, the same way that radeonsi hooks into the optimizations that LLVM has written.

              At that point, using TGSI at all is pretty superfluous. Intel has already coded the GL frontend in Mesa to spit out NIR directly, so you might as well cut out the middle-man if that's where you want to end up anyway.

              The other Gallium drivers that aren't using NIR all basically decided there was no point in switching over, though, as it would just provide them the same types of optimizations that they already had working well in their drivers, and with likely high chances of regressions and lots of work required for no payoff. So pretty much the same reasons the Intel developers chose not to move their drivers into Gallium.

              I think there's a strong argument to be made that NIR probably is better, which is natural when you consider how many years later it came out. It had the chance to learn from what came before, and align closely with the newest hardware/APIs out currently. But it's not really better in a way that people would ever notice. It may cut down on some extra overhead for VC4, but it could easily do the opposite and slow more highly optimized drivers down if they tried switching to it at this point.

              Comment


              • #8
                Thanks for the explanation.
                So kind of less wokr for potential speedup. Good, sice the driver is made my one man.

                Comment

                Working...
                X