derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=da5f41723aa3714a3a3faef59270066bdab2f11b

commit da5f41723aa3714a3a3faef59270066bdab2f11b
Author: Derek Foreman <[email protected]>
Date:   Wed Dec 7 16:41:34 2016 -0600

    gl_drm: Only use dmabuf if the extension is present
    
    Need to check for the extension string instead of just the presence of the
    function pointers.
---
 src/modules/evas/engines/gl_drm/evas_engine.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c 
b/src/modules/evas/engines/gl_drm/evas_engine.c
index 4821baa..be082d6 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -30,6 +30,7 @@ int _extn_have_buffer_age = 1;
 
 /* local variables */
 static Eina_Bool initted = EINA_FALSE;
+static Eina_Bool dmabuf_present = EINA_FALSE;
 static int gl_wins = 0;
 
 /* local function prototype types */
@@ -269,6 +270,8 @@ gl_extn_veto(Render_Engine *re)
 
         if (!strstr(str, "EGL_EXT_swap_buffers_with_damage"))
           glsym_eglSwapBuffersWithDamage = NULL;
+        if (strstr(str, "EGL_MESA_image_dma_buf_export"))
+          dmabuf_present = EINA_TRUE;
      }
    else
      {
@@ -624,6 +627,7 @@ import_simple_dmabuf(EGLDisplay display, struct 
dmabuf_attributes *attributes)
    EGLAttrib attribs[30];
    int atti = 0;
 
+   if (!dmabuf_present) return NULL;
    if (!glsym_eglCreateImage && !glsym_eglCreateImageKHR) return NULL;
 
    /* This requires the Mesa commit in

-- 


Reply via email to