flowchart LR X["ExecuteIndirect
fan or adjacency"] --> E["expand_indirect
one record per command
(args, IBV, VBVs)"] E --> P["predication
zeroes args"] P --> PL["assembly_plan
1 thread: mode, count,
offset per command"] PL --> A["assemble_indices
1 threadgroup
per command"] A --> S[("16 MiB scratch
32-bit list indices")] S --> ED["encode_draws
indexed list draw
per command"] ED --> R["executeCommandsInBuffer"]