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