[PATCH v14 31/41] compositor-drm: Rename region variable

Pekka Paalanen ppaalanen at gmail.com
Fri Jan 26 11:31:04 UTC 2018


On Wed, 20 Dec 2017 12:26:48 +0000
Daniel Stone <daniels at collabora.com> wrote:

> Make it a bit more clear what the purpose of the variable is.
> 
> Signed-off-by: Daniel Stone <daniels at collabora.com>
> ---
>  libweston/compositor-drm.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c
> index 19aeb5326..3ff06c01c 100644
> --- a/libweston/compositor-drm.c
> +++ b/libweston/compositor-drm.c
> @@ -3059,7 +3059,7 @@ drm_assign_planes(struct weston_output *output_base, void *repaint_data)
>  	struct drm_output_state *state;
>  	struct drm_plane_state *plane_state;
>  	struct weston_view *ev;
> -	pixman_region32_t overlap, surface_overlap;
> +	pixman_region32_t surface_overlap, renderer_region;
>  	struct weston_plane *primary, *next_plane;
>  
>  	assert(!output->state_last);
> @@ -3080,7 +3080,7 @@ drm_assign_planes(struct weston_output *output_base, void *repaint_data)
>  	 * the client buffer can be used directly for the sprite surface
>  	 * as we do for flipping full screen surfaces.
>  	 */
> -	pixman_region32_init(&overlap);
> +	pixman_region32_init(&renderer_region);
>  	primary = &output_base->compositor->primary_plane;
>  
>  	wl_list_for_each(ev, &output_base->compositor->view_list, link) {
> @@ -3104,7 +3104,7 @@ drm_assign_planes(struct weston_output *output_base, void *repaint_data)
>  			es->keep_buffer = false;
>  
>  		pixman_region32_init(&surface_overlap);
> -		pixman_region32_intersect(&surface_overlap, &overlap,
> +		pixman_region32_intersect(&surface_overlap, &renderer_region,
>  					  &ev->transform.boundingbox);
>  
>  		next_plane = NULL;
> @@ -3125,7 +3125,8 @@ drm_assign_planes(struct weston_output *output_base, void *repaint_data)
>  		weston_view_move_to_plane(ev, next_plane);
>  
>  		if (next_plane == primary)
> -			pixman_region32_union(&overlap, &overlap,
> +			pixman_region32_union(&renderer_region,
> +					      &renderer_region,
>  					      &ev->transform.boundingbox);
>  
>  		if (next_plane == primary ||
> @@ -3142,7 +3143,7 @@ drm_assign_planes(struct weston_output *output_base, void *repaint_data)
>  
>  		pixman_region32_fini(&surface_overlap);
>  	}
> -	pixman_region32_fini(&overlap);
> +	pixman_region32_fini(&renderer_region);
>  
>  	/* We rely on output->cursor_view being both an accurate reflection of
>  	 * the cursor plane's state, but also being maintained across repaints

Hi,

let me see... renderer_region starts empty, and accumulates the area
from all views assigned to the primary plane for composition. Iterating
the view list from top to bottom, if a view may overlap with
renderer_region at that point, it cannot be promoted to an overlay
plane, because the primary plane already has something on top of it.

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


Thanks,
pq
-------------- 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/20180126/52a8e982/attachment.sig>


More information about the wayland-devel mailing list