aboutsummaryrefslogtreecommitdiff
path: root/include/backend
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-08-10 22:15:37 -0400
committerDrew DeVault <sir@cmpwn.com>2017-08-10 22:15:37 -0400
commitc24351681f672a2ce561b9cb6d73172dfc36c45c (patch)
tree5b39ee3fd871e90cfbf0f0a057d11debc15caf97 /include/backend
parent4aaf76cb66865efb8ea902a45596cd12d0f73b8e (diff)
Refactor EGL handling
Diffstat (limited to 'include/backend')
-rw-r--r--include/backend/drm.h2
-rw-r--r--include/backend/egl.h73
-rw-r--r--include/backend/wayland.h2
3 files changed, 2 insertions, 75 deletions
diff --git a/include/backend/drm.h b/include/backend/drm.h
index 2f724524..35265e21 100644
--- a/include/backend/drm.h
+++ b/include/backend/drm.h
@@ -12,9 +12,9 @@
#include <wlr/backend/session.h>
#include <wlr/backend/drm.h>
+#include <wlr/egl.h>
#include <wlr/util/list.h>
-#include <backend/egl.h>
#include <backend/udev.h>
#include "drm-properties.h"
diff --git a/include/backend/egl.h b/include/backend/egl.h
deleted file mode 100644
index b649c55b..00000000
--- a/include/backend/egl.h
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef WLR_BACKEND_EGL_H
-#define WLR_BACKEND_EGL_H
-
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-#include <stdbool.h>
-
-struct wlr_egl {
- EGLDisplay display;
- EGLConfig config;
- EGLContext context;
-
- const char *egl_exts;
- const char *gl_exts;
-
- struct wl_display *wl_display;
-};
-
-/**
- * Initializes an egl context for the given platform and remote display.
- * Will attempt to load all possibly required api functions.
- */
-bool wlr_egl_init(struct wlr_egl *egl, EGLenum platform, void *display);
-
-/**
- * Frees all related egl resources, makes the context not-current and
- * unbinds a bound wayland display.
- */
-void wlr_egl_free(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);
-
-/**
- * Queries information about the given (potential egl/drm) buffer, returns
- * the information in value.
- * Refer to eglQueryWaylandBufferWL for more information about attrib and value.
- * Makes only sense when a wl_display was bound to it since otherwise there
- * cannot be any egl/drm buffers.
- * Will only work after a wlr_egl objct was initialized and if the needed egl extension
- * is present.
- */
-bool wlr_egl_query_buffer(struct wl_resource *buf,
- EGLint attrib, EGLint *value);
-
-/**
- * Returns a surface for the given native window
- * The window must match the remote display the wlr_egl was created with.
- */
-EGLSurface wlr_egl_create_surface(struct wlr_egl *egl, void *window);
-
-/**
- * Creates an egl image from the given client buffer and attributes.
- * Will only work after a wlr_egl objct was initialized and if the needed egl extension
- * is present.
- */
-EGLImageKHR wlr_egl_create_image(EGLenum target, EGLClientBuffer buffer,
- const EGLint *attribs);
-
-/**
- * Destroys an egl image created with the given wlr_egl.
- */
-bool wlr_egl_destroy_image(EGLImageKHR image);
-
-/**
- * Returns a string for the last error ocurred with egl.
- */
-const char *egl_error(void);
-
-#endif
diff --git a/include/backend/wayland.h b/include/backend/wayland.h
index 792bad37..e6339a23 100644
--- a/include/backend/wayland.h
+++ b/include/backend/wayland.h
@@ -4,10 +4,10 @@
#include <wayland-client.h>
#include <wayland-server.h>
#include <wayland-egl.h>
+#include <wlr/egl.h>
#include <wlr/backend/wayland.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/util/list.h>
-#include "backend/egl.h"
struct wlr_backend_state {
/* local state */