diff --git a/include/render/egl.h b/include/render/egl.h index 191293bf..55e9ce80 100644 --- a/include/render/egl.h +++ b/include/render/egl.h @@ -23,20 +23,6 @@ struct wlr_egl *wlr_egl_create_with_drm_fd(int drm_fd); */ void wlr_egl_destroy(struct wlr_egl *egl); -/** - * Binds the given display to the EGL instance. - * This will allow clients to create EGL surfaces from wayland ones and render - * to it. - */ -bool wlr_egl_bind_display(struct wlr_egl *egl, struct wl_display *local_display); - -/** - * Creates an EGL image from the given wl_drm buffer resource. - */ -EGLImageKHR wlr_egl_create_image_from_wl_drm(struct wlr_egl *egl, - struct wl_resource *data, EGLint *fmt, int *width, int *height, - bool *inverted_y); - /** * Creates an EGL image from the given dmabuf attributes. Check usability * of the dmabuf with wlr_egl_check_import_dmabuf once first. diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h index 553bace7..c92364f5 100644 --- a/include/wlr/render/egl.h +++ b/include/wlr/render/egl.h @@ -37,7 +37,6 @@ struct wlr_egl { struct { // Display extensions - bool bind_wayland_display_wl; bool image_base_khr; bool image_dmabuf_import_ext; bool image_dmabuf_import_modifiers_ext; @@ -51,8 +50,6 @@ struct wlr_egl { PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR; PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR; PFNEGLQUERYWAYLANDBUFFERWL eglQueryWaylandBufferWL; - PFNEGLBINDWAYLANDDISPLAYWL eglBindWaylandDisplayWL; - PFNEGLUNBINDWAYLANDDISPLAYWL eglUnbindWaylandDisplayWL; PFNEGLQUERYDMABUFFORMATSEXTPROC eglQueryDmaBufFormatsEXT; PFNEGLQUERYDMABUFMODIFIERSEXTPROC eglQueryDmaBufModifiersEXT; PFNEGLDEBUGMESSAGECONTROLKHRPROC eglDebugMessageControlKHR; @@ -60,8 +57,6 @@ struct wlr_egl { PFNEGLQUERYDEVICESTRINGEXTPROC eglQueryDeviceStringEXT; } procs; - struct wl_display *wl_display; - struct wlr_drm_format_set dmabuf_texture_formats; struct wlr_drm_format_set dmabuf_render_formats; }; diff --git a/render/egl.c b/render/egl.c index b01f7d54..3eae5a3d 100644 --- a/render/egl.c +++ b/render/egl.c @@ -246,16 +246,6 @@ struct wlr_egl *wlr_egl_create_with_drm_fd(int drm_fd) { "eglQueryDmaBufModifiersEXT"); } - if (check_egl_ext(display_exts_str, "EGL_WL_bind_wayland_display")) { - egl->exts.bind_wayland_display_wl = true; - load_egl_proc(&egl->procs.eglBindWaylandDisplayWL, - "eglBindWaylandDisplayWL"); - load_egl_proc(&egl->procs.eglUnbindWaylandDisplayWL, - "eglUnbindWaylandDisplayWL"); - load_egl_proc(&egl->procs.eglQueryWaylandBufferWL, - "eglQueryWaylandBufferWL"); - } - const char *device_exts_str = NULL, *driver_name = NULL; if (check_egl_ext(client_exts_str, "EGL_EXT_device_query")) { load_egl_proc(&egl->procs.eglQueryDisplayAttribEXT, @@ -387,10 +377,6 @@ void wlr_egl_destroy(struct wlr_egl *egl) { wlr_drm_format_set_finish(&egl->dmabuf_texture_formats); eglMakeCurrent(egl->display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); - if (egl->wl_display) { - assert(egl->exts.bind_wayland_display_wl); - egl->procs.eglUnbindWaylandDisplayWL(egl->display, egl->wl_display); - } eglDestroyContext(egl->display, egl->context); eglTerminate(egl->display); @@ -403,19 +389,6 @@ void wlr_egl_destroy(struct wlr_egl *egl) { free(egl); } -bool wlr_egl_bind_display(struct wlr_egl *egl, struct wl_display *local_display) { - if (!egl->exts.bind_wayland_display_wl) { - return false; - } - - if (egl->procs.eglBindWaylandDisplayWL(egl->display, local_display)) { - egl->wl_display = local_display; - return true; - } - - return false; -} - bool wlr_egl_destroy_image(struct wlr_egl *egl, EGLImage image) { if (!egl->exts.image_base_khr) { return false; @@ -473,37 +446,6 @@ bool wlr_egl_restore_context(struct wlr_egl_context *context) { context->read_surface, context->context); } -EGLImageKHR wlr_egl_create_image_from_wl_drm(struct wlr_egl *egl, - struct wl_resource *data, EGLint *fmt, int *width, int *height, - bool *inverted_y) { - if (!egl->exts.bind_wayland_display_wl || !egl->exts.image_base_khr) { - return NULL; - } - - if (!egl->procs.eglQueryWaylandBufferWL(egl->display, data, - EGL_TEXTURE_FORMAT, fmt)) { - return NULL; - } - - egl->procs.eglQueryWaylandBufferWL(egl->display, data, EGL_WIDTH, width); - egl->procs.eglQueryWaylandBufferWL(egl->display, data, EGL_HEIGHT, height); - - EGLint _inverted_y; - if (egl->procs.eglQueryWaylandBufferWL(egl->display, data, - EGL_WAYLAND_Y_INVERTED_WL, &_inverted_y)) { - *inverted_y = !!_inverted_y; - } else { - *inverted_y = false; - } - - const EGLint attribs[] = { - EGL_WAYLAND_PLANE_WL, 0, - EGL_NONE, - }; - return egl->procs.eglCreateImageKHR(egl->display, egl->context, - EGL_WAYLAND_BUFFER_WL, data, attribs); -} - EGLImageKHR wlr_egl_create_image_from_dmabuf(struct wlr_egl *egl, struct wlr_dmabuf_attributes *attributes, bool *external_only) { if (!egl->exts.image_base_khr || !egl->exts.image_dmabuf_import_ext) {