Changes in Metal 3.1

Is there a comprehensive list of what has changed in Metal 3.1? The API diff is not really helpful and there is no such document for the shading language. From a cursory glance, this is what I have noticed:

  • curve support for raytracing
  • bfloat support on the GPU
  • option to specify vertex stride at the time of binding rather than as property of the render pass
  • linked function support for mesh shading pipeline (essentially VK_EXT_shader_object from what I understand)?

Anything substantial changes that I have missed?

There’s some new functionality to help with animation, it seems: CAMetalDisplayLink

Atomic textures is another significant feature

Apple has always had VK_EXT_shader_object, it's Vulkan that locked everything down into rigid PSO. I would assume like ray-tracing, that's the ability to splice in bits of code.

There's also multi-level instancing for ray tracing acceleration structures.

And indirect builds for instance acceleration structures.

Changes in Metal 3.1
 
 
Q