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:01 +0200 |
commit | 4835187ba71872145b809544afcebe2ed311a3c2 (patch) | |
tree | 2cb1afd2a63a0031f1b9784b901b12bbf15183fe | |
parent | e5f28f1e75db9bdc4f2688f420a74f908f96cf76 (diff) | |
download | cogl-4835187ba71872145b809544afcebe2ed311a3c2.tar.gz |
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 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) { |