5 #include <wayland-client.h>
6 #include <wayland-tbm-client.h>
7 #include <tbm_surface.h>
8 #include <wayland-tbm-client-protocol.h>
11 main(int argc, char *argv[])
13 struct wl_display *dpy = NULL;
14 const char *dpy_name = NULL;
15 struct wayland_tbm_client *tbm_client = NULL;
16 tbm_surface_h tbm_surf = NULL;
17 struct wl_buffer *buf = NULL;
22 printf("[APP] Connect to %s\n", dpy_name);
25 dpy = wl_display_connect(dpy_name);
27 printf("[APP] failed to connect server\n");
31 tbm_client = wayland_tbm_client_init(dpy);
33 printf("[APP] failed to client init\n");
37 tbm_surf = tbm_surface_create(100, 100, TBM_FORMAT_ABGR8888);
39 printf("[APP] failed to tbm_surface_create\n");
43 buf = wayland_tbm_client_create_buffer(tbm_client, tbm_surf);
45 printf("[APP] failed to wayland_tbm_client_create_buffer\n");
48 wl_display_flush(dpy);
50 tbm_surface_destroy(tbm_surf);
51 wayland_tbm_client_destroy_buffer(tbm_client, buf);
56 tbm_surf = tbm_surface_create(200, 200, TBM_FORMAT_NV12);
58 printf("[APP] failed to tbm_surface_create\n");
62 buf = wayland_tbm_client_create_buffer(tbm_client, tbm_surf);
64 printf("[APP] failed to wayland_tbm_client_create_buffer\n");
67 wl_display_flush(dpy);
70 if (0 > wl_display_dispatch(dpy))
77 if (buf) wayland_tbm_client_destroy_buffer(tbm_client, buf);
78 if (tbm_surf) tbm_surface_destroy(tbm_surf);
79 if (tbm_client) wayland_tbm_client_deinit(tbm_client);
80 if (dpy) wl_display_disconnect(dpy);