flowchart TD D["D3D12 draw
StartVertexLocation or BaseVertexLocation,
StartInstanceLocation"] --> M["Metal draw
baseVertex, baseInstance"] H["HLSL (SM 6.8)
SV_StartVertexLocation,
SV_StartInstanceLocation"] --> X["dxil-spirv
BaseVertex, BaseInstance"] X --> S["SPIRV-Cross
[[base_vertex]], [[base_instance]]"] M --> S S --> Q{"does the vertex shader
read the start instance?"} Q -->|"no"| O["root offsets: baseInstance carries
the root block offset"] Q -->|"yes"| P["baseInstance stays the
D3D12 start instance"]