53 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;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 port2 -> mstb3 -> {port3, port4};28 port3 -> mstb4;29 30 /* Malloc references */31 edge [style=dashed;dir=back];32 mstb1 -> {port1, port2};33 port1 -> mstb2;34 port2 -> mstb3 -> {port3, port4};35 port3 -> mstb4;36 }37 38 driver [label="DRM driver";style=filled;shape=box;fillcolor=lightblue];39 40 payload1 [label="Payload #1";style=filled;shape=box;fillcolor=lightblue];41 payload2 [label="Payload #2";style=filled;shape=box;fillcolor=lightblue];42 43 mstb1 [label="MSTB #1";style=filled;fillcolor=palegreen;shape=oval];44 mstb2 [label="MSTB #2";style=filled;fillcolor=palegreen;shape=oval];45 mstb3 [label="MSTB #3";style=filled;fillcolor=palegreen;shape=oval];46 mstb4 [label="MSTB #4";style=filled;fillcolor=palegreen;shape=oval];47 48 port1 [label="Port #1";shape=oval];49 port2 [label="Port #2";shape=oval];50 port3 [label="Port #3";shape=oval];51 port4 [label="Port #4";shape=oval];52}53