diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2016-12-06 10:43:18 -0600 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2016-12-06 10:52:51 -0600 |
commit | dada6b6d1d9832638c2148e0d2c0a62ff64898b2 (patch) | |
tree | 433d067f94b7fd1514d5dc164e4dc0ae981a502b | |
parent | 261b0faa54010397f28d50830a4a1d33bbf0c25d (diff) | |
download | efl-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.c | 17 |
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; } |