Metal - Support for geometry and domain shaders?

So after looking through Metal's documentation and going through the headers, I'm noticing the omission of geometry and domain shader support. Technically, the basic idea behind these two could be done with a compute shader given the nature of Metal's pipeline, but "proper" support in MSL would be a nice convenience to have epsecially given there's largely already support for geometry and domain shaders in OpenGL 4.1.


So I have to ask, is there something I missed? Can it be chalked up to 10.11 being in beta, therefore Metal for OS X being in beta as well and not feature complete as such? Or is Metal on OS X "only" there for additional API compatibility with iOS?

Based on the fact that they switched all their UI rendering to Metal and the state of OpenGL and OpenCL support getting worse with every update, I am quite certain that ;etal is meant to become the graphics and compute shader framework of choice for high performance graphics on all things Apple.


I really hope that at least tessellation shaders will make it in a not so distant update. I also wouldn't mind geometry shaders, but while there are some nice use cases on desktop hardware, they have quite a bad reputation and perform poorly on my macbook, so using metal compute features as a replacement might be a good way to go. Although making instances of the same geometry render in different frame buffers in one draw is a really nice geometry shader feature for shadow mapping. Something like that might already be possible in different ways with metal though!?


To summerize: I'd be really interested in an answer to this question too! 🙂



Edit: LAYERED RENDERING is supported in Metal!

I asked a similar question. I'm also interested in this topic. Hope, both tessellation and geometry shaders will be introduced in Metal as Metal has come to Mac.

Most desktop level GPUs have already supported OpenGL 4.1 which contains these to programmable shaders. Android 5.0 extended package also supports these features. So it will be common for the mobile GPUs to support tessellation and geometry shaders.


I'm also goting to try some machine-learning relevant programs with Metal's compute shader. Metal Shading Language is really more powerful and flexible than OpenGL shading language.

Metal - Support for geometry and domain shaders?
 
 
Q