digraph Module { subgraph cluster_globals { label="Globals" g0 [ shape=hexagon label="[1] Handle/'u_texture'" ] g1 [ shape=hexagon label="[2] Handle/'u_sampler'" ] } subgraph cluster_ep0 { label="Vertex/'vert_main'" node [ style=filled ] ep0_e0 [ color="#8dd3c7" label="[1] Argument[0]" ] ep0_e1 [ color="#8dd3c7" label="[2] Argument[1]" ] ep0_e2 [ fillcolor="#ffffb3" label="[3] Constant" ] ep0_e3 [ color="#fdb462" label="[4] Multiply" ] ep0_e0 -> ep0_e3 [ label="right" ] ep0_e2 -> ep0_e3 [ label="left" ] ep0_e4 [ fillcolor="#ffffb3" label="[5] Literal" ] ep0_e5 [ fillcolor="#ffffb3" label="[6] Literal" ] ep0_e6 [ color="#bebada" label="[7] Compose" ] { ep0_e3 ep0_e4 ep0_e5 } -> ep0_e6 ep0_e7 [ color="#bebada" label="[8] Compose" ] { ep0_e1 ep0_e6 } -> ep0_e7 ep0_s0 [ shape=square label="Root" ] ep0_s1 [ shape=square label="Emit" ] ep0_s2 [ shape=square label="Emit" ] ep0_s3 [ shape=square label="Return" ] ep0_s0 -> ep0_s1 [ arrowhead=tee label="" ] ep0_s1 -> ep0_s2 [ arrowhead=tee label="" ] ep0_s2 -> ep0_s3 [ arrowhead=tee label="" ] ep0_e7 -> ep0_s3 [ label="value" ] ep0_s1 -> ep0_e3 [ style=dotted ] ep0_s2 -> ep0_e6 [ style=dotted ] ep0_s2 -> ep0_e7 [ style=dotted ] } subgraph cluster_ep1 { label="Fragment/'frag_main'" node [ style=filled ] ep1_e0 [ color="#8dd3c7" label="[1] Argument[0]" ] ep1_e1 [ color="#ffffb3" label="[2] Global" ] g0 -> ep1_e1 [fillcolor=gray] ep1_e2 [ color="#ffffb3" label="[3] Global" ] g1 -> ep1_e2 [fillcolor=gray] ep1_e3 [ color="#80b1d3" label="[4] ImageSample" ] ep1_e2 -> ep1_e3 [ label="sampler" ] ep1_e1 -> ep1_e3 [ label="image" ] ep1_e0 -> ep1_e3 [ label="coordinate" ] ep1_e4 [ color="#8dd3c7" label="[5] AccessIndex[3]" ] ep1_e3 -> ep1_e4 [ label="base" ] ep1_e5 [ fillcolor="#ffffb3" label="[6] Literal" ] ep1_e6 [ color="#fdb462" label="[7] Equal" ] ep1_e5 -> ep1_e6 [ label="right" ] ep1_e4 -> ep1_e6 [ label="left" ] ep1_e7 [ color="#8dd3c7" label="[8] AccessIndex[3]" ] ep1_e3 -> ep1_e7 [ label="base" ] ep1_e8 [ color="#fdb462" label="[9] Multiply" ] ep1_e3 -> ep1_e8 [ label="right" ] ep1_e7 -> ep1_e8 [ label="left" ] ep1_s0 [ shape=square label="Root" ] ep1_s1 [ shape=square label="Emit" ] ep1_s2 [ shape=square label="Emit" ] ep1_s3 [ shape=square label="Emit" ] ep1_s4 [ shape=square label="If" ] ep1_s5 [ shape=square label="Node" ] ep1_s6 [ shape=square label="Kill" ] ep1_s7 [ shape=square label="Node" ] ep1_s8 [ shape=square label="Merge" ] ep1_s9 [ shape=square label="Emit" ] ep1_s10 [ shape=square label="Return" ] ep1_s0 -> ep1_s1 [ arrowhead=tee label="" ] ep1_s1 -> ep1_s2 [ arrowhead=tee label="" ] ep1_s2 -> ep1_s3 [ arrowhead=tee label="" ] ep1_s3 -> ep1_s4 [ arrowhead=tee label="" ] ep1_s5 -> ep1_s6 [ arrowhead=tee label="" ] ep1_s4 -> ep1_s5 [ arrowhead=tee label="accept" ] ep1_s4 -> ep1_s7 [ arrowhead=tee label="reject" ] ep1_s6 -> ep1_s8 [ arrowhead=tee label="" ] ep1_s7 -> ep1_s8 [ arrowhead=tee label="" ] ep1_s8 -> ep1_s9 [ arrowhead=tee label="" ] ep1_s9 -> ep1_s10 [ arrowhead=tee label="" ] ep1_e6 -> ep1_s4 [ label="condition" ] ep1_e8 -> ep1_s10 [ label="value" ] ep1_s1 -> ep1_e3 [ style=dotted ] ep1_s2 -> ep1_e4 [ style=dotted ] ep1_s3 -> ep1_e6 [ style=dotted ] ep1_s9 -> ep1_e7 [ style=dotted ] ep1_s9 -> ep1_e8 [ style=dotted ] } subgraph cluster_ep2 { label="Fragment/'fs_extra'" node [ style=filled ] ep2_e0 [ fillcolor="#ffffb3" label="[1] Literal" ] ep2_e1 [ fillcolor="#ffffb3" label="[2] Literal" ] ep2_e2 [ fillcolor="#ffffb3" label="[3] Literal" ] ep2_e3 [ fillcolor="#ffffb3" label="[4] Literal" ] ep2_e4 [ fillcolor="#bebada" label="[5] Compose" ] { ep2_e0 ep2_e1 ep2_e2 ep2_e3 } -> ep2_e4 ep2_s0 [ shape=square label="Root" ] ep2_s1 [ shape=square label="Emit" ] ep2_s2 [ shape=square label="Return" ] ep2_s0 -> ep2_s1 [ arrowhead=tee label="" ] ep2_s1 -> ep2_s2 [ arrowhead=tee label="" ] ep2_e4 -> ep2_s2 [ label="value" ] ep2_s1 -> ep2_e4 [ style=dotted ] } }