aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2022-03-31 11:29:24 +0200
committerSimon Zeni <simon@bl4ckb0ne.ca>2022-05-25 18:17:41 +0000
commitf954092f22256c807c70f2a7de376f29e864d342 (patch)
tree7caa77f1cfdef8cf136173c3adff8436e9a7fe3d /include
parent452a8ec9401fabc054872fdbd5096c4a87fcea8a (diff)
render/egl: make wlr_egl struct opaque
Compositors can use wlr_egl_create_with_context if they need a custom EGL display or context.
Diffstat (limited to 'include')
-rw-r--r--include/render/egl.h41
-rw-r--r--include/wlr/render/egl.h41
2 files changed, 42 insertions, 40 deletions
diff --git a/include/render/egl.h b/include/render/egl.h
index 55e9ce80..547254c8 100644
--- a/include/render/egl.h
+++ b/include/render/egl.h
@@ -3,6 +3,47 @@
#include <wlr/render/egl.h>
+struct wlr_egl {
+ EGLDisplay display;
+ EGLContext context;
+ EGLDeviceEXT device; // may be EGL_NO_DEVICE_EXT
+ struct gbm_device *gbm_device;
+
+ struct {
+ // Display extensions
+ bool KHR_image_base;
+ bool EXT_image_dma_buf_import;
+ bool EXT_image_dma_buf_import_modifiers;
+ bool IMG_context_priority;
+
+ // Device extensions
+ bool EXT_device_drm;
+ bool EXT_device_drm_render_node;
+
+ // Client extensions
+ bool EXT_device_query;
+ bool KHR_platform_gbm;
+ bool EXT_platform_device;
+ } exts;
+
+ struct {
+ PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT;
+ PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR;
+ PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR;
+ PFNEGLQUERYWAYLANDBUFFERWL eglQueryWaylandBufferWL;
+ PFNEGLQUERYDMABUFFORMATSEXTPROC eglQueryDmaBufFormatsEXT;
+ PFNEGLQUERYDMABUFMODIFIERSEXTPROC eglQueryDmaBufModifiersEXT;
+ PFNEGLDEBUGMESSAGECONTROLKHRPROC eglDebugMessageControlKHR;
+ PFNEGLQUERYDISPLAYATTRIBEXTPROC eglQueryDisplayAttribEXT;
+ PFNEGLQUERYDEVICESTRINGEXTPROC eglQueryDeviceStringEXT;
+ PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXT;
+ } procs;
+
+ bool has_modifiers;
+ struct wlr_drm_format_set dmabuf_texture_formats;
+ struct wlr_drm_format_set dmabuf_render_formats;
+};
+
struct wlr_egl_context {
EGLDisplay display;
EGLContext context;
diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h
index 06222237..8cb48e02 100644
--- a/include/wlr/render/egl.h
+++ b/include/wlr/render/egl.h
@@ -26,46 +26,7 @@
#include <wlr/render/dmabuf.h>
#include <wlr/render/drm_format_set.h>
-struct wlr_egl {
- EGLDisplay display;
- EGLContext context;
- EGLDeviceEXT device; // may be EGL_NO_DEVICE_EXT
- struct gbm_device *gbm_device;
-
- struct {
- // Display extensions
- bool KHR_image_base;
- bool EXT_image_dma_buf_import;
- bool EXT_image_dma_buf_import_modifiers;
- bool IMG_context_priority;
-
- // Device extensions
- bool EXT_device_drm;
- bool EXT_device_drm_render_node;
-
- // Client extensions
- bool EXT_device_query;
- bool KHR_platform_gbm;
- bool EXT_platform_device;
- } exts;
-
- struct {
- PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT;
- PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR;
- PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR;
- PFNEGLQUERYWAYLANDBUFFERWL eglQueryWaylandBufferWL;
- PFNEGLQUERYDMABUFFORMATSEXTPROC eglQueryDmaBufFormatsEXT;
- PFNEGLQUERYDMABUFMODIFIERSEXTPROC eglQueryDmaBufModifiersEXT;
- PFNEGLDEBUGMESSAGECONTROLKHRPROC eglDebugMessageControlKHR;
- PFNEGLQUERYDISPLAYATTRIBEXTPROC eglQueryDisplayAttribEXT;
- PFNEGLQUERYDEVICESTRINGEXTPROC eglQueryDeviceStringEXT;
- PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXT;
- } procs;
-
- bool has_modifiers;
- struct wlr_drm_format_set dmabuf_texture_formats;
- struct wlr_drm_format_set dmabuf_render_formats;
-};
+struct wlr_egl;
struct wlr_egl *wlr_egl_create_with_context(EGLDisplay display,
EGLContext context);