[mutter/wip/wayland-display: 35/55] MonitorManager: remove Cogl backend



commit fc7589395826a7703035dd53b7bcd0deb372d5d6
Author: Giovanni Campagna <gcampagn redhat com>
Date:   Wed Jul 24 12:03:13 2013 +0200

    MonitorManager: remove Cogl backend
    
    It was useful initially to evaluate the Cogl API, which might
    be what we will use to wrap the low-level KMS API, but it's
    incomplete and just getting in the way.

 src/core/monitor.c |  158 +---------------------------------------------------
 1 files changed, 3 insertions(+), 155 deletions(-)
---
diff --git a/src/core/monitor.c b/src/core/monitor.c
index c98d402..f8978ff 100644
--- a/src/core/monitor.c
+++ b/src/core/monitor.c
@@ -58,9 +58,9 @@ typedef enum {
   META_BACKEND_UNSPECIFIED,
   META_BACKEND_DUMMY,
   META_BACKEND_XRANDR,
-  META_BACKEND_COGL
 } MetaMonitorBackend;
 
+
 struct _MetaMonitorManager
 {
   MetaDBusDisplayConfigSkeleton parent_instance;
@@ -572,142 +572,6 @@ read_monitor_infos_from_xrandr (MetaMonitorManager *manager)
 
 #endif
 
-static MetaMonitorMode *
-find_or_create_monitor_mode (GArray          *modes,
-                             int              width,
-                             int              height,
-                             float            refresh)
-{
-  unsigned int i;
-  MetaMonitorMode new;
-
-  for (i = 0; i < modes->len; i++)
-    {
-      MetaMonitorMode *existing;
-
-      existing = &g_array_index (modes, MetaMonitorMode, i);
-      if (existing->width == width &&
-          existing->height == height &&
-          existing->refresh_rate == refresh)
-        return existing;
-    }
-
-  new.mode_id = 1 + modes->len;
-  new.width = width;
-  new.height = height;
-  new.refresh_rate = refresh;
-
-  g_array_append_val (modes, new);
-  return &g_array_index (modes, MetaMonitorMode, modes->len - 1);
-}
-    
-static void
-read_monitor_from_cogl_helper (CoglOutput *output,
-                               void       *user_data)
-{
-  GList **closure = user_data;
-
-  *closure = g_list_prepend (*closure, cogl_object_ref (output));
-}
-
-static void
-read_monitor_infos_from_cogl (MetaMonitorManager *manager)
-{
-  GList *iter, *output_list;
-  GArray *modes;
-  GArray *crtcs;
-  GArray *outputs;
-  ClutterBackend *backend;
-  CoglContext *cogl_context;
-  CoglRenderer *cogl_renderer;
-  int n;
-
-  backend = clutter_get_default_backend ();
-  cogl_context = clutter_backend_get_cogl_context (backend);
-  cogl_renderer = cogl_display_get_renderer (cogl_context_get_display (cogl_context));
-
-  output_list = NULL;
-  cogl_renderer_foreach_output (cogl_renderer,
-                                read_monitor_from_cogl_helper, &output_list);
-
-  if (output_list == NULL)
-    return make_dummy_monitor_config (manager);
-
-  n = g_list_length (output_list);
-  modes = g_array_new (FALSE, TRUE, sizeof (MetaMonitorMode));
-  crtcs = g_array_sized_new (FALSE, TRUE, sizeof (MetaCRTC), n);
-  outputs = g_array_sized_new (FALSE, TRUE, sizeof (MetaOutput), n);
-  
-  for (iter = output_list; iter; iter = iter->next)
-    {
-      /* First create all modes, so that we can reference them later
-         without the risk to resize the array
-      */
-      find_or_create_monitor_mode (modes,
-                                   cogl_output_get_width (iter->data),
-                                   cogl_output_get_height (iter->data),
-                                   cogl_output_get_refresh_rate (iter->data));
-    }
-
-  for (iter = output_list; iter; iter = iter->next)
-    {
-      CoglOutput *output;
-      MetaCRTC meta_crtc;
-      MetaOutput meta_output;
-
-      output = iter->data;
-
-      meta_crtc.crtc_id = 1 + crtcs->len;
-      meta_crtc.rect.x = cogl_output_get_x (output);
-      meta_crtc.rect.y = cogl_output_get_y (output);
-      meta_crtc.rect.width = cogl_output_get_width (output);
-      meta_crtc.rect.height = cogl_output_get_height (output);
-      meta_crtc.current_mode = find_or_create_monitor_mode (modes,
-                                                            cogl_output_get_width (output),
-                                                            cogl_output_get_height (output),
-                                                            cogl_output_get_refresh_rate (output));
-      meta_crtc.transform = WL_OUTPUT_TRANSFORM_NORMAL;
-      meta_crtc.all_transforms = 1 << WL_OUTPUT_TRANSFORM_NORMAL;
-      meta_crtc.logical_monitor = NULL;
-      meta_crtc.dirty = FALSE;
-
-      /* This will never resize the array because we preallocated with g_array_sized_new() */
-      g_array_append_val (crtcs, meta_crtc);
-
-      meta_output.output_id = 1 + n + crtcs->len;
-      meta_output.crtc = &g_array_index (crtcs, MetaCRTC, crtcs->len - 1);
-      meta_output.name = g_strdup ("unknown");
-      meta_output.vendor = g_strdup ("unknown");
-      meta_output.product = g_strdup ("unknown");
-      meta_output.serial = g_strdup ("");
-      meta_output.width_mm = cogl_output_get_mm_width (output);
-      meta_output.height_mm = cogl_output_get_mm_height (output);
-      meta_output.subpixel_order = cogl_output_get_subpixel_order (output);
-      meta_output.preferred_mode = meta_crtc.current_mode;
-      meta_output.n_modes = 1;
-      meta_output.modes = g_new (MetaMonitorMode *, 1);
-      meta_output.modes[0] = meta_output.preferred_mode;
-      meta_output.n_possible_crtcs = 1;
-      meta_output.possible_crtcs = g_new (MetaCRTC *, 1);
-      meta_output.possible_crtcs[0] = meta_output.crtc;
-      meta_output.n_possible_clones = 0;
-      meta_output.possible_clones = g_new (MetaOutput *, 0);
-      meta_output.is_primary = (iter == output_list);
-      meta_output.is_presentation = FALSE;
-
-      g_array_append_val (outputs, meta_output);
-    }
-
-  manager->n_modes = modes->len;
-  manager->modes = (void*)g_array_free (modes, FALSE);
-  manager->n_crtcs = crtcs->len;
-  manager->crtcs = (void*)g_array_free (crtcs, FALSE);
-  manager->n_outputs = outputs->len;
-  manager->outputs = (void*)g_array_free (outputs, FALSE);
-
-  g_list_free_full (output_list, cogl_object_unref);
-}
-
 /*
  * meta_has_dummy_output:
  *
@@ -752,10 +616,7 @@ make_debug_config (MetaMonitorManager *manager)
     return META_BACKEND_XRANDR;
   else
 #endif
-    if (strcmp (env, "cogl") == 0)
-      return META_BACKEND_COGL;
-    else
-      return META_BACKEND_DUMMY;
+    return META_BACKEND_DUMMY;
 
   return TRUE;
 }
@@ -768,10 +629,7 @@ read_current_config (MetaMonitorManager *manager)
     return read_monitor_infos_from_xrandr (manager);
 #endif
 
-  if (manager->backend == META_BACKEND_COGL)
-    return read_monitor_infos_from_cogl (manager);
-  else
-    return make_dummy_monitor_config (manager);
+  return make_dummy_monitor_config (manager);
 }
 
 /*
@@ -889,8 +747,6 @@ meta_monitor_manager_new (Display *display)
 #endif
         if (has_dummy_output ())
           manager->backend = META_BACKEND_DUMMY;
-        else
-          manager->backend = META_BACKEND_COGL;
     }
 
 #ifdef HAVE_XRANDR
@@ -1591,14 +1447,6 @@ meta_monitor_manager_handle_apply_configuration  (MetaDBusDisplayConfig *skeleto
   g_variant_iter_init (&crtc_iter, crtcs);
   g_variant_iter_init (&output_iter, outputs);
 
-  if (manager->backend == META_BACKEND_COGL)
-    {
-      g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,
-                                             G_DBUS_ERROR_NOT_SUPPORTED,
-                                             "Changing configuration is not supported by the backend");
-      return TRUE;
-    }
-
   if (manager->backend == META_BACKEND_XRANDR)
     apply_config_xrandr (manager, &crtc_iter, &output_iter);
   else


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]