From bf6d24540000339029a30715f1f72b5b95a45018 Mon Sep 17 00:00:00 2001 From: emersion Date: Fri, 9 Feb 2018 22:54:14 +0100 Subject: Swap buffers with damage --- backend/drm/drm.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'backend/drm/drm.c') diff --git a/backend/drm/drm.c b/backend/drm/drm.c index 08ced783..e1bf63db 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -190,7 +190,8 @@ static bool wlr_drm_connector_make_current(struct wlr_output *output, return wlr_drm_surface_make_current(&conn->crtc->primary->surf, buffer_age); } -static bool wlr_drm_connector_swap_buffers(struct wlr_output *output) { +static bool wlr_drm_connector_swap_buffers(struct wlr_output *output, + pixman_region32_t *damage) { struct wlr_drm_connector *conn = (struct wlr_drm_connector *)output; struct wlr_drm_backend *drm = (struct wlr_drm_backend *)output->backend; if (!drm->session->active) { @@ -203,7 +204,7 @@ static bool wlr_drm_connector_swap_buffers(struct wlr_output *output) { } struct wlr_drm_plane *plane = crtc->primary; - struct gbm_bo *bo = wlr_drm_surface_swap_buffers(&plane->surf); + struct gbm_bo *bo = wlr_drm_surface_swap_buffers(&plane->surf, damage); if (drm->parent) { bo = wlr_drm_surface_mgpu_copy(&plane->mgpu_surf, bo); } @@ -635,7 +636,7 @@ static bool wlr_drm_connector_set_cursor(struct wlr_output *output, GL_UNSIGNED_BYTE, bo_data); glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, 0); - wlr_drm_surface_swap_buffers(&plane->surf); + wlr_drm_surface_swap_buffers(&plane->surf, NULL); gbm_bo_unmap(bo, bo_data); -- cgit v1.2.3