flowchart TD
D["direct draw, root block at R"] --> P{"pipeline takes
a root offset?"}
P -- no --> OLD["table index 6 = R
base instance = StartInstance"]
P -- yes --> Q{"R - base in [0, 16 x 2^24)
and 16-aligned?"}
Q -- no --> MOVE["index 6 = R, base = R
base instance = 0"]
Q -- yes --> KEEP["index 6 unchanged
base instance = (R - base) / 16"]
KEEP --> DC["drawIndexedPrimitives"]
MOVE --> DC
OLD --> DC
DC --> VS["vertex function: root at
buffer 6 + 16 x base_instance"]
VS -- "flat uint, location 49" --> PS["pixel shader: root at
buffer 6 + 16 x offset"]