diff options
author | Adel Gadllah <adel.gadllah@gmail.com> | 2014-05-13 21:08:59 +0200 |
---|---|---|
committer | Adel Gadllah <adel.gadllah@gmail.com> | 2014-06-30 20:25:52 +0200 |
commit | fe183554ca9afb7e4b750ac3390584d8cad0844d (patch) | |
tree | 7a069977138b3a7fb882df81e9b5282d54563b63 | |
parent | 52a646abc54d377c791d687cc449a99d9ca2e0a8 (diff) |
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
-rw-r--r-- | cogl/cogl-kms-renderer.h | 1 | ||||
-rw-r--r-- | cogl/winsys/cogl-winsys-egl-kms.c | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/cogl/cogl-kms-renderer.h b/cogl/cogl-kms-renderer.h index c2606f8c..2a619383 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 a475c55a..a40518d9 100644 --- a/cogl/winsys/cogl-winsys-egl-kms.c +++ b/cogl/winsys/cogl-winsys-egl-kms.c @@ -1117,6 +1117,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) { |