wl_tbm_set_buffer_transform(tbm_client->wl_tbm, wl_buffer, transform);
}
+void
+wayland_tbm_client_set_buffer_serial(struct wayland_tbm_client *tbm_client,
+ struct wl_buffer *wl_buffer, uint32_t serial)
+{
+ WL_TBM_RETURN_IF_FAIL(tbm_client != NULL);
+ WL_TBM_RETURN_IF_FAIL(wl_buffer != NULL);
+
+ wl_tbm_set_buffer_serial(tbm_client->wl_tbm, wl_buffer, serial);
+}
+
void *
wayland_tbm_client_get_bufmgr(struct wayland_tbm_client *tbm_client)
{
void
wayland_tbm_client_set_buffer_transform(struct wayland_tbm_client *tbm_client,
struct wl_buffer *buffer, int transform);
+void
+wayland_tbm_client_set_buffer_serial(struct wayland_tbm_client *tbm_client,
+ struct wl_buffer *buffer, uint32_t serial);
void *
wayland_tbm_client_get_bufmgr(struct wayland_tbm_client *tbm_client);
tbm_fd sync_timeline;
int transform;
+ uint32_t serial;
};
struct wayland_tbm_client_resource {
}
static void
+_wayland_tbm_server_impl_set_buffer_serial(struct wl_client *client,
+ struct wl_resource *wl_tbm,
+ struct wl_resource *wl_buffer,
+ uint32_t serial)
+{
+ WL_TBM_RETURN_IF_FAIL(wl_buffer != NULL);
+
+ if (wl_resource_instance_of(wl_buffer, &wl_buffer_interface,
+ &_wayland_tbm_buffer_impementation)) {
+ struct wayland_tbm_buffer *tbm_buffer;
+
+ tbm_buffer = (struct wayland_tbm_buffer *)
+ wl_resource_get_user_data(wl_buffer);
+ WL_TBM_RETURN_IF_FAIL(tbm_buffer != NULL);
+
+ tbm_buffer->serial = serial;
+ }
+}
+
+static void
_wayland_tbm_server_impl_destroy(struct wl_client *client,
struct wl_resource *wl_tbm)
{
_wayland_tbm_server_impl_create_surface_queue,
_wayland_tbm_server_impl_set_sync_timeline,
_wayland_tbm_server_impl_set_buffer_transform,
+ _wayland_tbm_server_impl_set_buffer_serial,
_wayland_tbm_server_impl_destroy
};
return 0;
}
+uint32_t
+wayland_tbm_server_buffer_get_buffer_serial(struct wl_resource *wl_buffer)
+{
+ WL_TBM_RETURN_VAL_IF_FAIL(wl_buffer != NULL, 0);
+
+ if (wl_resource_instance_of(wl_buffer, &wl_buffer_interface,
+ &_wayland_tbm_buffer_impementation)) {
+ struct wayland_tbm_buffer *tbm_buffer;
+
+ tbm_buffer = (struct wayland_tbm_buffer *)
+ wl_resource_get_user_data(wl_buffer);
+ WL_TBM_RETURN_VAL_IF_FAIL(tbm_buffer != NULL, 0);
+
+ return tbm_buffer->serial;
+ }
+
+ return 0;
+}
+
int
wayland_tbm_server_send_destroy_buffer(struct wl_resource *wl_tbm,
struct wl_resource *wl_buffer)
wl_tbm_send_destroy_buffer(wl_tbm, wl_buffer);
return 1;
-}
\ No newline at end of file
+}