[PATCH v17 14/14] compositor-drm: Enable planes for atomic

Pekka Paalanen ppaalanen at gmail.com
Tue Jul 10 12:00:25 UTC 2018


On Mon,  9 Jul 2018 14:23:20 +0100
Daniel Stone <daniels at collabora.com> wrote:

> Now that we can sensibly test proposed plane configurations with atomic,
> sprites are not broken.
> 
> Signed-off-by: Daniel Stone <daniels at collabora.com>
> Tested-by: Emre Ucan <eucan at de.adit-jv.com>
> ---
>  libweston/compositor-drm.c | 22 +++++++++++-----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c
> index b97872aa1..f0f40385d 100644
> --- a/libweston/compositor-drm.c
> +++ b/libweston/compositor-drm.c
> @@ -3772,6 +3772,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;
> +

Maybe one day we could replace sprites_are_broken with !atomic_modeset?

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


Thanks,
pq

>  	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",
> @@ -6652,17 +6663,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;

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20180710/c2e7a5a6/attachment.sig>


More information about the wayland-devel mailing list