flowchart LR d["draw with
stream output"] --> plan["plan kernel (1 thread):
count records, walk strip cuts,
fit whole primitives, advance filled sizes"] plan --> expand["expand kernel:
gather vertex bytes and IDs
in D3D12's order"] expand --> so["SO draw: second vertex function
writes outputs to the buffers"] so --> norm["normal draw, unless
rasterization is off"]