60 lines · plain
1digraph T {2 /* Make sure our payloads are always drawn below the driver node */3 subgraph cluster_driver {4 fillcolor = grey;5 style = filled;6 edge [dir=none];7 driver -> payload1;8 driver -> payload2 [penwidth=3];9 edge [dir=""];10 }11 12 /* Driver malloc references */13 edge [style=dashed];14 driver -> port1;15 driver -> port2;16 driver -> port3:e;17 driver -> port4 [color=grey];18 payload1:s -> port1:e;19 payload2:s -> port3:e [penwidth=3];20 edge [style=""];21 22 subgraph cluster_topology {23 label="Topology Manager";24 labelloc=bottom;25 26 /* Topology references */27 mstb1 -> {port1, port2};28 port1 -> mstb2;29 edge [color=grey];30 port2 -> mstb3 -> {port3, port4};31 port3 -> mstb4;32 edge [color=""];33 34 /* Malloc references */35 edge [style=dashed;dir=back];36 mstb1 -> {port1, port2};37 port1 -> mstb2;38 port2 -> mstb3 [penwidth=3];39 mstb3 -> port3 [penwidth=3];40 edge [color=grey];41 mstb3 -> port4;42 port3 -> mstb4;43 }44 45 mstb1 [label="MSTB #1";style=filled;fillcolor=palegreen];46 mstb2 [label="MSTB #2";style=filled;fillcolor=palegreen];47 mstb3 [label="MSTB #3";style=filled;fillcolor=palegreen;penwidth=3];48 mstb4 [label="MSTB #4";style=filled;fillcolor=grey];49 50 port1 [label="Port #1"];51 port2 [label="Port #2";penwidth=5];52 port3 [label="Port #3";penwidth=3];53 port4 [label="Port #4";style=filled;fillcolor=grey];54 55 driver [label="DRM driver";style=filled;shape=box;fillcolor=lightblue];56 57 payload1 [label="Payload #1";style=filled;shape=box;fillcolor=lightblue];58 payload2 [label="Payload #2";style=filled;shape=box;fillcolor=lightblue;penwidth=3];59}60