diff --git a/src/backends/meta-backend-types.h b/src/backends/meta-backend-types.h index a88d8e1af..4753c0744 100644 --- a/src/backends/meta-backend-types.h +++ b/src/backends/meta-backend-types.h @@ -44,8 +44,9 @@ typedef struct _MetaGpu MetaGpu; typedef struct _MetaCrtc MetaCrtc; typedef struct _MetaOutput MetaOutput; typedef struct _MetaCrtcMode MetaCrtcMode; -typedef struct _MetaCrtcInfo MetaCrtcInfo; -typedef struct _MetaOutputInfo MetaOutputInfo; +typedef struct _MetaCrtcAssignment MetaCrtcAssignment; +typedef struct _MetaOutputAssignment MetaOutputAssignment; + typedef struct _MetaTileInfo MetaTileInfo; typedef struct _MetaRenderer MetaRenderer; diff --git a/src/backends/meta-monitor-config-manager.c b/src/backends/meta-monitor-config-manager.c index 107573137..cb11eba71 100644 --- a/src/backends/meta-monitor-config-manager.c +++ b/src/backends/meta-monitor-config-manager.c @@ -52,10 +52,10 @@ G_DEFINE_TYPE (MetaMonitorsConfig, meta_monitors_config, G_TYPE_OBJECT) static void -meta_crtc_info_free (MetaCrtcInfo *info); +meta_crtc_assignment_free (MetaCrtcAssignment *assignment); static void -meta_output_info_free (MetaOutputInfo *info); +meta_output_assignment_free (MetaOutputAssignment *assignment); MetaMonitorConfigManager * meta_monitor_config_manager_new (MetaMonitorManager *monitor_manager) @@ -96,15 +96,16 @@ is_crtc_reserved (MetaCrtc *crtc, static gboolean is_crtc_assigned (MetaCrtc *crtc, - GPtrArray *crtc_infos) + GPtrArray *crtc_assignments) { unsigned int i; - for (i = 0; i < crtc_infos->len; i++) + for (i = 0; i < crtc_assignments->len; i++) { - MetaCrtcInfo *assigned_crtc_info = g_ptr_array_index (crtc_infos, i); + MetaCrtcAssignment *assigned_crtc_assignment = + g_ptr_array_index (crtc_assignments, i); - if (assigned_crtc_info->crtc == crtc) + if (assigned_crtc_assignment->crtc == crtc) return TRUE; } @@ -113,14 +114,14 @@ is_crtc_assigned (MetaCrtc *crtc, static MetaCrtc * find_unassigned_crtc (MetaOutput *output, - GPtrArray *crtc_infos, + GPtrArray *crtc_assignments, GArray *reserved_crtcs) { MetaCrtc *crtc; unsigned int i; crtc = meta_output_get_assigned_crtc (output); - if (crtc && !is_crtc_assigned (crtc, crtc_infos)) + if (crtc && !is_crtc_assigned (crtc, crtc_assignments)) return crtc; /* then try to assign a CRTC that wasn't used */ @@ -128,7 +129,7 @@ find_unassigned_crtc (MetaOutput *output, { crtc = output->possible_crtcs[i]; - if (is_crtc_assigned (crtc, crtc_infos)) + if (is_crtc_assigned (crtc, crtc_assignments)) continue; if (is_crtc_reserved (crtc, reserved_crtcs)) @@ -142,7 +143,7 @@ find_unassigned_crtc (MetaOutput *output, { crtc = output->possible_crtcs[i]; - if (is_crtc_assigned (crtc, crtc_infos)) + if (is_crtc_assigned (crtc, crtc_assignments)) continue; return crtc; @@ -157,8 +158,8 @@ typedef struct MetaMonitorsConfig *config; MetaLogicalMonitorConfig *logical_monitor_config; MetaMonitorConfig *monitor_config; - GPtrArray *crtc_infos; - GPtrArray *output_infos; + GPtrArray *crtc_assignments; + GPtrArray *output_assignments; GArray *reserved_crtcs; } MonitorAssignmentData; @@ -181,15 +182,17 @@ assign_monitor_crtc (MetaMonitor *monitor, float width, height; MetaCrtcMode *crtc_mode; graphene_rect_t crtc_layout; - MetaCrtcInfo *crtc_info; - MetaOutputInfo *output_info; + MetaCrtcAssignment *crtc_assignment; + MetaOutputAssignment *output_assignment; MetaMonitorConfig *first_monitor_config; gboolean assign_output_as_primary; gboolean assign_output_as_presentation; output = monitor_crtc_mode->output; - crtc = find_unassigned_crtc (output, data->crtc_infos, data->reserved_crtcs); + crtc = find_unassigned_crtc (output, + data->crtc_assignments, + data->reserved_crtcs); if (!crtc) { @@ -244,15 +247,15 @@ assign_monitor_crtc (MetaMonitor *monitor, width, height); - crtc_info = g_slice_new0 (MetaCrtcInfo); - *crtc_info = (MetaCrtcInfo) { + crtc_assignment = g_slice_new0 (MetaCrtcAssignment); + *crtc_assignment = (MetaCrtcAssignment) { .crtc = crtc, .mode = crtc_mode, .layout = crtc_layout, .transform = crtc_hw_transform, .outputs = g_ptr_array_new () }; - g_ptr_array_add (crtc_info->outputs, output); + g_ptr_array_add (crtc_assignment->outputs, output); /* * Only one output can be marked as primary (due to Xrandr limitation), @@ -272,16 +275,16 @@ assign_monitor_crtc (MetaMonitor *monitor, else assign_output_as_presentation = FALSE; - output_info = g_slice_new0 (MetaOutputInfo); - *output_info = (MetaOutputInfo) { + output_assignment = g_slice_new0 (MetaOutputAssignment); + *output_assignment = (MetaOutputAssignment) { .output = output, .is_primary = assign_output_as_primary, .is_presentation = assign_output_as_presentation, .is_underscanning = data->monitor_config->enable_underscanning }; - g_ptr_array_add (data->crtc_infos, crtc_info); - g_ptr_array_add (data->output_infos, output_info); + g_ptr_array_add (data->crtc_assignments, crtc_assignment); + g_ptr_array_add (data->output_assignments, output_assignment); return TRUE; } @@ -291,8 +294,8 @@ assign_monitor_crtcs (MetaMonitorManager *manager, MetaMonitorsConfig *config, MetaLogicalMonitorConfig *logical_monitor_config, MetaMonitorConfig *monitor_config, - GPtrArray *crtc_infos, - GPtrArray *output_infos, + GPtrArray *crtc_assignments, + GPtrArray *output_assignments, GArray *reserved_crtcs, GError **error) { @@ -327,8 +330,8 @@ assign_monitor_crtcs (MetaMonitorManager *manager, .config = config, .logical_monitor_config = logical_monitor_config, .monitor_config = monitor_config, - .crtc_infos = crtc_infos, - .output_infos = output_infos, + .crtc_assignments = crtc_assignments, + .output_assignments = output_assignments, .reserved_crtcs = reserved_crtcs }; if (!meta_monitor_mode_foreach_crtc (monitor, monitor_mode, @@ -344,8 +347,8 @@ static gboolean assign_logical_monitor_crtcs (MetaMonitorManager *manager, MetaMonitorsConfig *config, MetaLogicalMonitorConfig *logical_monitor_config, - GPtrArray *crtc_infos, - GPtrArray *output_infos, + GPtrArray *crtc_assignments, + GPtrArray *output_assignments, GArray *reserved_crtcs, GError **error) { @@ -359,7 +362,7 @@ assign_logical_monitor_crtcs (MetaMonitorManager *manager, config, logical_monitor_config, monitor_config, - crtc_infos, output_infos, + crtc_assignments, output_assignments, reserved_crtcs, error)) return FALSE; } @@ -370,19 +373,19 @@ assign_logical_monitor_crtcs (MetaMonitorManager *manager, gboolean meta_monitor_config_manager_assign (MetaMonitorManager *manager, MetaMonitorsConfig *config, - GPtrArray **out_crtc_infos, - GPtrArray **out_output_infos, + GPtrArray **out_crtc_assignments, + GPtrArray **out_output_assignments, GError **error) { - GPtrArray *crtc_infos; - GPtrArray *output_infos; + GPtrArray *crtc_assignments; + GPtrArray *output_assignments; GArray *reserved_crtcs; GList *l; - crtc_infos = - g_ptr_array_new_with_free_func ((GDestroyNotify) meta_crtc_info_free); - output_infos = - g_ptr_array_new_with_free_func ((GDestroyNotify) meta_output_info_free); + crtc_assignments = + g_ptr_array_new_with_free_func ((GDestroyNotify) meta_crtc_assignment_free); + output_assignments = + g_ptr_array_new_with_free_func ((GDestroyNotify) meta_output_assignment_free); reserved_crtcs = g_array_new (FALSE, FALSE, sizeof (uint64_t)); for (l = config->logical_monitor_configs; l; l = l->next) @@ -421,11 +424,11 @@ meta_monitor_config_manager_assign (MetaMonitorManager *manager, if (!assign_logical_monitor_crtcs (manager, config, logical_monitor_config, - crtc_infos, output_infos, + crtc_assignments, output_assignments, reserved_crtcs, error)) { - g_ptr_array_free (crtc_infos, TRUE); - g_ptr_array_free (output_infos, TRUE); + g_ptr_array_free (crtc_assignments, TRUE); + g_ptr_array_free (output_assignments, TRUE); g_array_free (reserved_crtcs, TRUE); return FALSE; } @@ -433,8 +436,8 @@ meta_monitor_config_manager_assign (MetaMonitorManager *manager, g_array_free (reserved_crtcs, TRUE); - *out_crtc_infos = crtc_infos; - *out_output_infos = output_infos; + *out_crtc_assignments = crtc_assignments; + *out_output_assignments = output_assignments; return TRUE; } @@ -1563,16 +1566,16 @@ meta_monitors_config_class_init (MetaMonitorsConfigClass *klass) } static void -meta_crtc_info_free (MetaCrtcInfo *info) +meta_crtc_assignment_free (MetaCrtcAssignment *assignment) { - g_ptr_array_free (info->outputs, TRUE); - g_slice_free (MetaCrtcInfo, info); + g_ptr_array_free (assignment->outputs, TRUE); + g_slice_free (MetaCrtcAssignment, assignment); } static void -meta_output_info_free (MetaOutputInfo *info) +meta_output_assignment_free (MetaOutputAssignment *assignment) { - g_slice_free (MetaOutputInfo, info); + g_slice_free (MetaOutputAssignment, assignment); } gboolean diff --git a/src/backends/meta-monitor-config-manager.h b/src/backends/meta-monitor-config-manager.h index 3875e04e9..86756a7e3 100644 --- a/src/backends/meta-monitor-config-manager.h +++ b/src/backends/meta-monitor-config-manager.h @@ -87,8 +87,8 @@ MetaMonitorConfigStore * meta_monitor_config_manager_get_store (MetaMonitorConfi META_EXPORT_TEST gboolean meta_monitor_config_manager_assign (MetaMonitorManager *manager, MetaMonitorsConfig *config, - GPtrArray **crtc_infos, - GPtrArray **output_infos, + GPtrArray **crtc_assignments, + GPtrArray **output_assignments, GError **error); META_EXPORT_TEST diff --git a/src/backends/meta-monitor-manager-dummy.c b/src/backends/meta-monitor-manager-dummy.c index 8b803cecc..d7f07b012 100644 --- a/src/backends/meta-monitor-manager-dummy.c +++ b/src/backends/meta-monitor-manager-dummy.c @@ -498,11 +498,11 @@ meta_monitor_manager_dummy_ensure_initial_config (MetaMonitorManager *manager) } static void -apply_crtc_assignments (MetaMonitorManager *manager, - MetaCrtcInfo **crtcs, - unsigned int n_crtcs, - MetaOutputInfo **outputs, - unsigned int n_outputs) +apply_crtc_assignments (MetaMonitorManager *manager, + MetaCrtcAssignment **crtcs, + unsigned int n_crtcs, + MetaOutputAssignment **outputs, + unsigned int n_outputs) { g_autoptr (GList) to_configure_outputs = NULL; g_autoptr (GList) to_configure_crtcs = NULL; @@ -513,12 +513,12 @@ apply_crtc_assignments (MetaMonitorManager *manager, for (i = 0; i < n_crtcs; i++) { - MetaCrtcInfo *crtc_info = crtcs[i]; - MetaCrtc *crtc = crtc_info->crtc; + MetaCrtcAssignment *crtc_assignment = crtcs[i]; + MetaCrtc *crtc = crtc_assignment->crtc; to_configure_crtcs = g_list_remove (to_configure_crtcs, crtc); - if (crtc_info->mode == NULL) + if (crtc_assignment->mode == NULL) { meta_crtc_unset_config (crtc); } @@ -527,22 +527,24 @@ apply_crtc_assignments (MetaMonitorManager *manager, unsigned int j; meta_crtc_set_config (crtc, - &crtc_info->layout, - crtc_info->mode, - crtc_info->transform); + &crtc_assignment->layout, + crtc_assignment->mode, + crtc_assignment->transform); - for (j = 0; j < crtc_info->outputs->len; j++) + for (j = 0; j < crtc_assignment->outputs->len; j++) { MetaOutput *output; - MetaOutputInfo *output_info; + MetaOutputAssignment *output_assignment; - output = ((MetaOutput**)crtc_info->outputs->pdata)[j]; + output = ((MetaOutput**) crtc_assignment->outputs->pdata)[j]; to_configure_outputs = g_list_remove (to_configure_outputs, output); - output_info = meta_find_output_info (outputs, n_outputs, output); - meta_output_assign_crtc (output, crtc, output_info); + output_assignment = meta_find_output_assignment (outputs, + n_outputs, + output); + meta_output_assign_crtc (output, crtc, output_assignment); } } } @@ -590,8 +592,8 @@ meta_monitor_manager_dummy_apply_monitors_config (MetaMonitorManager *manag MetaMonitorsConfigMethod method, GError **error) { - GPtrArray *crtc_infos; - GPtrArray *output_infos; + GPtrArray *crtc_assignments; + GPtrArray *output_assignments; if (!config) { @@ -603,25 +605,26 @@ meta_monitor_manager_dummy_apply_monitors_config (MetaMonitorManager *manag } if (!meta_monitor_config_manager_assign (manager, config, - &crtc_infos, &output_infos, + &crtc_assignments, + &output_assignments, error)) return FALSE; if (method == META_MONITORS_CONFIG_METHOD_VERIFY) { - g_ptr_array_free (crtc_infos, TRUE); - g_ptr_array_free (output_infos, TRUE); + g_ptr_array_free (crtc_assignments, TRUE); + g_ptr_array_free (output_assignments, TRUE); return TRUE; } apply_crtc_assignments (manager, - (MetaCrtcInfo **) crtc_infos->pdata, - crtc_infos->len, - (MetaOutputInfo **) output_infos->pdata, - output_infos->len); + (MetaCrtcAssignment **) crtc_assignments->pdata, + crtc_assignments->len, + (MetaOutputAssignment **) output_assignments->pdata, + output_assignments->len); - g_ptr_array_free (crtc_infos, TRUE); - g_ptr_array_free (output_infos, TRUE); + g_ptr_array_free (crtc_assignments, TRUE); + g_ptr_array_free (output_assignments, TRUE); update_screen_size (manager, config); meta_monitor_manager_rebuild (manager, config); diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h index 5dc752a34..1b7efd261 100644 --- a/src/backends/meta-monitor-manager-private.h +++ b/src/backends/meta-monitor-manager-private.h @@ -63,12 +63,12 @@ typedef enum _MetaLogicalMonitorLayoutMode } MetaLogicalMonitorLayoutMode; /* - * MetaCrtcInfo: + * MetaCrtcAssignment: * * A representation of a CRTC configuration, generated by * MetaMonitorConfigManager. */ -struct _MetaCrtcInfo +struct _MetaCrtcAssignment { MetaCrtc *crtc; MetaCrtcMode *mode; @@ -78,12 +78,12 @@ struct _MetaCrtcInfo }; /* - * MetaOutputInfo: + * MetaOutputAssignment: * * A representation of a connector configuration, generated by * MetaMonitorConfigManager. */ -struct _MetaOutputInfo +struct _MetaOutputAssignment { MetaOutput *output; gboolean is_primary; @@ -387,19 +387,19 @@ gboolean meta_monitor_has_aspect_as_size (MetaMonitor *monitor); char * meta_monitor_manager_get_vendor_name (MetaMonitorManager *manager, const char *vendor); -static inline MetaOutputInfo * -meta_find_output_info (MetaOutputInfo **outputs, - unsigned int n_outputs, - MetaOutput *output) +static inline MetaOutputAssignment * +meta_find_output_assignment (MetaOutputAssignment **outputs, + unsigned int n_outputs, + MetaOutput *output) { unsigned int i; for (i = 0; i < n_outputs; i++) { - MetaOutputInfo *output_info = outputs[i]; + MetaOutputAssignment *output_assignment = outputs[i]; - if (output == output_info->output) - return output_info; + if (output == output_assignment->output) + return output_assignment; } return NULL; diff --git a/src/backends/meta-output.c b/src/backends/meta-output.c index 8bd396c43..4e6e1f197 100644 --- a/src/backends/meta-output.c +++ b/src/backends/meta-output.c @@ -116,9 +116,9 @@ meta_output_get_backlight (MetaOutput *output) } void -meta_output_assign_crtc (MetaOutput *output, - MetaCrtc *crtc, - const MetaOutputInfo *output_info) +meta_output_assign_crtc (MetaOutput *output, + MetaCrtc *crtc, + const MetaOutputAssignment *output_assignment) { MetaOutputPrivate *priv = meta_output_get_instance_private (output); @@ -126,9 +126,9 @@ meta_output_assign_crtc (MetaOutput *output, g_set_object (&priv->crtc, crtc); - priv->is_primary = output_info->is_primary; - priv->is_presentation = output_info->is_presentation; - priv->is_underscanning = output_info->is_underscanning; + priv->is_primary = output_assignment->is_primary; + priv->is_presentation = output_assignment->is_presentation; + priv->is_underscanning = output_assignment->is_underscanning; } void diff --git a/src/backends/meta-output.h b/src/backends/meta-output.h index 86d338c06..75b6ca189 100644 --- a/src/backends/meta-output.h +++ b/src/backends/meta-output.h @@ -130,9 +130,9 @@ void meta_output_set_backlight (MetaOutput *output, int meta_output_get_backlight (MetaOutput *output); META_EXPORT_TEST -void meta_output_assign_crtc (MetaOutput *output, - MetaCrtc *crtc, - const MetaOutputInfo *output_info); +void meta_output_assign_crtc (MetaOutput *output, + MetaCrtc *crtc, + const MetaOutputAssignment *output_assignment); META_EXPORT_TEST void meta_output_unassign_crtc (MetaOutput *output); diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c index 469c5b6e8..a563170db 100644 --- a/src/backends/native/meta-monitor-manager-kms.c +++ b/src/backends/native/meta-monitor-manager-kms.c @@ -169,11 +169,11 @@ meta_monitor_manager_kms_ensure_initial_config (MetaMonitorManager *manager) } static void -apply_crtc_assignments (MetaMonitorManager *manager, - MetaCrtcInfo **crtcs, - unsigned int n_crtcs, - MetaOutputInfo **outputs, - unsigned int n_outputs) +apply_crtc_assignments (MetaMonitorManager *manager, + MetaCrtcAssignment **crtcs, + unsigned int n_crtcs, + MetaOutputAssignment **outputs, + unsigned int n_outputs) { MetaBackend *backend = meta_monitor_manager_get_backend (manager); g_autoptr (GList) to_configure_outputs = NULL; @@ -198,12 +198,12 @@ apply_crtc_assignments (MetaMonitorManager *manager, for (i = 0; i < n_crtcs; i++) { - MetaCrtcInfo *crtc_info = crtcs[i]; - MetaCrtc *crtc = crtc_info->crtc; + MetaCrtcAssignment *crtc_assignment = crtcs[i]; + MetaCrtc *crtc = crtc_assignment->crtc; to_configure_crtcs = g_list_remove (to_configure_crtcs, crtc); - if (crtc_info->mode == NULL) + if (crtc_assignment->mode == NULL) { meta_crtc_unset_config (crtc); } @@ -212,20 +212,23 @@ apply_crtc_assignments (MetaMonitorManager *manager, unsigned int j; meta_crtc_set_config (crtc, - &crtc_info->layout, - crtc_info->mode, - crtc_info->transform); + &crtc_assignment->layout, + crtc_assignment->mode, + crtc_assignment->transform); - for (j = 0; j < crtc_info->outputs->len; j++) + for (j = 0; j < crtc_assignment->outputs->len; j++) { - MetaOutput *output = g_ptr_array_index (crtc_info->outputs, j); - MetaOutputInfo *output_info; + MetaOutput *output = g_ptr_array_index (crtc_assignment->outputs, + j); + MetaOutputAssignment *output_assignment; to_configure_outputs = g_list_remove (to_configure_outputs, output); - output_info = meta_find_output_info (outputs, n_outputs, output); - meta_output_assign_crtc (output, crtc, output_info); + output_assignment = meta_find_output_assignment (outputs, + n_outputs, + output); + meta_output_assign_crtc (output, crtc, output_assignment); } } } @@ -273,8 +276,8 @@ meta_monitor_manager_kms_apply_monitors_config (MetaMonitorManager *manager MetaMonitorsConfigMethod method, GError **error) { - GPtrArray *crtc_infos; - GPtrArray *output_infos; + GPtrArray *crtc_assignments; + GPtrArray *output_assignments; if (!config) { @@ -285,25 +288,26 @@ meta_monitor_manager_kms_apply_monitors_config (MetaMonitorManager *manager } if (!meta_monitor_config_manager_assign (manager, config, - &crtc_infos, &output_infos, + &crtc_assignments, + &output_assignments, error)) return FALSE; if (method == META_MONITORS_CONFIG_METHOD_VERIFY) { - g_ptr_array_free (crtc_infos, TRUE); - g_ptr_array_free (output_infos, TRUE); + g_ptr_array_free (crtc_assignments, TRUE); + g_ptr_array_free (output_assignments, TRUE); return TRUE; } apply_crtc_assignments (manager, - (MetaCrtcInfo **) crtc_infos->pdata, - crtc_infos->len, - (MetaOutputInfo **) output_infos->pdata, - output_infos->len); + (MetaCrtcAssignment **) crtc_assignments->pdata, + crtc_assignments->len, + (MetaOutputAssignment **) output_assignments->pdata, + output_assignments->len); - g_ptr_array_free (crtc_infos, TRUE); - g_ptr_array_free (output_infos, TRUE); + g_ptr_array_free (crtc_assignments, TRUE); + g_ptr_array_free (output_assignments, TRUE); update_screen_size (manager, config); meta_monitor_manager_rebuild (manager, config); diff --git a/src/backends/native/meta-output-kms.c b/src/backends/native/meta-output-kms.c index 170e63c79..545df55ec 100644 --- a/src/backends/native/meta-output-kms.c +++ b/src/backends/native/meta-output-kms.c @@ -363,23 +363,23 @@ meta_create_kms_output (MetaGpuKms *gpu_kms, if (meta_crtc_get_id (crtc) == connector_state->current_crtc_id) { - MetaOutputInfo output_info; + MetaOutputAssignment output_assignment; if (old_output) { - output_info = (MetaOutputInfo) { + output_assignment = (MetaOutputAssignment) { .is_primary = meta_output_is_primary (old_output), .is_presentation = meta_output_is_presentation (old_output), }; } else { - output_info = (MetaOutputInfo) { + output_assignment = (MetaOutputAssignment) { .is_primary = FALSE, .is_presentation = FALSE, }; } - meta_output_assign_crtc (output, crtc, &output_info); + meta_output_assign_crtc (output, crtc, &output_assignment); break; } } diff --git a/src/backends/x11/meta-crtc-xrandr.c b/src/backends/x11/meta-crtc-xrandr.c index bee536406..0b68a9003 100644 --- a/src/backends/x11/meta-crtc-xrandr.c +++ b/src/backends/x11/meta-crtc-xrandr.c @@ -183,27 +183,27 @@ meta_monitor_transform_from_xrandr_all (Rotation rotation) } gboolean -meta_crtc_xrandr_is_assignment_changed (MetaCrtc *crtc, - MetaCrtcInfo *crtc_info) +meta_crtc_xrandr_is_assignment_changed (MetaCrtc *crtc, + MetaCrtcAssignment *crtc_assignment) { MetaCrtcXrandr *crtc_xrandr = crtc->driver_private; unsigned int i; - if (crtc_xrandr->current_mode != crtc_info->mode) + if (crtc_xrandr->current_mode != crtc_assignment->mode) return TRUE; - if (crtc_xrandr->rect.x != (int) roundf (crtc_info->layout.origin.x)) + if (crtc_xrandr->rect.x != (int) roundf (crtc_assignment->layout.origin.x)) return TRUE; - if (crtc_xrandr->rect.y != (int) roundf (crtc_info->layout.origin.y)) + if (crtc_xrandr->rect.y != (int) roundf (crtc_assignment->layout.origin.y)) return TRUE; - if (crtc_xrandr->transform != crtc_info->transform) + if (crtc_xrandr->transform != crtc_assignment->transform) return TRUE; - for (i = 0; i < crtc_info->outputs->len; i++) + for (i = 0; i < crtc_assignment->outputs->len; i++) { - MetaOutput *output = ((MetaOutput**) crtc_info->outputs->pdata)[i]; + MetaOutput *output = ((MetaOutput**) crtc_assignment->outputs->pdata)[i]; MetaCrtc *assigned_crtc; assigned_crtc = meta_output_get_assigned_crtc (output); diff --git a/src/backends/x11/meta-crtc-xrandr.h b/src/backends/x11/meta-crtc-xrandr.h index 3226378b5..97714126e 100644 --- a/src/backends/x11/meta-crtc-xrandr.h +++ b/src/backends/x11/meta-crtc-xrandr.h @@ -39,8 +39,8 @@ gboolean meta_crtc_xrandr_set_config (MetaCrtc *crtc, int n_outputs, xcb_timestamp_t *out_timestamp); -gboolean meta_crtc_xrandr_is_assignment_changed (MetaCrtc *crtc, - MetaCrtcInfo *crtc_info); +gboolean meta_crtc_xrandr_is_assignment_changed (MetaCrtc *crtc, + MetaCrtcAssignment *crtc_assignment); MetaCrtcMode * meta_crtc_xrandr_get_current_mode (MetaCrtc *crtc); diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c index eab5f55ec..cccc07fe4 100644 --- a/src/backends/x11/meta-monitor-manager-xrandr.c +++ b/src/backends/x11/meta-monitor-manager-xrandr.c @@ -241,52 +241,52 @@ xrandr_set_crtc_config (MetaMonitorManagerXrandr *manager_xrandr, } static gboolean -is_crtc_assignment_changed (MetaCrtc *crtc, - MetaCrtcInfo **crtc_infos, - unsigned int n_crtc_infos) +is_crtc_assignment_changed (MetaCrtc *crtc, + MetaCrtcAssignment **crtc_assignments, + unsigned int n_crtc_assignments) { unsigned int i; - for (i = 0; i < n_crtc_infos; i++) + for (i = 0; i < n_crtc_assignments; i++) { - MetaCrtcInfo *crtc_info = crtc_infos[i]; + MetaCrtcAssignment *crtc_assignment = crtc_assignments[i]; - if (crtc_info->crtc != crtc) + if (crtc_assignment->crtc != crtc) continue; - return meta_crtc_xrandr_is_assignment_changed (crtc, crtc_info); + return meta_crtc_xrandr_is_assignment_changed (crtc, crtc_assignment); } return !!meta_crtc_xrandr_get_current_mode (crtc); } static gboolean -is_output_assignment_changed (MetaOutput *output, - MetaCrtcInfo **crtc_infos, - unsigned int n_crtc_infos, - MetaOutputInfo **output_infos, - unsigned int n_output_infos) +is_output_assignment_changed (MetaOutput *output, + MetaCrtcAssignment **crtc_assignments, + unsigned int n_crtc_assignments, + MetaOutputAssignment **output_assignments, + unsigned int n_output_assignments) { MetaCrtc *assigned_crtc; gboolean output_is_found = FALSE; unsigned int i; - for (i = 0; i < n_output_infos; i++) + for (i = 0; i < n_output_assignments; i++) { - MetaOutputInfo *output_info = output_infos[i]; + MetaOutputAssignment *output_assignment = output_assignments[i]; - if (output_info->output != output) + if (output_assignment->output != output) continue; - if (meta_output_is_primary (output) != output_info->is_primary) + if (meta_output_is_primary (output) != output_assignment->is_primary) return TRUE; if (meta_output_is_presentation (output) != - output_info->is_presentation) + output_assignment->is_presentation) return TRUE; if (meta_output_is_underscanning (output) != - output_info->is_underscanning) + output_assignment->is_underscanning) return TRUE; output_is_found = TRUE; @@ -297,18 +297,18 @@ is_output_assignment_changed (MetaOutput *output, if (!output_is_found) return assigned_crtc != NULL; - for (i = 0; i < n_crtc_infos; i++) + for (i = 0; i < n_crtc_assignments; i++) { - MetaCrtcInfo *crtc_info = crtc_infos[i]; + MetaCrtcAssignment *crtc_assignment = crtc_assignments[i]; unsigned int j; - for (j = 0; j < crtc_info->outputs->len; j++) + for (j = 0; j < crtc_assignment->outputs->len; j++) { - MetaOutput *crtc_info_output = - ((MetaOutput**) crtc_info->outputs->pdata)[j]; + MetaOutput *crtc_assignment_output = + ((MetaOutput**) crtc_assignment->outputs->pdata)[j]; - if (crtc_info_output == output && - crtc_info->crtc == assigned_crtc) + if (crtc_assignment_output == output && + crtc_assignment->crtc == assigned_crtc) return FALSE; } } @@ -326,11 +326,11 @@ meta_monitor_manager_xrandr_get_gpu (MetaMonitorManagerXrandr *manager_xrandr) } static gboolean -is_assignments_changed (MetaMonitorManager *manager, - MetaCrtcInfo **crtc_infos, - unsigned int n_crtc_infos, - MetaOutputInfo **output_infos, - unsigned int n_output_infos) +is_assignments_changed (MetaMonitorManager *manager, + MetaCrtcAssignment **crtc_assignments, + unsigned int n_crtc_assignments, + MetaOutputAssignment **output_assignments, + unsigned int n_output_assignments) { MetaMonitorManagerXrandr *manager_xrandr = META_MONITOR_MANAGER_XRANDR (manager); @@ -341,7 +341,7 @@ is_assignments_changed (MetaMonitorManager *manager, { MetaCrtc *crtc = l->data; - if (is_crtc_assignment_changed (crtc, crtc_infos, n_crtc_infos)) + if (is_crtc_assignment_changed (crtc, crtc_assignments, n_crtc_assignments)) return TRUE; } @@ -350,10 +350,10 @@ is_assignments_changed (MetaMonitorManager *manager, MetaOutput *output = l->data; if (is_output_assignment_changed (output, - crtc_infos, - n_crtc_infos, - output_infos, - n_output_infos)) + crtc_assignments, + n_crtc_assignments, + output_assignments, + n_output_assignments)) return TRUE; } @@ -361,12 +361,12 @@ is_assignments_changed (MetaMonitorManager *manager, } static void -apply_crtc_assignments (MetaMonitorManager *manager, - gboolean save_timestamp, - MetaCrtcInfo **crtcs, - unsigned int n_crtcs, - MetaOutputInfo **outputs, - unsigned int n_outputs) +apply_crtc_assignments (MetaMonitorManager *manager, + gboolean save_timestamp, + MetaCrtcAssignment **crtcs, + unsigned int n_crtcs, + MetaOutputAssignment **outputs, + unsigned int n_outputs) { MetaMonitorManagerXrandr *manager_xrandr = META_MONITOR_MANAGER_XRANDR (manager); MetaGpu *gpu = meta_monitor_manager_xrandr_get_gpu (manager_xrandr); @@ -385,18 +385,18 @@ apply_crtc_assignments (MetaMonitorManager *manager, width = 0; height = 0; for (i = 0; i < n_crtcs; i++) { - MetaCrtcInfo *crtc_info = crtcs[i]; - MetaCrtc *crtc = crtc_info->crtc; + MetaCrtcAssignment *crtc_assignment = crtcs[i]; + MetaCrtc *crtc = crtc_assignment->crtc; - if (crtc_info->mode == NULL) + if (crtc_assignment->mode == NULL) continue; to_disable_crtcs = g_list_remove (to_disable_crtcs, crtc); - width = MAX (width, (int) roundf (crtc_info->layout.origin.x + - crtc_info->layout.size.width)); - height = MAX (height, (int) roundf (crtc_info->layout.origin.y + - crtc_info->layout.size.height)); + width = MAX (width, (int) roundf (crtc_assignment->layout.origin.x + + crtc_assignment->layout.size.width)); + height = MAX (height, (int) roundf (crtc_assignment->layout.origin.y + + crtc_assignment->layout.size.height)); } /* Second disable all newly disabled CRTCs, or CRTCs that in the previous @@ -406,8 +406,8 @@ apply_crtc_assignments (MetaMonitorManager *manager, */ for (i = 0; i < n_crtcs; i++) { - MetaCrtcInfo *crtc_info = crtcs[i]; - MetaCrtc *crtc = crtc_info->crtc; + MetaCrtcAssignment *crtc_assignment = crtcs[i]; + MetaCrtc *crtc = crtc_assignment->crtc; MetaCrtcConfig *crtc_config; int x2, y2; @@ -420,7 +420,7 @@ apply_crtc_assignments (MetaMonitorManager *manager, y2 = (int) roundf (crtc_config->layout.origin.y + crtc_config->layout.size.height); - if (!crtc_info->mode || x2 > width || y2 > height) + if (!crtc_assignment->mode || x2 > width || y2 > height) { xrandr_set_crtc_config (manager_xrandr, crtc, @@ -468,45 +468,52 @@ apply_crtc_assignments (MetaMonitorManager *manager, for (i = 0; i < n_crtcs; i++) { - MetaCrtcInfo *crtc_info = crtcs[i]; - MetaCrtc *crtc = crtc_info->crtc; + MetaCrtcAssignment *crtc_assignment = crtcs[i]; + MetaCrtc *crtc = crtc_assignment->crtc; - if (crtc_info->mode != NULL) + if (crtc_assignment->mode != NULL) { MetaCrtcMode *mode; g_autofree xcb_randr_output_t *output_ids = NULL; unsigned int j, n_output_ids; + xcb_randr_crtc_t crtc_id; + int x, y; xcb_randr_rotation_t rotation; - mode = crtc_info->mode; + mode = crtc_assignment->mode; - n_output_ids = crtc_info->outputs->len; + n_output_ids = crtc_assignment->outputs->len; output_ids = g_new (xcb_randr_output_t, n_output_ids); for (j = 0; j < n_output_ids; j++) { MetaOutput *output; - MetaOutputInfo *output_info; + MetaOutputAssignment *output_assignment; - output = ((MetaOutput**)crtc_info->outputs->pdata)[j]; + output = ((MetaOutput**)crtc_assignment->outputs->pdata)[j]; to_configure_outputs = g_list_remove (to_configure_outputs, output); - output_info = meta_find_output_info (outputs, n_outputs, output); - meta_output_assign_crtc (output, crtc, output_info); + output_assignment = meta_find_output_assignment (outputs, + n_outputs, + output); + meta_output_assign_crtc (output, crtc, output_assignment); output_ids[j] = meta_output_get_id (output); } - rotation = meta_monitor_transform_to_xrandr (crtc_info->transform); + crtc_id = (xcb_randr_crtc_t) meta_crtc_get_id (crtc); + x = (int) roundf (crtc_assignment->layout.origin.x); + y = (int) roundf (crtc_assignment->layout.origin.y); + rotation = + meta_monitor_transform_to_xrandr (crtc_assignment->transform); if (!xrandr_set_crtc_config (manager_xrandr, crtc, save_timestamp, - (xcb_randr_crtc_t) meta_crtc_get_id (crtc), + crtc_id, XCB_CURRENT_TIME, - (int) roundf (crtc_info->layout.origin.x), - (int) roundf (crtc_info->layout.origin.y), + x, y, (xcb_randr_mode_t) mode->mode_id, rotation, output_ids, n_output_ids)) @@ -515,23 +522,23 @@ apply_crtc_assignments (MetaMonitorManager *manager, (unsigned) meta_crtc_get_id (crtc), (unsigned) mode->mode_id, mode->width, mode->height, (float)mode->refresh_rate, - (int) roundf (crtc_info->layout.origin.x), - (int) roundf (crtc_info->layout.origin.y), - crtc_info->transform); + (int) roundf (crtc_assignment->layout.origin.x), + (int) roundf (crtc_assignment->layout.origin.y), + crtc_assignment->transform); continue; } meta_crtc_set_config (crtc, - &crtc_info->layout, + &crtc_assignment->layout, mode, - crtc_info->transform); + crtc_assignment->transform); } } for (i = 0; i < n_outputs; i++) { - MetaOutputInfo *output_info = outputs[i]; - MetaOutput *output = output_info->output; + MetaOutputAssignment *output_assignment = outputs[i]; + MetaOutput *output = output_assignment->output; meta_output_xrandr_apply_mode (output); } @@ -581,8 +588,8 @@ meta_monitor_manager_xrandr_apply_monitors_config (MetaMonitorManager *mana MetaMonitorsConfigMethod method, GError **error) { - GPtrArray *crtc_infos; - GPtrArray *output_infos; + GPtrArray *crtc_assignments; + GPtrArray *output_assignments; if (!config) { @@ -591,7 +598,8 @@ meta_monitor_manager_xrandr_apply_monitors_config (MetaMonitorManager *mana } if (!meta_monitor_config_manager_assign (manager, config, - &crtc_infos, &output_infos, + &crtc_assignments, + &output_assignments, error)) return FALSE; @@ -606,17 +614,17 @@ meta_monitor_manager_xrandr_apply_monitors_config (MetaMonitorManager *mana * just update the logical state. */ if (is_assignments_changed (manager, - (MetaCrtcInfo **) crtc_infos->pdata, - crtc_infos->len, - (MetaOutputInfo **) output_infos->pdata, - output_infos->len)) + (MetaCrtcAssignment **) crtc_assignments->pdata, + crtc_assignments->len, + (MetaOutputAssignment **) output_assignments->pdata, + output_assignments->len)) { apply_crtc_assignments (manager, TRUE, - (MetaCrtcInfo **) crtc_infos->pdata, - crtc_infos->len, - (MetaOutputInfo **) output_infos->pdata, - output_infos->len); + (MetaCrtcAssignment **) crtc_assignments->pdata, + crtc_assignments->len, + (MetaOutputAssignment **) output_assignments->pdata, + output_assignments->len); } else { @@ -624,8 +632,8 @@ meta_monitor_manager_xrandr_apply_monitors_config (MetaMonitorManager *mana } } - g_ptr_array_free (crtc_infos, TRUE); - g_ptr_array_free (output_infos, TRUE); + g_ptr_array_free (crtc_assignments, TRUE); + g_ptr_array_free (output_assignments, TRUE); return TRUE; } diff --git a/src/backends/x11/meta-output-xrandr.c b/src/backends/x11/meta-output-xrandr.c index e134a8ab7..bafb93f8f 100644 --- a/src/backends/x11/meta-output-xrandr.c +++ b/src/backends/x11/meta-output-xrandr.c @@ -823,14 +823,14 @@ meta_create_xrandr_output (MetaGpuXrandr *gpu_xrandr, if (assigned_crtc) { - MetaOutputInfo output_info; + MetaOutputAssignment output_assignment; - output_info = (MetaOutputInfo) { + output_assignment = (MetaOutputAssignment) { .is_primary = (XID) meta_output_get_id (output) == primary_output, .is_presentation = output_get_presentation_xrandr (output), .is_underscanning = output_get_underscanning_xrandr (output), }; - meta_output_assign_crtc (output, assigned_crtc, &output_info); + meta_output_assign_crtc (output, assigned_crtc, &output_assignment); } output->n_possible_clones = xrandr_output->nclone; diff --git a/src/tests/meta-monitor-manager-test.c b/src/tests/meta-monitor-manager-test.c index b4eada676..ad8109520 100644 --- a/src/tests/meta-monitor-manager-test.c +++ b/src/tests/meta-monitor-manager-test.c @@ -114,11 +114,11 @@ meta_monitor_manager_test_ensure_initial_config (MetaMonitorManager *manager) } static void -apply_crtc_assignments (MetaMonitorManager *manager, - MetaCrtcInfo **crtcs, - unsigned int n_crtcs, - MetaOutputInfo **outputs, - unsigned int n_outputs) +apply_crtc_assignments (MetaMonitorManager *manager, + MetaCrtcAssignment **crtcs, + unsigned int n_crtcs, + MetaOutputAssignment **outputs, + unsigned int n_outputs) { MetaBackend *backend = meta_monitor_manager_get_backend (manager); MetaBackendTest *backend_test = META_BACKEND_TEST (backend); @@ -132,12 +132,12 @@ apply_crtc_assignments (MetaMonitorManager *manager, for (i = 0; i < n_crtcs; i++) { - MetaCrtcInfo *crtc_info = crtcs[i]; - MetaCrtc *crtc = crtc_info->crtc; + MetaCrtcAssignment *crtc_assignment = crtcs[i]; + MetaCrtc *crtc = crtc_assignment->crtc; to_configure_crtcs = g_list_remove (to_configure_crtcs, crtc); - if (crtc_info->mode == NULL) + if (crtc_assignment->mode == NULL) { meta_crtc_unset_config (crtc); } @@ -146,22 +146,24 @@ apply_crtc_assignments (MetaMonitorManager *manager, unsigned int j; meta_crtc_set_config (crtc, - &crtc_info->layout, - crtc_info->mode, - crtc_info->transform); + &crtc_assignment->layout, + crtc_assignment->mode, + crtc_assignment->transform); - for (j = 0; j < crtc_info->outputs->len; j++) + for (j = 0; j < crtc_assignment->outputs->len; j++) { MetaOutput *output; - MetaOutputInfo *output_info; + MetaOutputAssignment *output_assignment; - output = ((MetaOutput**)crtc_info->outputs->pdata)[j]; + output = ((MetaOutput**) crtc_assignment->outputs->pdata)[j]; to_configure_outputs = g_list_remove (to_configure_outputs, output); - output_info = meta_find_output_info (outputs, n_outputs, output); - meta_output_assign_crtc (output, crtc, output_info); + output_assignment = meta_find_output_assignment (outputs, + n_outputs, + output); + meta_output_assign_crtc (output, crtc, output_assignment); } } } @@ -209,8 +211,8 @@ meta_monitor_manager_test_apply_monitors_config (MetaMonitorManager *manage MetaMonitorsConfigMethod method, GError **error) { - GPtrArray *crtc_infos; - GPtrArray *output_infos; + GPtrArray *crtc_assignments; + GPtrArray *output_assignments; if (!config) { @@ -226,26 +228,26 @@ meta_monitor_manager_test_apply_monitors_config (MetaMonitorManager *manage } if (!meta_monitor_config_manager_assign (manager, config, - &crtc_infos, - &output_infos, + &crtc_assignments, + &output_assignments, error)) return FALSE; if (method == META_MONITORS_CONFIG_METHOD_VERIFY) { - g_ptr_array_free (crtc_infos, TRUE); - g_ptr_array_free (output_infos, TRUE); + g_ptr_array_free (crtc_assignments, TRUE); + g_ptr_array_free (output_assignments, TRUE); return TRUE; } apply_crtc_assignments (manager, - (MetaCrtcInfo **) crtc_infos->pdata, - crtc_infos->len, - (MetaOutputInfo **) output_infos->pdata, - output_infos->len); + (MetaCrtcAssignment **) crtc_assignments->pdata, + crtc_assignments->len, + (MetaOutputAssignment **) output_assignments->pdata, + output_assignments->len); - g_ptr_array_free (crtc_infos, TRUE); - g_ptr_array_free (output_infos, TRUE); + g_ptr_array_free (crtc_assignments, TRUE); + g_ptr_array_free (output_assignments, TRUE); update_screen_size (manager, config); diff --git a/src/tests/monitor-test-utils.c b/src/tests/monitor-test-utils.c index 921b8a2ef..d4d6d4e7d 100644 --- a/src/tests/monitor-test-utils.c +++ b/src/tests/monitor-test-utils.c @@ -656,12 +656,12 @@ create_monitor_test_setup (MonitorTestCaseSetup *setup, if (crtc) { - MetaOutputInfo output_info; + MetaOutputAssignment output_assignment; - output_info = (MetaOutputInfo) { + output_assignment = (MetaOutputAssignment) { .is_underscanning = setup->outputs[i].is_underscanning, }; - meta_output_assign_crtc (output, crtc, &output_info); + meta_output_assign_crtc (output, crtc, &output_assignment); } output->name = (is_laptop_panel ? g_strdup_printf ("eDP-%d",