raster pushed a commit to branch efl-1.22.

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

commit 8dba566c4b82218e9995e8a32cc33b40a2dfc045
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Mon Jul 22 00:36:07 2019 +0100

    ecore wl2 - fall back to shm if dmabuf fails in buf init
    
    so even if shm was an allowed mode/flag, we never fell back to shm if
    dmabufs were not possible (/dev/dri/renderD128  didn't exist or wansn't
    open-able). that's decidedly a bad thing to do.
    
    @fix
---
 src/lib/ecore_wl2/ecore_wl2_buffer.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_buffer.c 
b/src/lib/ecore_wl2/ecore_wl2_buffer.c
index 8e2e164546..faa811a447 100644
--- a/src/lib/ecore_wl2/ecore_wl2_buffer.c
+++ b/src/lib/ecore_wl2/ecore_wl2_buffer.c
@@ -595,12 +595,17 @@ ecore_wl2_buffer_init(Ecore_Wl2_Display *ewd, 
Ecore_Wl2_Buffer_Type types)
    if (!getenv("EVAS_WAYLAND_SHM_DISABLE_DMABUF") && dmabuf)
      {
         fd = open("/dev/dri/renderD128", O_RDWR | O_CLOEXEC);
-        if (fd < 0) goto err_drm;
+        if (fd < 0)
+          {
+             ERR("Tried to use dmabufs, but can't find /dev/dri/renderD128 . 
Falling back to regular SHM");
+             goto fallback_shm;
+          }
 
         success = _intel_buffer_manager_setup(fd);
         if (!success) success = _exynos_buffer_manager_setup(fd);
         if (!success) success = _vc4_buffer_manager_setup(fd);
      }
+fallback_shm:
    if (!success) success = shm && _wl_shm_buffer_manager_setup(0);
    if (!success) goto err_bm;
 
@@ -610,7 +615,6 @@ ecore_wl2_buffer_init(Ecore_Wl2_Display *ewd, 
Ecore_Wl2_Buffer_Type types)
 
 err_bm:
    if (fd >= 0) close(fd);
-err_drm:
    free(buffer_manager);
    buffer_manager = NULL;
 err_alloc:

-- 


Reply via email to