MTLMeshRenderPipelineDescriptor seemingly missing some functionality

I've been object/mesh shaders using MTLRenderPipelineState built from MTLMeshRenderPipelineDescriptor with visible function tables. However, it seems that some functionality that is present on other MTL*RenderPipelineDescriptor types is missing. Namely, it lacks max<Stage>CallStackDepth() and setSupportAdding<Stage>BinaryFunctions().

The latter isn't too bad: I can always rebuild the the pipeline states from scratch if I want to add new linked functions.

However, not being able to set the max call stack depth is limiting. I assume that means I only get a depth of 1 as that is the default value for the other descriptor types. In practice it seems that I can go up to 2 with the functions I'm using before I start getting kIOGPUCommandBufferCallbackErrorSubmissionsIgnored errors due to "prior/excessive GPU errors".

I'm curious if the lack of this functionality on MTLMeshRenderPipelineDescriptor is a simple oversight. In my case I only am using VFTs and linked functions in the fragment stage. I suspect it should be possible since the other render pipeline descriptor types expose max call depths and adding binary functions in the fragment stage.

FWIW I'm also using Metal-CPP (which is fantastic!) but I don't see this functionality in the Swift/Obj-C docs either.

MTLMeshRenderPipelineDescriptor seemingly missing some functionality
 
 
Q