aboutsummaryrefslogtreecommitdiff
path: root/render/gles2
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2020-04-08 14:57:20 +0200
committerScott Anderson <scott@anderso.nz>2020-04-09 00:16:03 +0000
commitd10f8a98ec171791cd81de807e1c400af25b1e2b (patch)
tree0634fa1f6699bcff8efa273590bbfd16fb9c9d84 /render/gles2
parent4a1015faff7fb620779dedf473cedfef77f938c6 (diff)
render: only expose linux-dmabuf if EGL extension is supported
Only expose linux-dmabuf extension if EGL_EXT_image_dmabuf_import_ext is supported. Closes: https://github.com/swaywm/wlroots/issues/2076
Diffstat (limited to 'render/gles2')
-rw-r--r--render/gles2/renderer.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c
index 523c5bd5..cba338a1 100644
--- a/render/gles2/renderer.c
+++ b/render/gles2/renderer.c
@@ -10,6 +10,7 @@
#include <wlr/render/interface.h>
#include <wlr/render/wlr_renderer.h>
#include <wlr/types/wlr_matrix.h>
+#include <wlr/types/wlr_linux_dmabuf_v1.h>
#include <wlr/util/log.h>
#include "render/gles2.h"
@@ -364,6 +365,15 @@ static bool gles2_init_wl_display(struct wlr_renderer *wlr_renderer,
} else {
wlr_log(WLR_INFO, "EGL_WL_bind_wayland_display is not supported");
}
+
+ if (renderer->egl->exts.image_dmabuf_import_ext) {
+ if (wlr_linux_dmabuf_v1_create(wl_display, wlr_renderer) == NULL) {
+ return false;
+ }
+ } else {
+ wlr_log(WLR_INFO, "EGL_EXT_image_dma_buf_import is not supported");
+ }
+
return true;
}