diff --git a/docs/user-guide/a2-target-specific-features.md b/docs/user-guide/a2-target-specific-features.md
index 22d973deae..32be22f086 100644
--- a/docs/user-guide/a2-target-specific-features.md
+++ b/docs/user-guide/a2-target-specific-features.md
@@ -2,12 +2,12 @@
layout: user-guide
---
-Target-specific features
-============================
+# Target-specific features
Slang can produce code for a variety of targets. When producing code for a target, Slang attempts to translate HLSL intrinsics to the closes functionality provided by the target. In addition, Slang also support target specific intrinsics and language extensions that allow users to make best use of the target. This chapter documents all the important target-specific behaviors.
In this chapter:
-1. [SPIR-V target specific](a2-01-spirv-target-specific.md)
-2. Metal target specific
-3. [WGSL target specific](a2-03-wgsl-target-specific.md)
+
+1. [SPIR-V target specific](./a2-01-spirv-target-specific.md)
+2. [Metal target specific](./a2-02-metal-target-specific.md)
+3. [WGSL target specific](./a2-03-wgsl-target-specific.md)
diff --git a/docs/user-guide/toc.html b/docs/user-guide/toc.html
index 77c4f16d83..b0c8808045 100644
--- a/docs/user-guide/toc.html
+++ b/docs/user-guide/toc.html
@@ -45,7 +45,6 @@
`if_let` syntax
`reinterpret<T>` operation
Pointers (limited)
-`struct` inheritance (limited)
Extensions
Multi-level break
Force inlining
@@ -94,7 +93,7 @@
- Using Automatic Differentiation in Slang
- Mathematic Concepts and Terminologies
-- Differentiable Types
+- Differentiable Value Types
- Forward Derivative Propagation Function
- Backward Derivative Propagation Function
- Builtin Differentiable Functions
@@ -126,19 +125,6 @@
- Function Reflection
-Supported Compilation Targets
-
-- Background and Terminology
-- Direct3D 11
-- Direct3D 12
-- Vulkan
-- OpenGL
-- Metal
-- CUDA and OptiX
-- CPU Compute
-- Summary
-
-
Link-time Specialization and Module Precompilation
- Link-time Constants
@@ -196,8 +182,20 @@
-Target-specific features
+Reference
+
+- Capability Atoms
+- Targets
+- Stages
+- Versions
+- Extensions
+- Compound Capabilities
+- Other
+
+
+
+
SPIR-V specific functionalities
- Experimental support for the older versions of SPIR-V
@@ -220,22 +218,51 @@
- Tessellation
+Metal-specific functionalities
+
+- Entry Point Parameter Handling
+- System-Value semantics
+- Interpolation Modifiers
+- Resource Types
+- Header Inclusions and Namespace
+- Parameter blocks and Argument Buffers
+- Struct Parameter Flattening
+- Return Value Handling
+- Value Type Conversion
+- Conservative Rasterization
+- Address Space Assignment
-Reference
+WGSL specific functionalities
+- System-Value semantics
+- Supported HLSL features when targeting WGSL
+- Supported atomic types
+- ConstantBuffer, (RW/RasterizerOrdered)StructuredBuffer, (RW/RasterizerOrdered)ByteAddressBuffer
+- Specialization Constants
+- Interlocked operations
+- Entry Point Parameter Handling
+- Parameter blocks
+- Pointers
+- Address Space Assignment
+- Matrix type translation
+
+
+Target-specific features
+
Capability Profiles
-Capability Atoms
+Supported Compilation Targets
-- Targets
-- Stages
-- Versions
-- Extensions
-- Compound Capabilities
-- Other
-
-
+Background and Terminology
+Direct3D 11
+Direct3D 12
+Vulkan
+OpenGL
+Metal
+CUDA and OptiX
+CPU Compute
+Summary