diff --git a/docs/user-guide/09-targets.md b/docs/user-guide/09-targets.md index 61735d4bbc..e1219a39dd 100644 --- a/docs/user-guide/09-targets.md +++ b/docs/user-guide/09-targets.md @@ -296,6 +296,28 @@ The binding index of a parameter is the zero-based index of the slot (of the app Note that while OpenGL and Vulkan both use binding indices for shader parameters like textures, the semantics of those are different because OpenGL uses distinct slots for passing buffers and textures. For OpenGL it is legal to have a texture that uses `binding=2` and a buffer that uses `binding=2` in the same kernel, because those are indices of distinct kinds of slots, while this scenario would typically be invalid for Vulkan. +Metal +----- + +> #### Note #### +> Slang support for Metal is a work in progress. + +Metal is a shading language exclusive on Apple slicons. The functionality from Metal is similar to DX12 or Vulkan with more or less features. + +### Pipelines + +Metal includes rasterization, compute, and ray tracing pipelines with the same set of stages as described for D3D12 above. + +> #### Note #### +> Ray-tracing and Mesh support for Metal is a work in progress. + +### Parameter Passing + +Metal uses slots for binding resources, and it has three types of bindings: buffer, texture and sampler. +In addition, it has argument buffer which is itself a buffer, but any further resource members of the argument buffer does not occupy any explicit binding points, and instead set via an offset within the buffer referred to as id in the metal spec. + +Note that Metal 3.1 currently doesn't support arrays of buffers. + CUDA and OptiX -------------- diff --git a/docs/user-guide/toc.html b/docs/user-guide/toc.html index c1915e5dc5..ca6aac92ae 100644 --- a/docs/user-guide/toc.html +++ b/docs/user-guide/toc.html @@ -39,7 +39,7 @@
  • Operator Overloading
  • Subscript Operator
  • `Optional<T>` type
  • -
  • `if_let` syntax
  • +
  • `if_let` syntax
  • `reinterpret<T>` operation
  • Pointers (limited)
  • `struct` inheritance (limited)
  • @@ -126,6 +126,7 @@
  • Direct3D 12
  • Vulkan
  • OpenGL
  • +
  • Metal
  • CUDA and OptiX
  • CPU Compute
  • Summary