aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/render/gles2.h2
-rw-r--r--include/wlr/render/interface.h3
-rw-r--r--include/wlr/render/wlr_renderer.h6
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.
*/