compositor-drm: Don't do a mode set on drm_output_switch_mode()
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.
This commit is contained in:
committed by
Kristian Høgsberg
parent
2e7a3ab7cd
commit
f1c38a7426
@@ -1008,15 +1008,6 @@ drm_output_switch_mode(struct weston_output *output_base, struct weston_mode *mo
|
|||||||
goto err_gbm;
|
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. */
|
/* reset rendering stuff. */
|
||||||
if (output->current) {
|
if (output->current) {
|
||||||
if (output->current->is_client_buffer)
|
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;
|
output->base.current = &drm_mode->base;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_gl:
|
|
||||||
gl_renderer_output_destroy(&output->base);
|
|
||||||
err_gbm:
|
err_gbm:
|
||||||
gbm_surface_destroy(surface);
|
gbm_surface_destroy(surface);
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user