summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_buffer.c8
1 files 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)
595 if (!getenv("EVAS_WAYLAND_SHM_DISABLE_DMABUF") && dmabuf) 595 if (!getenv("EVAS_WAYLAND_SHM_DISABLE_DMABUF") && dmabuf)
596 { 596 {
597 fd = open("/dev/dri/renderD128", O_RDWR | O_CLOEXEC); 597 fd = open("/dev/dri/renderD128", O_RDWR | O_CLOEXEC);
598 if (fd < 0) goto err_drm; 598 if (fd < 0)
599 {
600 ERR("Tried to use dmabufs, but can't find /dev/dri/renderD128 . Falling back to regular SHM");
601 goto fallback_shm;
602 }
599 603
600 success = _intel_buffer_manager_setup(fd); 604 success = _intel_buffer_manager_setup(fd);
601 if (!success) success = _exynos_buffer_manager_setup(fd); 605 if (!success) success = _exynos_buffer_manager_setup(fd);
602 if (!success) success = _vc4_buffer_manager_setup(fd); 606 if (!success) success = _vc4_buffer_manager_setup(fd);
603 } 607 }
608fallback_shm:
604 if (!success) success = shm && _wl_shm_buffer_manager_setup(0); 609 if (!success) success = shm && _wl_shm_buffer_manager_setup(0);
605 if (!success) goto err_bm; 610 if (!success) goto err_bm;
606 611
@@ -610,7 +615,6 @@ ecore_wl2_buffer_init(Ecore_Wl2_Display *ewd, Ecore_Wl2_Buffer_Type types)
610 615
611err_bm: 616err_bm:
612 if (fd >= 0) close(fd); 617 if (fd >= 0) close(fd);
613err_drm:
614 free(buffer_manager); 618 free(buffer_manager);
615 buffer_manager = NULL; 619 buffer_manager = NULL;
616err_alloc: 620err_alloc: