Announcement

Collapse
No announcement yet.

Nouveau Developer Working On NIR For SPIR-V Compute, Step Towards Vulkan In The Future

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

  • Nouveau Developer Working On NIR For SPIR-V Compute, Step Towards Vulkan In The Future

    Phoronix: Nouveau Developer Working On NIR For SPIR-V Compute, Step Towards Vulkan In The Future

    There's some exciting news for open-source NVIDIA "Nouveau" driver users this holiday season!..

    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
    It's nice to see that they're using NIR like Intel and AMD are doing, and not trying to parse SPIR-V directly into their backend IR. That plan was always crazy and duplicated all of the code that Intel and AMD have invested in and validated for getting SPIR-V working with their drivers. This should also make getting GL 4.6 on nouveau easier, since they'll be able to just plug in the work that AMD and Intel are doing.

    Comment


    • #3
      Originally posted by crymsonpheonix View Post
      This should also make getting GL 4.6 on nouveau easier, since they'll be able to just plug in the work that AMD and Intel are doing.
      Shhhh! nVidia will realize they're helping the nouveau devs and will suddenly remember to make their code useless without the blob-driver and signed firmware!

      Comment


      • #4
        Originally posted by mulenmar View Post

        Shhhh! nVidia will realize they're helping the nouveau devs and will suddenly remember to make their code useless without the blob-driver and signed firmware!
        this may sound Good but my bets still lots of people will still need the closed source drivers, the opensource ones will never be able to seriously compete

        Comment


        • #5
          I don't get why Red Hat invests in Nouveau, since unfortunately it will never work without some minimal cooperation from NVidia (releasing firmware, which now isn't happening at all).

          Comment


          • #6
            Originally posted by crymsonpheonix View Post
            It's nice to see that they're using NIR like Intel and AMD are doing, and not trying to parse SPIR-V directly into their backend IR. That plan was always crazy and duplicated all of the code that Intel and AMD have invested in and validated for getting SPIR-V working with their drivers. This should also make getting GL 4.6 on nouveau easier, since they'll be able to just plug in the work that AMD and Intel are doing.
            Honest question: Why is "aNother IR" necessary and was created in the first place?
            There might be valid technical reasons for that, but I guess if *some other* company would have created it instead of using SPIR-V there would be a big backlash.

            Comment


            • #7
              Originally posted by mulenmar View Post

              Shhhh! nVidia will realize they're helping the nouveau devs and will suddenly remember to make their code useless without the blob-driver and signed firmware!
              Let us all thank for NVidia, who gives purpose for countless lives and ensures we can read posts like the one quoted. Amen!

              Comment


              • #8
                Originally posted by discordian View Post

                Honest question: Why is "aNother IR" necessary and was created in the first place?
                There might be valid technical reasons for that, but I guess if *some other* company would have created it instead of using SPIR-V there would be a big backlash.
                There was a whole discussion on it when it was first created, basically NIR was created to be typeless and built for SSA (Static single assignment) which allows for more standard compiler optimizations. Then SPIR-V came along and it was determined that NIR would allow both GLSL & SPIR-V shaders to be represented and it wouldn't be much overhead to translate between the two, the theory being that a translation layer is less compute time than running optimizations on different IRs and NIR allowed for the most optimization

                This all from memory by the way so apologies if I've mis-remembered stuff

                Comment


                • #9
                  Originally posted by FireBurn View Post

                  There was a whole discussion on it when it was first created, basically NIR was created to be typeless and built for SSA (Static single assignment) which allows for more standard compiler optimizations. Then SPIR-V came along and it was determined that NIR would allow both GLSL & SPIR-V shaders to be represented and it wouldn't be much overhead to translate between the two, the theory being that a translation layer is less compute time than running optimizations on different IRs and NIR allowed for the most optimization

                  This all from memory by the way so apologies if I've mis-remembered stuff
                  Pretty close. SPIR-V is not an optimizing IR, it's an interchange format. One anology to use would be that SPIR-V is like JSON, and NIR is like arrays and hash tables. No one directly edits JSON, no one tries to optimize SPIR-V, you convert it into an IR that is meant for optimiziations, like NIR or LLVM-IR (for example), and no one attempts to programatically edit JSON, you convert it into native containers (arrays and hash tables) and modify those.

                  Small nit, "NIR" is "New IR" not "aNother IR"

                  Comment

                  Working...
                  X