Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void wl_surface_frame_done(void *data, struct wl_callback *cb, uint32_t time)
- {
- gfx_ctx_wayland_data_t *wl = (gfx_ctx_wayland_data_t*)data;
- wl->swap_complete = true;
- /* Destroy this callback */
- wl_callback_destroy(cb);
- }
- static const struct wl_callback_listener wl_surface_frame_listener = {
- .done = wl_surface_frame_done,
- };
- static void gfx_ctx_wl_swap_buffers(void *data)
- {
- gfx_ctx_wayland_data_t *wl = (gfx_ctx_wayland_data_t*)data;
- struct wl_callback *cb = wl_surface_frame(wl->surface);
- wl_callback_add_listener(cb, &wl_surface_frame_listener, &wl);
- wl->swap_complete = false;
- egl_swap_buffers(&wl->egl);
- //while (!wl->swap_complete && wl_display_dispatch(wl->input.dpy)) {}
- while (!wl->swap_complete) {
- int ret = wl_display_dispatch(wl->input.dpy);
- if (!ret)
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement