E (wl_drm): Update drm module for most recent wayland git. Use
authorChristopher Michael <cpmichael1@comcast.net>
Tue, 24 Apr 2012 17:24:59 +0000 (17:24 +0000)
committerChristopher Michael <cpmichael1@comcast.net>
Tue, 24 Apr 2012 17:24:59 +0000 (17:24 +0000)
wl_signal_add, remove timestamps where not used anymore, make use of
wayland 'serial'. Fix destroy_listeners for new wayland code.

SVN revision: 70446

src/modules/wl_drm/e_drm_output.c
src/modules/wl_drm/e_mod_main.c
src/modules/wl_drm/e_mod_main.h
src/modules/wl_drm/e_sprite.c

index 5578fe2..b42bb6b 100644 (file)
@@ -66,7 +66,7 @@ e_drm_output_set_modes(E_Drm_Compositor *dcomp)
 }
 
 EINTERN void 
-e_drm_output_scanout_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__)
+e_drm_output_scanout_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__)
 {
    E_Drm_Output *output;
 
@@ -79,7 +79,7 @@ e_drm_output_scanout_buffer_destroy(struct wl_listener *listener, struct wl_reso
 }
 
 EINTERN void 
-e_drm_output_pending_scanout_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__)
+e_drm_output_pending_scanout_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__)
 {
    E_Drm_Output *output;
 
@@ -307,8 +307,8 @@ e_drm_output_prepare_scanout_surface(E_Drm_Output *output)
    output->pending_scanout_buffer = es->buffer;
    output->pending_scanout_buffer->busy_count++;
 
-   wl_list_insert(output->pending_scanout_buffer->resource.destroy_listener_list.prev, 
-                  &output->pending_scanout_buffer_destroy_listener.link);
+   wl_signal_add(&output->pending_scanout_buffer->resource.destroy_signal,
+                  &output->pending_scanout_buffer_destroy_listener);
 
    pixman_region32_fini(&es->damage);
    pixman_region32_init(&es->damage);
@@ -470,8 +470,8 @@ e_drm_output_prepare_overlay_surface(E_Output *base, E_Surface *es, pixman_regio
    s->sh = (box->y2 - box->y1) << 16;
    pixman_region32_fini(&srect);
 
-   wl_list_insert(es->buffer->resource.destroy_listener_list.prev, 
-                  &s->pending_destroy_listener.link);
+   wl_signal_add(&es->buffer->resource.destroy_signal,
+                  &s->pending_destroy_listener);
 
    return 0;
 }
index a665b45..5c5a65c 100644 (file)
@@ -293,8 +293,8 @@ _cb_drm_page_flip(int fd __UNUSED__, unsigned int frame __UNUSED__, unsigned int
      {
         doutput->scanout_buffer = doutput->pending_scanout_buffer;
         wl_list_remove(&doutput->pending_scanout_buffer_destroy_listener.link);
-        wl_list_insert(doutput->scanout_buffer->resource.destroy_listener_list.prev, 
-                       &doutput->scanout_buffer_destroy_listener.link);
+        wl_signal_add(&doutput->scanout_buffer->resource.destroy_signal,
+                       &doutput->scanout_buffer_destroy_listener);
         doutput->pending_scanout_buffer = NULL;
         doutput->fs_surf_fb_id = doutput->pending_fs_surf_fb_id;
         doutput->pending_fs_surf_fb_id = 0;
@@ -327,8 +327,8 @@ _cb_drm_vblank(int fd __UNUSED__, unsigned int frame __UNUSED__, unsigned int se
    if (es->pending_surface)
      {
         wl_list_remove(&es->pending_destroy_listener.link);
-        wl_list_insert(es->pending_surface->buffer->resource.destroy_listener_list.prev, 
-                       &es->destroy_listener.link);
+        wl_signal_add(&es->pending_surface->buffer->resource.destroy_signal,
+                       &es->destroy_listener);
         es->surface = es->pending_surface;
         es->pending_surface = NULL;
         es->fb_id = es->pending_fb_id;
@@ -587,9 +587,9 @@ _output_create(E_Drm_Compositor *dcomp, drmModeRes *res, drmModeConnector *conn,
 
    wl_list_insert(dcomp->base.outputs.prev, &output->base.link);
 
-   output->scanout_buffer_destroy_listener.func = 
+   output->scanout_buffer_destroy_listener.notify = 
      e_drm_output_scanout_buffer_destroy;
-   output->pending_scanout_buffer_destroy_listener.func = 
+   output->pending_scanout_buffer_destroy_listener.notify = 
      e_drm_output_pending_scanout_buffer_destroy;
 
    output->pending_fs_surf_fb_id = 0;
index ee7a62f..698c3e7 100644 (file)
@@ -180,8 +180,8 @@ EINTERN void e_tty_destroy(E_Tty *et);
 EINTERN int e_drm_output_subpixel_convert(int value);
 EINTERN Eina_Bool e_drm_output_add_mode(E_Drm_Output *output, drmModeModeInfo *info);
 EINTERN void e_drm_output_set_modes(E_Drm_Compositor *dcomp);
-EINTERN void e_drm_output_scanout_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__);
-EINTERN void e_drm_output_pending_scanout_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__);
+EINTERN void e_drm_output_scanout_buffer_destroy(struct wl_listener *listener, void *data);
+EINTERN void e_drm_output_pending_scanout_buffer_destroy(struct wl_listener *listener, void *data);
 EINTERN void e_drm_output_repaint(E_Output *base, pixman_region32_t *damage);
 EINTERN void e_drm_output_destroy(E_Output *base);
 EINTERN void e_drm_output_assign_planes(E_Output *base);
index 90a3749..fa33d1c 100644 (file)
@@ -2,8 +2,8 @@
 #include "e_mod_main.h"
 
 /* local function prototypes */
-static void _e_sprite_cb_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__);
-static void _e_sprite_cb_pending_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__);
+static void _e_sprite_cb_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__);
+static void _e_sprite_cb_pending_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__);
 
 /* local variables */
 /* wayland interfaces */
@@ -30,8 +30,8 @@ e_sprite_create(E_Drm_Compositor *dcomp, drmModePlane *plane)
    es->pending_surface = NULL;
    es->fb_id = 0;
    es->pending_fb_id = 0;
-   es->destroy_listener.func = _e_sprite_cb_buffer_destroy;
-   es->pending_destroy_listener.func = _e_sprite_cb_pending_buffer_destroy;
+   es->destroy_listener.notify = _e_sprite_cb_buffer_destroy;
+   es->pending_destroy_listener.notify = _e_sprite_cb_pending_buffer_destroy;
    es->format_count = plane->count_formats;
    memcpy(es->formats, plane->formats, 
           plane->count_formats * sizeof(plane->formats[0]));
@@ -66,7 +66,7 @@ e_sprite_crtc_supported(E_Output *output, unsigned int supported)
 
 /* local functions */
 static void 
-_e_sprite_cb_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__)
+_e_sprite_cb_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__)
 {
    E_Sprite *es;
 
@@ -77,7 +77,7 @@ _e_sprite_cb_buffer_destroy(struct wl_listener *listener, struct wl_resource *re
 }
 
 static void 
-_e_sprite_cb_pending_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__)
+_e_sprite_cb_pending_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__)
 {
    E_Sprite *es;