diff options
-rw-r--r-- | include/wlr/render/egl.h | 1 | ||||
-rw-r--r-- | render/egl.c | 5 | ||||
-rw-r--r-- | render/wlr_renderer.c | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h index 3f437553..3facd87d 100644 --- a/include/wlr/render/egl.h +++ b/include/wlr/render/egl.h @@ -41,6 +41,7 @@ struct wlr_egl { EGLConfig config; // may be EGL_NO_CONFIG EGLContext context; EGLDeviceEXT device; // may be EGL_NO_DEVICE_EXT + struct gbm_device *gbm_device; struct { // Display extensions diff --git a/render/egl.c b/render/egl.c index af6d6892..4cc117c8 100644 --- a/render/egl.c +++ b/render/egl.c @@ -5,6 +5,7 @@ #include <stdio.h> #include <stdlib.h> #include <unistd.h> +#include <gbm.h> #include <wlr/render/egl.h> #include <wlr/util/log.h> #include <wlr/util/region.h> @@ -487,6 +488,10 @@ void wlr_egl_destroy(struct wlr_egl *egl) { eglTerminate(egl->display); eglReleaseThread(); + if (egl->gbm_device) { + gbm_device_destroy(egl->gbm_device); + } + free(egl); } diff --git a/render/wlr_renderer.c b/render/wlr_renderer.c index 94ec63ec..7ce86695 100644 --- a/render/wlr_renderer.c +++ b/render/wlr_renderer.c @@ -1,6 +1,7 @@ #include <assert.h> #include <stdbool.h> #include <stdlib.h> +#include <gbm.h> #include <wlr/render/egl.h> #include <wlr/render/gles2.h> #include <wlr/render/interface.h> |