Tested-by: Joe Konno <[email protected]>

On 02/12/2013 03:53 AM, Rob Bradford wrote:
> From: Rob Bradford <[email protected]>
>
> If our surface has width and height set to the same dimensions as the output
> then we can bypassing the scale factor calculation and addition of the
> transformation.
>
> The use case that led to this optimisation is the playback of video using
> gstreamer-vaapi with the "scale" method. The video is the same dimensions as
> the output (1080p.)
> ---
>  src/shell.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/src/shell.c b/src/shell.c
> index 368fa5b..19ccdfd 100644
> --- a/src/shell.c
> +++ b/src/shell.c
> @@ -1672,6 +1672,13 @@ shell_configure_fullscreen(struct shell_surface 
> *shsurf)
>                       center_on_output(surface, shsurf->fullscreen_output);
>               break;
>       case WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE:
> +             /* 1:1 mapping between surface and output dimensions */
> +             if (output->width == surface->geometry.width &&
> +                 output->height == surface->geometry.height) {
> +                     weston_surface_set_position(surface, output->x, 
> output->y);
> +                     break;
> +             }
> +
>               matrix = &shsurf->fullscreen.transform.matrix;
>               weston_matrix_init(matrix);
>  


-- 
Joe Konno
Software Engineer, Visualization QA and Validation

Intel Corporation
Open Source Technology Center
Hillsboro, Oregon, USA

Ph: +1 503 264 0365

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to