diff options
author | Neil Roberts <[email protected]> | 2013-10-28 15:07:03 +0000 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2013-12-04 17:04:57 -0800 |
commit | 5cddb1ce3c9890435374ae3e03fc4a5b57dee314 (patch) | |
tree | 97be439739da18c825b2941f846edb0709f280bd /include | |
parent | bce64c6c83122b1f4a684cc7890c7a61d2f9ffd7 (diff) |
wayland: Add an extension to create wl_buffers from EGLImages
This adds an extension called EGL_WL_create_wayland_buffer_from_image
which adds the following single function:
struct wl_buffer *
eglCreateWaylandBufferFromImageWL(EGLDisplay dpy, EGLImageKHR image);
The function creates a wl_buffer which shares its contents with the given
EGLImage. The expected use case for this is in a nested Wayland compositor
which is using subsurfaces to present buffers from its clients. Using this
extension it can attach the client buffers directly to the subsurface without
having to blit the contents into an intermediate buffer. The compositing can
then be done in the parent compositor.
The extension is only implemented in the Wayland EGL platform because of
course it wouldn't make sense anywhere else.
Diffstat (limited to 'include')
-rw-r--r-- | include/EGL/eglmesaext.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/EGL/eglmesaext.h b/include/EGL/eglmesaext.h index 1f07d4cde5f..14fb07a7196 100644 --- a/include/EGL/eglmesaext.h +++ b/include/EGL/eglmesaext.h @@ -134,6 +134,16 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL) (EGLDisplay dpy, st #endif +#ifndef EGL_WL_create_wayland_buffer_from_image +#define EGL_WL_create_wayland_buffer_from_image 1 + +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI struct wl_buffer * EGLAPIENTRY eglCreateWaylandBufferFromImageWL(EGLDisplay dpy, EGLImageKHR image); +#endif +typedef struct wl_buffer * (EGLAPIENTRYP PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL) (EGLDisplay dpy, EGLImageKHR image); + +#endif + #ifndef EGL_NOK_swap_region #define EGL_NOK_swap_region 1 |