[PATCH 5/6] window: Clean up buffer type choosing
Pekka Paalanen
ppaalanen at gmail.com
Tue Apr 29 05:29:49 PDT 2014
On Mon, 28 Apr 2014 11:19:31 -0400
"Jasper St. Pierre" <jstpierre at mecheye.net> wrote:
> Extracting it to a function makes this cleaner and more
> understandable.
> ---
> clients/window.c | 20 ++++++++++++--------
> 1 file changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/clients/window.c b/clients/window.c
> index e2f7010..d822af7 100644
> --- a/clients/window.c
> +++ b/clients/window.c
> @@ -4338,6 +4338,17 @@ surface_create(struct window *window)
> return surface;
> }
>
> +static window_buffer_type
> +get_preferred_buffer_type(struct display *display)
> +{
> +#ifdef HAVE_CAIRO_EGL
> + if (display->argb_device)
> + return WINDOW_BUFFER_TYPE_EGL_WINDOW;
> +#endif
> +
> + return WINDOW_BUFFER_TYPE_SHM;
> +}
> +
> static struct window *
> window_create_internal(struct display *display, int custom)
> {
> @@ -4356,14 +4367,7 @@ window_create_internal(struct display *display, int custom)
> window->custom = custom;
> window->preferred_format = WINDOW_PREFERRED_FORMAT_NONE;
>
> - if (display->argb_device)
> -#ifdef HAVE_CAIRO_EGL
> - surface->buffer_type = WINDOW_BUFFER_TYPE_EGL_WINDOW;
> -#else
> - surface->buffer_type = WINDOW_BUFFER_TYPE_SHM;
> -#endif
> - else
> - surface->buffer_type = WINDOW_BUFFER_TYPE_SHM;
> + surface->buffer_type = get_preferred_buffer_type(display);
>
> wl_surface_set_user_data(surface->surface, window);
> wl_list_insert(display->window_list.prev, &window->link);
This is cool.
Thanks,
pq
More information about the wayland-devel
mailing list