diff options
-rw-r--r-- | libweston/compositor-drm.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c index ff1c736e..091ac8d7 100644 --- a/libweston/compositor-drm.c +++ b/libweston/compositor-drm.c @@ -3086,6 +3086,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; + return 0; } @@ -5020,17 +5031,6 @@ drm_backend_create(struct weston_compositor *compositor, if (b == NULL) return NULL; - /* - * 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; |