@ -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 ;