backend/drm: add basic support for direct scan-out

This commit is contained in:
emersion 2019-03-29 21:27:12 +02:00 committed by Drew DeVault
parent 3dec88e455
commit 96d6fde5dc
7 changed files with 105 additions and 7 deletions

View file

@ -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

View file

@ -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,

View file

@ -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.