compositor-drm: Don't do a mode set on drm_output_switch_mode()
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Fri, 14 Dec 2012 15:37:28 +0000 (13:37 -0200)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 14 Dec 2012 16:27:53 +0000 (11:27 -0500)
At this point, we reallocated the gbm surface, but we don't have an
fb with the right size to use. If we're going to a larger mode, the fb
would be too small and the mode set would fail. Besides, the repaint
logic will already do a mode set if necessary, so rely on that instead.

src/compositor-drm.c

index 22a3ac8..1aec473 100644 (file)
@@ -1008,15 +1008,6 @@ drm_output_switch_mode(struct weston_output *output_base, struct weston_mode *mo
                goto err_gbm;
        }
 
-       ret = drmModeSetCrtc(ec->drm.fd,
-                            output->crtc_id,
-                            output->current->fb_id, 0, 0,
-                            &output->connector_id, 1, &drm_mode->mode_info);
-       if (ret) {
-               weston_log("failed to set mode\n");
-               goto err_gl;
-       }
-
        /* reset rendering stuff. */
        if (output->current) {
                if (output->current->is_client_buffer)
@@ -1043,8 +1034,6 @@ drm_output_switch_mode(struct weston_output *output_base, struct weston_mode *mo
        output->base.current = &drm_mode->base;
        return 0;
 
-err_gl:
-       gl_renderer_output_destroy(&output->base);
 err_gbm:
        gbm_surface_destroy(surface);
        return -1;