summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-12-06 10:43:18 -0600
committerDerek Foreman <derekf@osg.samsung.com>2016-12-06 10:52:51 -0600
commitdada6b6d1d9832638c2148e0d2c0a62ff64898b2 (patch)
tree433d067f94b7fd1514d5dc164e4dc0ae981a502b
parent261b0faa54010397f28d50830a4a1d33bbf0c25d (diff)
downloadefl-dada6b6d1d9832638c2148e0d2c0a62ff64898b2.tar.gz
gl_drm: Allow testing of dmabuf objects
Enlightenment needs to know if a specific dmabuf format is supported before it lets clients use it. This lets E test commit a wayland dmabuf object without assigning it a buffer.
-rw-r--r--src/modules/evas/engines/gl_drm/evas_engine.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c
index 12889a3fef..0b37659f8a 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -1177,6 +1177,23 @@ eng_image_native_set(void *data, void *image, void *native)
NULL, 1,
EVAS_COLORSPACE_ARGB8888);
}
+ else if ((ns) && (ns->type == EVAS_NATIVE_SURFACE_WL_DMABUF))
+ {
+ if (!ns->data.wl_dmabuf.resource)
+ {
+ struct dmabuf_attributes *attr;
+ void *v;
+
+ attr = ns->data.wl_dmabuf.attr;
+ v = import_simple_dmabuf(ob->egl.disp, attr);
+ if (!v) {
+ ns->data.wl_dmabuf.attr = NULL;
+ return NULL;
+ }
+ glsym_eglDestroyImage(ob->egl.disp, v);
+ return NULL;
+ }
+ }
else
return NULL;
}