From bf93d2e67c51e7f3f88620999f0225a34c039047 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 19 Jun 2020 15:49:55 +0200 Subject: output: rename impl->rollback to rollback_render The output backend API is now mostly state-less thanks to the atomic hooks (commit and test). There is one exception though: attach_render. This function makes the rendering context current. However sometimes the compositor might decide not to render after attach_render (e.g. when there's nothing new to render to the back buffer). Thus wlr_output_rollback has been introduced to revert the pending state. Because the output backend API is mostly state-less, the only thing wlr_output_impl.rollback needs to do is revert the current rendering context. Rename the function to rollback_render to make this clear. Add a check in the common wlr_output code to only call rollback_render when attach_buffer has been previously called. On the long term, we'll be able to remove attach_render and rollback_render together. --- backend/drm/drm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'backend/drm') diff --git a/backend/drm/drm.c b/backend/drm/drm.c index 43453072..7153761a 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -586,7 +586,7 @@ static bool drm_connector_commit(struct wlr_output *output) { return true; } -static void drm_connector_rollback(struct wlr_output *output) { +static void drm_connector_rollback_render(struct wlr_output *output) { struct wlr_drm_backend *drm = get_drm_backend_from_backend(output->backend); wlr_egl_unset_current(&drm->renderer.egl); } @@ -1024,7 +1024,7 @@ static const struct wlr_output_impl output_impl = { .attach_render = drm_connector_attach_render, .test = drm_connector_test, .commit = drm_connector_commit, - .rollback = drm_connector_rollback, + .rollback_render = drm_connector_rollback_render, .get_gamma_size = drm_connector_get_gamma_size, .export_dmabuf = drm_connector_export_dmabuf, }; -- cgit v1.2.3