
NVIDIA has provided to reviewers a demo showing the new Mesh Shading feature. What is Mesh Shading? Here is a short answer from Turing whitepaper:
Mesh shading advances NVIDIA’s geometry processing architecture by offering a new shader model for the vertex, tessellation, and geometry shading stages of the graphics pipeline, supporting more flexible and efficient approaches for computation of geometry. This more flexible model makes it possible, for example, to support an order of magnitude more objects per scene, by moving the key performance bottleneck of object list processing off of the CPU and into highly parallel GPU mesh shading programs. Mesh shading also enables new algorithms for advanced geometric synthesis and object LOD management.
In short, the mesh shading is a new programmable pipeline that replaces the regular Vertex/Tessellation/Geometry stages and introduces two new kind of shaders: the Task Shader and the Mesh Shader. In OpenGL, mesh shading is exposed on Turing GPUs via the GL_NV_mesh_shader extension. Same thing in Vulkan with the VK_NV_mesh_shader extension.
More information on mesh shading can be found here:
– Introduction to Turing Mesh Shaders
– NVIDIA Turing Vulkan/OpenGL extensions
The demo shows the mesh shading in action with 300’000 asteroids and more than 20 million triangles rendered.
Seems like those mesh shaders are quite close to the primitive shaders from Vega, but actually usable, which is good.
They just have a similar purpose but it doesn’t look to be even nearly close to Vega’s primitive shader which are meant to discard not visible geometry.
Mesh shading looks to be much more advanced and to have a lot more usages.