4 ms·
So it sounds like Vertex / Tessellation / Geometry shaders should be just one stage of the pipeline, and not necessarily locked into handling vertices (even if
by dragontamer 4y ago
So it sounds like Vertex / Tessellation / Geometry shaders should be just one stage of the pipeline, and not necessarily locked into handling vertices (even if they end up outputting vertices). The new combined shader will be named "Mesh" shader and have the flexibility of all three.
- corysama 4y agoWhat you are describing is how it works. A mesh shader is a lot more general and flexible than even all three of Vertex / Tessellation / Geometry shaders working together. And so, it replaces all three of them to be an alternate pipeline option. It cannot be chained together with them.
- Const-me 4y agoYeah, that's more or less correct. > The new combined shader will be named "Mesh" shader It's only new for Vulkan. On Windows and XBox, mesh shaders were implemented couple years ago: https://devblogs.microsoft.com/directx/coming-to-directx-12-mesh-shaders-and-amplification-shaders-reinventing-the-geometry-pipeline/ https://devblogs.microsoft.com/directx/coming-to-directx-12-... This new Vulkan extension is a direct copy-paste of the above, leveraging the same hardware. However, the hardware support for mesh shaders is less than ideal. That thing needs feature level 12.2, so-called "DirectX 12 Ultimate". It only works on nVidia Turing (GeForce 20 series) or newer, and AMD RDNA2 (Radeon RX 6000 series, and current generation of game consoles).
- Cloudef 4y agoMesh shaders actually go way back to Playstation 2, they are pretty much identical to PS2's VU1 https://govanify.com/post/im-path-three-ps2/#not-so-quick-travel-through-the-world-of-software-development https://govanify.com/post/im-path-three-ps2/#not-so-quick-tr...
- Const-me 4y agoThey do similar job in the sense they both generate data for hardware rasterizer, but I think the differences are rather large. That PS2 coprocessor is similar to a single ARMv7 core with NEON. Mesh shaders don't run loops for elements of the meshlets, they do them in parallel, on different threads of the same thread group.
- ece 4y agoI think Intel Arc GPUs also support them, from my reading. Apple seems to as well since the M1, but Metal.
- pjmlp 4y agoMost stuff on Khronos APIs are copy paste from DirectX features. PC hardware vendors design their features in collaboration with Microsoft for a specific DirectX version, and then they land as yet another extension on Khronos APIs. Vulkan didn't make this better, they have gotten so many extensions by now, that they finally adopted the version profile concept that is traditional in proprietary APIs.