summaryrefslogtreecommitdiff
path: root/src/backends/x11/meta-clutter-backend-x11.c
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2016-05-09 09:59:54 +0800
committerJonas Ådahl <jadahl@gmail.com>2016-07-20 14:23:48 +0800
commit2ceff4ee9b3d9e94f6ad72ac4256786d0c5b62c2 (patch)
tree37c822f85b209178811e3fc09e328cfc726ebc45 /src/backends/x11/meta-clutter-backend-x11.c
parentb2a62e6d5a4fd3de96ca8442a36a485198dcd091 (diff)
downloadmutter-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.c16
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;
}