aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-03-31 23:55:07 -0400
committerGitHub <noreply@github.com>2018-03-31 23:55:07 -0400
commit0c7968d0936603460c9e07ce0cd6c9188b77a39c (patch)
treed0da1ce1932b9c8f1736a09af5fe1dadba986206 /include
parentb60e31e5c034c87a5b3b01862d2ea535ef7de31c (diff)
parenta7bb48b404b4809532e81a5daa981c81279c863a (diff)
Merge pull request #798 from emersion/wlr-egl-image-from-wl-drm
render/egl: add wlr_egl_create_image_from_wl_drm
Diffstat (limited to 'include')
-rw-r--r--include/wlr/render/egl.h20
-rw-r--r--include/wlr/render/wlr_texture.h2
2 files changed, 15 insertions, 7 deletions
diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h
index 20127e38..cca77870 100644
--- a/include/wlr/render/egl.h
+++ b/include/wlr/render/egl.h
@@ -28,21 +28,22 @@ struct wlr_egl {
// TODO: Allocate and return a wlr_egl
/**
- * Initializes an egl context for the given platform and remote 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 *remote_display,
EGLint *config_attribs, EGLint visual_id);
/**
- * Frees all related egl resources, makes the context not-current and
+ * Frees all related EGL resources, makes the context not-current and
* unbinds a bound wayland display.
*/
void wlr_egl_finish(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.
+ * 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);
@@ -53,7 +54,14 @@ bool wlr_egl_bind_display(struct wlr_egl *egl, struct wl_display *local_display)
EGLSurface wlr_egl_create_surface(struct wlr_egl *egl, void *window);
/**
- * Creates an egl image from the given dmabuf attributes. Check usability
+ * 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.
*/
EGLImageKHR wlr_egl_create_image_from_dmabuf(struct wlr_egl *egl,
@@ -78,7 +86,7 @@ int wlr_egl_get_dmabuf_modifiers(struct wlr_egl *egl, int format,
uint64_t **modifiers);
/**
- * Destroys an egl image created with the given wlr_egl.
+ * Destroys an EGL image created with the given wlr_egl.
*/
bool wlr_egl_destroy_image(struct wlr_egl *egl, EGLImageKHR image);
diff --git a/include/wlr/render/wlr_texture.h b/include/wlr/render/wlr_texture.h
index ab361298..239fc51b 100644
--- a/include/wlr/render/wlr_texture.h
+++ b/include/wlr/render/wlr_texture.h
@@ -23,7 +23,7 @@ struct wlr_texture *wlr_texture_from_pixels(struct wlr_renderer *renderer,
const void *data);
/**
- * Create a new texture from a wayland DRM resource. The returned texture is
+ * Create a new texture from a wl_drm resource. The returned texture is
* immutable.
*/
struct wlr_texture *wlr_texture_from_wl_drm(struct wlr_renderer *renderer,