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"]