From: Daniel Stone Date: Fri, 9 Dec 2016 16:00:12 +0000 (+0000) Subject: compositor-drm: Enable planes for atomic X-Git-Tag: upstream/5.0.0~23 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=678aabe829371d48af00e718f4a41185a3d50f1f;p=platform%2Fupstream%2Fweston.git compositor-drm: Enable planes for atomic Now that we can sensibly test proposed plane configurations with atomic, sprites are not broken. Signed-off-by: Daniel Stone Reviewed-by: Pekka Paalanen --- diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c index 363354f..95b3797 100644 --- a/libweston/compositor-drm.c +++ b/libweston/compositor-drm.c @@ -3834,6 +3834,17 @@ init_kms_caps(struct drm_backend *b) weston_log("DRM: %s atomic modesetting\n", b->atomic_modeset ? "supports" : "does not support"); + /* + * KMS support for hardware planes cannot properly synchronize + * without nuclear page flip. Without nuclear/atomic, hw plane + * and cursor plane updates would either tear or cause extra + * waits for vblanks which means dropping the compositor framerate + * to a fraction. For cursors, it's not so bad, so they are + * enabled. + */ + if (!b->atomic_modeset) + b->sprites_are_broken = 1; + ret = drmSetClientCap(b->drm.fd, DRM_CLIENT_CAP_ASPECT_RATIO, 1); b->aspect_ratio_supported = (ret == 0); weston_log("DRM: %s picture aspect ratio\n", @@ -6714,17 +6725,6 @@ drm_backend_create(struct weston_compositor *compositor, b->drm.fd = -1; wl_array_init(&b->unused_crtcs); - /* - * KMS support for hardware planes cannot properly synchronize - * without nuclear page flip. Without nuclear/atomic, hw plane - * and cursor plane updates would either tear or cause extra - * waits for vblanks which means dropping the compositor framerate - * to a fraction. For cursors, it's not so bad, so they are - * enabled. - * - * These can be enabled again when nuclear/atomic support lands. - */ - b->sprites_are_broken = 1; b->compositor = compositor; b->use_pixman = config->use_pixman; b->pageflip_timeout = config->pageflip_timeout;