flowchart TD D["draw record
points at state block B"] --> V{"B == viewports_of?"} V -- no --> VC["render area, viewports, scissors
computed and kept"] V -- yes --> P VC --> P{"pass open and B == pass_of?"} P -- no --> PC["compare attachments
(memcmp of 8 targets + depth)"] P -- yes --> S PC --> S{"state_valid and B == state_of?"} S -- no --> SC["draw_state: compare and set pipeline,
depth-stencil, cull, bias, viewports..."] S -- yes --> B["bindings, root arguments, draw call"] SC --> B R["clear, barrier, query, new encoder"] -. resets state_valid / pass_of .-> S