Commit 47224cc9 authored by Daniel Stone's avatar Daniel Stone

compositor-drm: Delete drm_backend_set_modes

Even if we do have a framebuffer matching the mode, we immediately
schedule a repaint, meaning we either do work for no reason, or show
stale content before we bring up the new content.

Delete this and just let repaint deal with it.

Differential Revision: Daniel Stone's avatarDaniel Stone <>
Reviewed-by: default avatarArmin Krezović <>
parent c8c917cb
......@@ -2806,38 +2806,6 @@ drm_destroy(struct weston_compositor *ec)
static void
drm_backend_set_modes(struct drm_backend *backend)
struct drm_output *output;
struct drm_mode *drm_mode;
int ret;
wl_list_for_each(output, &backend->compositor->output_list, {
if (!output->current) {
/* If something that would cause the output to
* switch mode happened while in another vt, we
* might not have a current drm_fb. In that case,
* schedule a repaint and let drm_output_repaint
* handle setting the mode. */
drm_mode = (struct drm_mode *) output->base.current_mode;
ret = drmModeSetCrtc(backend->drm.fd, output->crtc_id,
output->current->fb_id, 0, 0,
&output->connector_id, 1,
if (ret < 0) {
"failed to set mode %dx%d for output at %d,%d: %m\n",
drm_mode->base.width, drm_mode->base.height,
output->base.x, output->base.y);
static void
session_notify(struct wl_listener *listener, void *data)
......@@ -2849,7 +2817,6 @@ session_notify(struct wl_listener *listener, void *data)
if (compositor->session_active) {
weston_log("activating session\n");
compositor->state = b->prev_state;
} else {
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment