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

2018-07-10 Thread Pekka Paalanen
On Mon,  9 Jul 2018 14:23:20 +0100
Daniel Stone  wrote:

> Now that we can sensibly test proposed plane configurations with atomic,
> sprites are not broken.
> 
> Signed-off-by: Daniel Stone 
> Tested-by: Emre Ucan 
> ---
>  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 


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;



pgppe4aKqEZJG.pgp
Description: OpenPGP digital signature
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


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

2018-07-09 Thread Daniel Stone
Now that we can sensibly test proposed plane configurations with atomic,
sprites are not broken.

Signed-off-by: Daniel Stone 
Tested-by: Emre Ucan 
---
 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;
+
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;
-- 
2.17.1

___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel