ALWAYS use when integrating Metal shader converter (commonly referred to as MSC) shaders at runtime - binding model, top-level argument buffer (TLAB), root signature resource locations, descriptor/sampler heaps,…
---
name: integrating-metal-shaderconverter-shaders
description: ALWAYS use when integrating Metal shader converter (commonly referred to as MSC) shaders at runtime — binding model, top-level argument buffer (TLAB), root signature resource locations, descriptor/sampler heaps, static samplers, bindless resources, vertex fetch, separate stage-in, geometry/tessellation emulation, compute dispatch, unbounded arrays, and append/consume buffers. Do NOT trigger for compiling DXIL/HLSL to metallib — use compiling-with-metal-shaderconverter for that.
---
# Metal shader converter — Integration Guide
## Overview
Runtime integration: Metal requirements, binding model, pipeline setup, and common failure modes. Assumes metallib files are compiled.
## References
Read the reference file for your use case before writing integration code:
| Use case | Reference file |
|---|---|
| TLAB layout, root signatures, static samplers, descriptor encoding, compute dispatch, unbounded arrays, append/consume | `references/binding-model.md` |
| Metal vertex fetch, separate stage-in function | `references/vertex-pipelines.md` |
| Geometry and tessellation pipeline emulation | `references/geometry-tessellation.md` |
**Source materials** — consult to verify API details or look up full implementations:
- `metal_irconverter/metal_irconverter.h` — Metal shader converter API: root signature, reflection, descriptor format
- `metal_irconverter_runtime/metal_irconverter_runtime.h` — companion header (**header-only**: read implementations directly when a helper is not used or to understand the manual path)… install to load the full skill