Announcement

Collapse
No announcement yet.

RADV Driver Drops NGG Stream-Out Code For RDNA1/RDNA2 GPUs

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

  • RADV Driver Drops NGG Stream-Out Code For RDNA1/RDNA2 GPUs

    Phoronix: RADV Driver Drops NGG Stream-Out Code For RDNA1/RDNA2 GPUs

    While the original AMD Navi GPUs featured Next-Gen Geometry (NGG) support, it was borked for some GPUs and initially didn't work out quite as well as planned for vertex and geometry processing. The Mesa Radeon Vulkan driver "RADV" has worked on the NGG code for years and with RDNA3 GPUs it's finally been working out very well from the start and better than their legacy pipeline. All the while the RDNA1/RDNA2 experimental NGG stream-out support has continued to exist but hidden behind a feature/debug flag. That code is now being removed...

    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
    So it just gets dropped because of hardware bugs.
    Isn't NGG part of mesh shaders? The thing that's part of DirectX12U which AMD advertised as being supported on RDNA2?


    Comment


    • #3
      Been using this for a while now and I noticed a minor FPS uplift in Halo Infinite. Glad to see it's coming to Mesa soon!

      Comment


      • #4
        I am not a fan of seeing a working and implemented performance feature removed that was advertised as part of the next big thing in graphics. Especially since I've just paid 590 EUR for such an affected card that I also had to RMA once already. Wasn't it possible to implement workarounds for the hardware bugs? I mean a situation like SDMA that got removed from RadeonSI without much further analysis, and we see this feature re-introduced with RADV these days. Maybe it's just that the devs would need more time to invest into understanding these hardware engines better and how to use these - Timur mentioned one example with NGG culling in his linked blog post himself: "When we switched to NGG, we still compiled our shaders mostly the same way as before, so even though we used the new geometry pipeline, we didn’t do anything to take advantage of its new capabilities."
        ​
        By the way, I am still confused about the impact, as there is another MR that I interpret as ground work for implementing mesh shaders on Navi 2x. Timur's post concluded that NGG would be an enabler for advanced techniques such as mesh shaders. So was NGG_streamout just one specific sub-feature of NGG that was impacted by the hw bugs or do they impact other NGG-related functionality on RDNA 1/2 as well?
        Last edited by ms178; 30 October 2023, 05:50 PM.

        Comment


        • #5
          Originally posted by Sanjuro View Post
          So it just gets dropped because of hardware bugs.
          Isn't NGG part of mesh shaders? The thing that's part of DirectX12U which AMD advertised as being supported on RDNA2?
          This is kind of terrible. If it's supported on Windows they ought to get it working for Linux as well.

          Comment


          • #6
            Originally posted by Sanjuro View Post
            Isn't NGG part of mesh shaders? The thing that's part of DirectX12U which AMD advertised as being supported on RDNA2?
            Originally posted by ezst036 View Post
            This is kind of terrible. If it's supported on Windows they ought to get it working for Linux as well.
            What's dropped here is a specific feature called "NGG streamout", not NGG/Primitive shaders as a whole. For Linux end users, nothing will change, since the streamout feature was never active by default to begin with.

            Comment


            • #7
              When the 5700XT dropped, there were a lot of rumors (based on its behavior) that it likely had some pretty serious hardware bugs and needed a lot of driver workarounds.

              Comment


              • #8
                AmericanLocomotive The 5700XT did recieve a new stepping/respin during its lifetime in order to fix the blackscreen bug in hardware. As for NGG - AFAIK RDNA1 has it disabled by default with a whitelist, RDNA2 has it enabled by default with a blacklist and RDNA3 stripped out the legacy geometry path, so that it's always-on.

                Comment


                • #9
                  Originally posted by ezst036 View Post

                  This is kind of terrible. If it's supported on Windows they ought to get it working for Linux as well.
                  It was never supported on windows either, because it didn't work very well.

                  Comment


                  • #10
                    What does this NGG supposed to do anyway?

                    Comment

                    Working...
                    X