diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2016-05-09 09:59:54 +0800 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2016-07-20 14:23:48 +0800 |
commit | 2ceff4ee9b3d9e94f6ad72ac4256786d0c5b62c2 (patch) | |
tree | 37c822f85b209178811e3fc09e328cfc726ebc45 /src/backends/x11/meta-clutter-backend-x11.c | |
parent | b2a62e6d5a4fd3de96ca8442a36a485198dcd091 (diff) | |
download | mutter-2ceff4ee9b3d9e94f6ad72ac4256786d0c5b62c2.tar.gz |
Create cogl renderer in MetaRenderer
Instead of passing around the KMS file descriptor via clutter to cogl,
just make our own clutter backend create the cogl renderer and set the
KSM fd.
https://bugzilla.gnome.org/show_bug.cgi?id=768976
Diffstat (limited to 'src/backends/x11/meta-clutter-backend-x11.c')
-rw-r--r-- | src/backends/x11/meta-clutter-backend-x11.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/backends/x11/meta-clutter-backend-x11.c b/src/backends/x11/meta-clutter-backend-x11.c index 3b4017778..a3b6a50ca 100644 --- a/src/backends/x11/meta-clutter-backend-x11.c +++ b/src/backends/x11/meta-clutter-backend-x11.c @@ -26,8 +26,11 @@ #include <glib-object.h> +#include "backends/meta-backend-private.h" +#include "backends/meta-renderer.h" #include "backends/x11/meta-clutter-backend-x11.h" #include "clutter/clutter.h" +#include "meta/meta-backend.h" struct _MetaClutterBackendX11 { @@ -37,6 +40,16 @@ struct _MetaClutterBackendX11 G_DEFINE_TYPE (MetaClutterBackendX11, meta_clutter_backend_x11, CLUTTER_TYPE_BACKEND_X11) +static CoglRenderer * +meta_clutter_backend_x11_get_renderer (ClutterBackend *clutter_backend, + GError **error) +{ + MetaBackend *backend = meta_get_backend (); + MetaRenderer *renderer = meta_backend_get_renderer (backend); + + return meta_renderer_create_cogl_renderer (renderer); +} + static void meta_clutter_backend_x11_init (MetaClutterBackendX11 *clutter_backend_x11) { @@ -45,4 +58,7 @@ meta_clutter_backend_x11_init (MetaClutterBackendX11 *clutter_backend_x11) static void meta_clutter_backend_x11_class_init (MetaClutterBackendX11Class *klass) { + ClutterBackendClass *clutter_backend_class = CLUTTER_BACKEND_CLASS (klass); + + clutter_backend_class->get_renderer = meta_clutter_backend_x11_get_renderer; } |