window: Clean up buffer type choosing
Extracting it to a function makes this cleaner and more understandable.
This commit is contained in:
committed by
Kristian Høgsberg
parent
f11ad43ed0
commit
bd600774be
+12
-8
@@ -4351,6 +4351,17 @@ surface_create(struct window *window)
|
|||||||
return surface;
|
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 *
|
static struct window *
|
||||||
window_create_internal(struct display *display, int custom)
|
window_create_internal(struct display *display, int custom)
|
||||||
{
|
{
|
||||||
@@ -4369,14 +4380,7 @@ window_create_internal(struct display *display, int custom)
|
|||||||
window->custom = custom;
|
window->custom = custom;
|
||||||
window->preferred_format = WINDOW_PREFERRED_FORMAT_NONE;
|
window->preferred_format = WINDOW_PREFERRED_FORMAT_NONE;
|
||||||
|
|
||||||
if (display->argb_device)
|
surface->buffer_type = get_preferred_buffer_type(display);
|
||||||
#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;
|
|
||||||
|
|
||||||
wl_surface_set_user_data(surface->surface, window);
|
wl_surface_set_user_data(surface->surface, window);
|
||||||
wl_list_insert(display->window_list.prev, &window->link);
|
wl_list_insert(display->window_list.prev, &window->link);
|
||||||
|
|||||||
Reference in New Issue
Block a user