intended to enable use-cases that cannot be expressed as draws (such as, dynamic geometry expansion / culling)
There is culling.
Tested today compilation variant, when instead of shared memory array
local variable been used. This happen to be valid for my shaders, since
there is 1-to-1 match between gl_LocalInvocationID and vertex.
Shader example: https://shader-playground.timjones.io/641b24c9f6700a03eb9f69414ebbf22b
Still FPS roughly as bad as it was. So far it doen't look like mesh-shader is working well on M1. Can it be some sort of driver bug? I mean: I can understand something like 5-10% performance regression since it's new feature, but not 200%.
Post
Replies
Boosts
Views
Activity
Metal-supported devices implement mesh shaders through emulation
Very interesting, many thanks @philipturner! Unfortunately can't really test on anything other than M1.
Meanwhile I have a few new questions to @Apple on perfornace side:
Any caps/property application can check in runtime, to know that shaders are emulated? (I don't really want to black-list devices)
AFAIK at least one of mobile vendors do not run vertex shader natively, splitting it into position+varying shader instead. Is it same for M1 or not?
Would it make sense to reduce varying count and relay on [[barycentric_coord]] as much as possible ?
Thanks!
UPD: macOS ventura 13.0.1 (22A400); no messages in validation layer
I'm not sure how to use Feedback-assistant, in this case: open XCode and click report bug?
In mean time: project is opensource: https://github.com/Try/OpenGothic, so you can just grab sources from github
Feedback id: FB12487682
Hello, Apple!
Kindly asking, if there is any progress here? Can you reproduce the issue on you side?