Direct3D Mesh Shaders

Despite the flexibility and performance mesh shading can add to the geometry stage, we find that the technology has not been widely adopted in rendering engines so far. The purpose of this article series is to revisit mesh shading five years after its initial rollout between 2018-2019.

As a result, this blog series aims to demystify mesh shading by providing more detailed explanations, analysis, use-case examples, tutorials, and general advice.

 

Mesh shaders in AMD RDNA™ 3 architecture​

Lou Kramer (Member of Technical Staff, AMD)
Max Oberberger (Senior Software Engineer, AMD)



[Slides – 2.7MB PDF]
[Animated slides – 115MB PPTX]

It started by explained how mesh shaders offer a more flexible alternative to the traditional geometry pipeline, allowing for more control on how to use the hardware to process the geometry. They can process any type of primitive, including quads, and can procedurally generate geometry in an efficient way – as discussed in our procedural grass rendering blog (jointly written with Coburg University) released just after the session.

The presentation highlighted the importance of meshlet generation, and vertex and primitive export for good performance, and covered how mesh shaders can lead to more opportunities for compression.

There was discussion on the future of the geometry pipeline, particularly with mesh shaders coming to GPU work graphs (the Advanced Graphics Summit session above!) and ended with a note on performance considerations.


AMD GD C2024 sessions:
 
That was a good mesh shader overview. It’s interesting that nobody is talking (complaining) about current hardware rasterizers being a bottleneck in the mesh shading pipeline. You would expect triangle sizes to come down as triangle counts go up and hardware rasterizers aren’t known for their prowess in handling tons of small geometry.
 
That was a good mesh shader overview. It’s interesting that nobody is talking (complaining) about current hardware rasterizers being a bottleneck in the mesh shading pipeline. You would expect triangle sizes to come down as triangle counts go up and hardware rasterizers aren’t known for their prowess in handling tons of small geometry.
I guess the gains far outweigh the issue, at least thus far. Nanite approach was always a bit too forward looking IMO.
 
Back
Top