From 4835187ba71872145b809544afcebe2ed311a3c2 Mon Sep 17 00:00:00 2001 From: Adel Gadllah Date: Tue, 13 May 2014 21:08:59 +0200 Subject: kms_winsys: Add cogl_kms_renderer_get_gbm api Applications might want to get the underlying gbm device so add a getter for it. https://bugzilla.gnome.org/show_bug.cgi?id=730536 --- cogl/cogl-kms-renderer.h | 1 + cogl/winsys/cogl-winsys-egl-kms.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/cogl/cogl-kms-renderer.h b/cogl/cogl-kms-renderer.h index b4dfc741..9d8eb9c4 100644 --- a/cogl/cogl-kms-renderer.h +++ b/cogl/cogl-kms-renderer.h @@ -68,5 +68,6 @@ cogl_kms_renderer_set_kms_fd (CoglRenderer *renderer, int cogl_kms_renderer_get_kms_fd (CoglRenderer *renderer); +struct gbm_device *cogl_kms_renderer_get_gbm (CoglRenderer *renderer); COGL_END_DECLS #endif /* __COGL_KMS_RENDERER_H__ */ diff --git a/cogl/winsys/cogl-winsys-egl-kms.c b/cogl/winsys/cogl-winsys-egl-kms.c index eb89b60a..5072d8e7 100644 --- a/cogl/winsys/cogl-winsys-egl-kms.c +++ b/cogl/winsys/cogl-winsys-egl-kms.c @@ -1111,6 +1111,20 @@ cogl_kms_renderer_set_kms_fd (CoglRenderer *renderer, renderer->kms_fd = fd; } +struct gbm_device * +cogl_kms_renderer_get_gbm (CoglRenderer *renderer) +{ + _COGL_RETURN_VAL_IF_FAIL (cogl_is_renderer (renderer), NULL); + if (renderer->connected) + { + CoglRendererEGL *egl_renderer = renderer->winsys; + CoglRendererKMS *kms_renderer = egl_renderer->platform; + return kms_renderer->gbm; + } + else + return NULL; +} + int cogl_kms_renderer_get_kms_fd (CoglRenderer *renderer) { -- cgit v1.2.1