__cb_client_window_get_rotation_capability(struct wl_egl_window *wl_egl_window,
void *private);
+static void
+__cb_client_window_set_frontbuffer_mode(struct wl_egl_window *wl_egl_window,
+ void *private, int set);
+
static TPL_INLINE void
__tpl_wayland_egl_buffer_set_reset_flag(tpl_list_t *tracking_list)
{
wl_egl_window->rotate_callback = (void *)__cb_client_window_rotate_callback;
wl_egl_window->get_rotation_capability = (void *)
__cb_client_window_get_rotation_capability;
+ wl_egl_window->set_frontbuffer_callback = (void *)
+ __cb_client_window_set_frontbuffer_mode;
/* tdm_vblank object decide to be maintained every tpl_wayland_egl_surface
for the case where the several surfaces is created in one display connection. */
return surface->frontbuffer;
} else
surface->frontbuffer = NULL;
+ } else {
+ surface->frontbuffer = NULL;
}
tsq_err = tbm_surface_queue_dequeue(wayland_egl_surface->tbm_queue,
return rotation_capability;
}
+static void
+__cb_client_window_set_frontbuffer_mode(struct wl_egl_window *wl_egl_window,
+ void *private, int set)
+{
+ TPL_ASSERT(private);
+ TPL_ASSERT(wl_egl_window);
+ tpl_surface_t *surface = (tpl_surface_t *)private;
+
+ if (set)
+ surface->is_frontbuffer_mode = TPL_TRUE;
+ else
+ surface->is_frontbuffer_mode = TPL_FALSE;
+}
void
__cb_resistry_global_callback(void *data, struct wl_registry *wl_registry,