digraph "Output Pipeline" { node [shape=box] subgraph { "drm_crtc" [bgcolor=grey style=filled] } subgraph cluster_internal { style=dashed label="Internal Pipeline" { node [bgcolor=grey style=filled] "drm_encoder A"; "drm_encoder B"; "drm_encoder C"; } { node [bgcolor=grey style=filled] "drm_encoder B" -> "drm_bridge B" "drm_encoder C" -> "drm_bridge C1" "drm_bridge C1" -> "drm_bridge C2"; } } "drm_crtc" -> "drm_encoder A" "drm_crtc" -> "drm_encoder B" "drm_crtc" -> "drm_encoder C" subgraph cluster_output { style=dashed label="Outputs" "drm_encoder A" -> "drm_connector A"; "drm_bridge B" -> "drm_connector B"; "drm_bridge C2" -> "drm_connector C"; "drm_panel" } }