Pemalite said:
chakkra said:
And about Primitive Shaders and Mesh Shaders being exactly the same, not quite.
"A Mesh shader is a new type of shader that combines vertex and primitive processing. VS, HS, DS, and GS shader stages are replaced with Amplification Shader and Mesh Shader. Roughly, Mesh shaders replace VS+GS or DS+GS shaders and Amplification shaders replace VS+HS."
https://microsoft.github.io/DirectX-Specs/d3d/MeshShader.html
"Mesh shaders represent a radical simplification of the geometry pipeline. With a mesh shader enabled, all the shader stages and fixed-function features described above are swept away. Instead, we get a clean, straightforward pipeline using a compute-shader-like programming model. Importantly, this new pipeline is both highly flexible—enough to handle the existing geometry tasks in a typical game, plus enable new techniques that are challenging to do on the GPU today— it looks like it should be quite performance-friendly, with no apparent architectural barriers to efficient GPU execution."
https://www.starcitizen.gr/2642867-2/
|
They are the same from a user standpoint. One is essentially a marketing term from nVidia, another is a marketing term from AMD.
With AMD's set-up you have to assemble the input of a pre-defined format like vertices+vertex indices sequentially, where-as with a mesh-shader it's entirely defined by the user and is thus not bounded by the assembly stage.
From a developer/hardware point of view AMD's approach with in-driver shader transformation, the advantages are limited compared to full mesh shader support, as programmability is sacrificed.
But for all intents and purposes, they are the same. Are there more differences? Of course. But they set out to offer the same result, ends users aren't going to care about the finer points.
|
No, they are not exactly the same as one offers better performance, and again, you keep repeating that as if better performance doesn't directly impact the end user experience.