57 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 driver -> {payload1, payload2} [dir=none];7 }8 9 /* Driver malloc references */10 edge [style=dashed];11 driver -> port1;12 driver -> port2;13 driver -> port3:e;14 driver -> port4 [color=red];15 16 payload1:s -> port1:e;17 payload2:s -> port3:e;18 edge [style=""];19 20 subgraph cluster_topology {21 label="Topology Manager";22 labelloc=bottom;23 24 /* Topology references */25 mstb1 -> {port1, port2};26 port1 -> mstb2;27 edge [color=red];28 port2 -> mstb3 -> {port3, port4};29 port3 -> mstb4;30 edge [color=""];31 32 /* Malloc references */33 edge [style=dashed;dir=back];34 mstb1 -> {port1, port2};35 port1 -> mstb2;36 port2 -> mstb3 -> port3;37 edge [color=red];38 mstb3 -> port4;39 port3 -> mstb4;40 }41 42 mstb1 [label="MSTB #1";style=filled;fillcolor=palegreen];43 mstb2 [label="MSTB #2";style=filled;fillcolor=palegreen];44 mstb3 [label="MSTB #3";style=filled;fillcolor=palegreen];45 mstb4 [label="MSTB #4";style=filled;fillcolor=grey];46 47 port1 [label="Port #1"];48 port2 [label="Port #2"];49 port3 [label="Port #3"];50 port4 [label="Port #4";style=filled;fillcolor=grey];51 52 driver [label="DRM driver";style=filled;shape=box;fillcolor=lightblue];53 54 payload1 [label="Payload #1";style=filled;shape=box;fillcolor=lightblue];55 payload2 [label="Payload #2";style=filled;shape=box;fillcolor=lightblue];56}57