Timur Kristóf, Mesa’s Radeon Vulkan RADV open up-source driver contributor, not too long ago shared his enterprise working on the Subsequent-Gen Geometry (NGG) assistance for current and up coming-gen AMD RDNA graphics cards with the current driver. Kristóf is recognised for his get the job done as a contractor for Valve, helping with the Linux graphics stack for the developer.
Timur Kristóf discusses performing with the RADV Driver for the implementation of the AMD NGG “Future-Gen Geometry” Engine inside RDNA GPUs
NGG is used for processing vertex and geometry calculations within just RDNA and RDNA 2-primarily based graphics cards. Recently, with the expose of AMD RDNA 3 architecture and its needs and technical specs with graphics, it has been noted that NGG will always continue to be enabled. Formerly, NGG was focused at first on functioning on the GFX9 and Vega architectures but was identified to be pretty problematic in use and did not support with raising functionality. Now, we are locating that it is more optimized and much better employed with RDNA architecture and its successors.
The most significant challenge with integrating NGG into the RDNA architecture is the sophisticated mother nature of the driver. In flip, this wrestle has caused NGG to be particularly complicated to execute for RadeonSI OpenGL and RADV Vulkan accelerators. Internet site Phoronix reviews this is due to exterior builders not performing directly with AMD. The fixes have been harder to implement.
On his web site, Kristóf talked over the difficulties with employing the NGG driver, which includes his lack of observing any efficiency advantages.
We did some benchmarks when we switched RADV and ACO to use the new pipeline. We observed no major perf changes. At all. Thinking of all the hoopla we read about NGG at the components launch, I was fairly amazed. Nevertheless, just after I set the hype aside, it was fairly self-explanatory. When we switched to NGG, we nevertheless compiled our shaders the similar way as before, so even nevertheless we used the new geometry pipeline, we didn’t do anything at all to get benefit of its new capabilities. The true perf enhancement arrived after I also carried out shader-centered culling.
The outcomes from benchmarks and published samples have revealed a contrasting amount of final results from the NGG. At this time, NGG, alongside with incorporating shader culling, has been far more obtainable and manufactured a superior advancement in overall performance on the RDNA 2 architecture. Builders from Valve have not noticed general performance raises when making use of NGG shader culling and, in convert, have disabled the following-gen geometry.
The major takeaway from this article is that NGG is not a overall performance silver bullet that magically makes all your online games quicker. Rather, it is an enabler of new functions. It allows the driver put into action new procedures these types of as shader culling and new programming products like mesh shaders.
Kristóf has absent into considerably far more depth on his web site about the issue for viewers interested in the topic.