diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/render/gles2.h | 2 | ||||
-rw-r--r-- | include/wlr/render/interface.h | 3 | ||||
-rw-r--r-- | include/wlr/render/wlr_renderer.h | 6 |
3 files changed, 11 insertions, 0 deletions
diff --git a/include/render/gles2.h b/include/render/gles2.h index d9ddfe6c..24c02e4d 100644 --- a/include/render/gles2.h +++ b/include/render/gles2.h @@ -20,6 +20,7 @@ struct wlr_gles2_procs { PFNGLDEBUGMESSAGECONTROLKHRPROC glDebugMessageControlKHR; PFNGLPOPDEBUGGROUPKHRPROC glPopDebugGroupKHR; PFNGLPUSHDEBUGGROUPKHRPROC glPushDebugGroupKHR; + PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC glEGLImageTargetRenderbufferStorageOES; }; extern struct wlr_gles2_procs gles2_procs; @@ -49,6 +50,7 @@ struct wlr_gles2_renderer { bool read_format_bgra_ext; bool debug_khr; bool egl_image_external_oes; + bool egl_image_oes; } exts; struct { diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h index 48ef4286..6eb6c22f 100644 --- a/include/wlr/render/interface.h +++ b/include/wlr/render/interface.h @@ -64,6 +64,9 @@ struct wlr_renderer_impl { void (*destroy)(struct wlr_renderer *renderer); bool (*init_wl_display)(struct wlr_renderer *renderer, struct wl_display *wl_display); + bool (*blit_dmabuf)(struct wlr_renderer *renderer, + struct wlr_dmabuf_attributes *dst, + struct wlr_dmabuf_attributes *src); }; void wlr_renderer_init(struct wlr_renderer *renderer, diff --git a/include/wlr/render/wlr_renderer.h b/include/wlr/render/wlr_renderer.h index db543bef..e6140f3e 100644 --- a/include/wlr/render/wlr_renderer.h +++ b/include/wlr/render/wlr_renderer.h @@ -104,6 +104,12 @@ const struct wlr_drm_format_set *wlr_renderer_get_dmabuf_formats( bool wlr_renderer_read_pixels(struct wlr_renderer *r, enum wl_shm_format fmt, uint32_t *flags, uint32_t stride, uint32_t width, uint32_t height, uint32_t src_x, uint32_t src_y, uint32_t dst_x, uint32_t dst_y, void *data); + +/** + * Blits the dmabuf in src onto the one in dst. + */ +bool wlr_renderer_blit_dmabuf(struct wlr_renderer *r, + struct wlr_dmabuf_attributes *dst, struct wlr_dmabuf_attributes *src); /** * Checks if a format is supported. */ |