From 96d6fde5dc7ed2e9897297ed459246cb4133a30f Mon Sep 17 00:00:00 2001 From: emersion Date: Fri, 29 Mar 2019 21:27:12 +0200 Subject: backend/drm: add basic support for direct scan-out --- include/backend/drm/renderer.h | 2 ++ include/wlr/interfaces/wlr_output.h | 2 ++ include/wlr/types/wlr_output.h | 2 ++ 3 files changed, 6 insertions(+) (limited to 'include') diff --git a/include/backend/drm/renderer.h b/include/backend/drm/renderer.h index 25b07b97..93b8da7c 100644 --- a/include/backend/drm/renderer.h +++ b/include/backend/drm/renderer.h @@ -54,6 +54,8 @@ struct gbm_bo *get_drm_surface_front(struct wlr_drm_surface *surf); void post_drm_surface(struct wlr_drm_surface *surf); struct gbm_bo *copy_drm_surface_mgpu(struct wlr_drm_surface *dest, struct gbm_bo *src); +struct gbm_bo *import_gbm_bo(struct wlr_drm_renderer *renderer, + struct wlr_dmabuf_attributes *attribs); bool export_drm_bo(struct gbm_bo *bo, struct wlr_dmabuf_attributes *attribs); #endif diff --git a/include/wlr/interfaces/wlr_output.h b/include/wlr/interfaces/wlr_output.h index 9c6f4aa5..a70c86e6 100644 --- a/include/wlr/interfaces/wlr_output.h +++ b/include/wlr/interfaces/wlr_output.h @@ -34,6 +34,8 @@ struct wlr_output_impl { bool (*export_dmabuf)(struct wlr_output *output, struct wlr_dmabuf_attributes *attribs); bool (*schedule_frame)(struct wlr_output *output); + bool (*set_dmabuf)(struct wlr_output *output, + struct wlr_dmabuf_attributes *attribs); }; void wlr_output_init(struct wlr_output *output, struct wlr_backend *backend, diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h index 723ef4ca..163d54ad 100644 --- a/include/wlr/types/wlr_output.h +++ b/include/wlr/types/wlr_output.h @@ -243,6 +243,8 @@ bool wlr_output_preferred_read_format(struct wlr_output *output, */ void wlr_output_set_damage(struct wlr_output *output, pixman_region32_t *damage); +bool wlr_output_set_dmabuf(struct wlr_output *output, + struct wlr_dmabuf_attributes *attribs); /** * Commit the pending output state. If `wlr_output_attach_render` has been * called, the pending frame will be submitted for display. -- cgit v1.2.3