flowchart LR
args["D3D12 argument buffer
(root constants, draw args)"] --> exp["expand pass
(compute kernel)"]
exp --> rec["one indirect record:
Metal draw args,
then the root block"]
rec --> draw["drawIndirect
reads the Metal args"]
rec --> sh["shaders read
the root block"]