diff options
author | Jonas Ã…dahl <jadahl@gmail.com> | 2019-01-11 15:35:42 +0100 |
---|---|---|
committer | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2019-06-20 13:31:55 +0000 |
commit | 5c500ad4021941abed48b763048c5d459e068e1c (patch) | |
tree | a0b8c77b12a2fd81006722f36933cd95dda5d105 /src/backends/meta-monitor.c | |
parent | e7fd068a78c8158800f0ef984707c431e0f8f930 (diff) | |
download | mutter-5c500ad4021941abed48b763048c5d459e068e1c.tar.gz |
backend: Move GPU ownership from the monitor manager to the backend
Lets work towards making MetaMonitorManager about managing monitors, and
not about managing GPUs. This changes other units to keep a pointer to
the backend instead of a monitor manager, in case their ownership
changed, or their main usage of the monitor manager was to look up GPUs.
https://gitlab.gnome.org/GNOME/mutter/issues/548
https://gitlab.gnome.org/GNOME/mutter/merge_requests/525
Diffstat (limited to 'src/backends/meta-monitor.c')
-rw-r--r-- | src/backends/meta-monitor.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c index 5f6c45543..dae40e277 100644 --- a/src/backends/meta-monitor.c +++ b/src/backends/meta-monitor.c @@ -90,6 +90,8 @@ struct _MetaMonitorTiled { MetaMonitor parent; + MetaMonitorManager *monitor_manager; + uint32_t tile_group_id; /* The tile (0, 0) output. */ @@ -1176,10 +1178,10 @@ meta_monitor_tiled_generate_modes (MetaMonitorTiled *monitor_tiled) } MetaMonitorTiled * -meta_monitor_tiled_new (MetaGpu *gpu, - MetaOutput *output) +meta_monitor_tiled_new (MetaGpu *gpu, + MetaMonitorManager *monitor_manager, + MetaOutput *output) { - MetaMonitorManager *monitor_manager; MetaMonitorTiled *monitor_tiled; MetaMonitor *monitor; MetaMonitorPrivate *monitor_priv; @@ -1200,7 +1202,7 @@ meta_monitor_tiled_new (MetaGpu *gpu, meta_monitor_generate_spec (monitor); - monitor_manager = meta_gpu_get_monitor_manager (gpu); + monitor_tiled->monitor_manager = monitor_manager; meta_monitor_manager_tiled_monitor_added (monitor_manager, META_MONITOR (monitor_tiled)); @@ -1286,14 +1288,10 @@ meta_monitor_tiled_calculate_crtc_pos (MetaMonitor *monitor, static void meta_monitor_tiled_finalize (GObject *object) { - MetaMonitor *monitor = META_MONITOR (object); - MetaMonitorPrivate *monitor_priv = - meta_monitor_get_instance_private (monitor); - MetaMonitorManager *monitor_manager; + MetaMonitorTiled *monitor_tiled = META_MONITOR_TILED (object); - monitor_manager = meta_gpu_get_monitor_manager (monitor_priv->gpu); - meta_monitor_manager_tiled_monitor_removed (monitor_manager, - monitor); + meta_monitor_manager_tiled_monitor_removed (monitor_tiled->monitor_manager, + META_MONITOR (monitor_tiled)); G_OBJECT_CLASS (meta_monitor_tiled_parent_class)->finalize (object); } |