Wayland-drm depends on callback functions of backend to create/destroy wl_buffer before, remove them now.
>From a1bbad6760af4d1c5237a2318a2e5f6f91a823fa Mon Sep 17 00:00:00 2001 From: Halley Zhao <halley.z...@intel.com> Date: Thu, 19 Apr 2012 17:35:27 +0800 Subject: [PATCH 3/3] remove previous craete/release_buffer implementation from dri --- src/egl/drivers/dri2/egl_dri2.c | 42 ----------------- src/egl/wayland/wayland-drm/wayland-drm.h | 6 --- .../egl/common/native_wayland_drm_bufmgr_helper.c | 48 -------------------- .../egl/common/native_wayland_drm_bufmgr_helper.h | 9 ---- src/gallium/state_trackers/egl/drm/native_drm.c | 2 - .../state_trackers/egl/wayland/native_drm.c | 2 - src/gallium/state_trackers/egl/x11/native_dri2.c | 2 - 7 files changed, 0 insertions(+), 111 deletions(-) diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index c6de687..98d4f42 100755 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -1260,50 +1260,8 @@ dri2_export_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, } #ifdef HAVE_WAYLAND_PLATFORM - -static void * -dri2_wl_reference_buffer(void *user_data, uint32_t name, - int32_t width, int32_t height, - uint32_t stride, uint32_t format) -{ - _EGLDisplay *disp = user_data; - struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); - __DRIimage *image; - int dri_format; - - switch (format) { - case WL_GBM_FORMAT_ARGB8888: - dri_format =__DRI_IMAGE_FORMAT_ARGB8888; - break; - case WL_GBM_FORMAT_XRGB8888: - dri_format = __DRI_IMAGE_FORMAT_XRGB8888; - break; - default: - return NULL; - } - - image = dri2_dpy->image->createImageFromName(dri2_dpy->dri_screen, - width, height, - dri_format, name, stride / 4, - NULL); - - return image; -} - -static void -dri2_wl_release_buffer(void *user_data, void *buffer) -{ - _EGLDisplay *disp = user_data; - __DRIimage *image = buffer; - struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); - - dri2_dpy->image->destroyImage(image); -} - static struct wayland_gbm_callbacks wl_gbm_callbacks = { .authenticate = NULL, - .reference_buffer = dri2_wl_reference_buffer, - .release_buffer = dri2_wl_release_buffer }; static EGLBoolean diff --git a/src/egl/wayland/wayland-drm/wayland-drm.h b/src/egl/wayland/wayland-drm/wayland-drm.h index 0904245..8bcd5aa 100755 --- a/src/egl/wayland/wayland-drm/wayland-drm.h +++ b/src/egl/wayland/wayland-drm/wayland-drm.h @@ -8,12 +8,6 @@ struct wl_gbm; struct wayland_gbm_callbacks { int (*authenticate)(void *user_data, uint32_t id); - - void *(*reference_buffer)(void *user_data, uint32_t name, - int32_t width, int32_t height, - uint32_t stride, uint32_t format); - - void (*release_buffer)(void *user_data, void *buffer); }; struct wl_gbm * diff --git a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.c b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.c index d35cf47..e7f963f 100644 --- a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.c +++ b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.c @@ -12,54 +12,6 @@ #include "native_wayland_drm_bufmgr_helper.h" -void * -egl_g3d_wl_gbm_helper_reference_buffer(void *user_data, uint32_t name, - int32_t width, int32_t height, - uint32_t stride, uint32_t format) -{ - struct native_display *ndpy = user_data; - struct pipe_resource templ; - struct winsys_handle wsh; - enum pipe_format pf; - - switch (format) { - case WL_GBM_FORMAT_ARGB8888: - pf = PIPE_FORMAT_B8G8R8A8_UNORM; - break; - case WL_GBM_FORMAT_XRGB8888: - pf = PIPE_FORMAT_B8G8R8X8_UNORM; - break; - default: - pf = PIPE_FORMAT_NONE; - break; - } - - if (pf == PIPE_FORMAT_NONE) - return NULL; - - memset(&templ, 0, sizeof(templ)); - templ.target = PIPE_TEXTURE_2D; - templ.format = pf; - templ.bind = PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW; - templ.width0 = width; - templ.height0 = height; - templ.depth0 = 1; - templ.array_size = 1; - - memset(&wsh, 0, sizeof(wsh)); - wsh.handle = name; - wsh.stride = stride; - - return ndpy->screen->resource_from_handle(ndpy->screen, &templ, &wsh); -} - -void -egl_g3d_wl_gbm_helper_unreference_buffer(void *user_data, void *buffer) -{ - struct pipe_resource *resource = buffer; - - pipe_resource_reference(&resource, NULL); -} struct pipe_resource * egl_g3d_wl_gbm_common_wl_buffer_get_resource(struct native_display *ndpy, diff --git a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.h b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.h index 4d9a41d..57867eb 100644 --- a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.h +++ b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.h @@ -27,15 +27,6 @@ #define _NATIVE_WAYLAND_GBM_BUFMGR_HELPER_H_ #include "wayland-drm.h" - -void * -egl_g3d_wl_gbm_helper_reference_buffer(void *user_data, uint32_t name, - int32_t width, int32_t height, - uint32_t stride, uint32_t format); - -void -egl_g3d_wl_gbm_helper_unreference_buffer(void *user_data, void *buffer); - struct pipe_resource * egl_g3d_wl_gbm_common_wl_buffer_get_resource(struct native_display *ndpy, struct wl_buffer *buffer); diff --git a/src/gallium/state_trackers/egl/drm/native_drm.c b/src/gallium/state_trackers/egl/drm/native_drm.c index 4138b6d..041a37a 100755 --- a/src/gallium/state_trackers/egl/drm/native_drm.c +++ b/src/gallium/state_trackers/egl/drm/native_drm.c @@ -199,8 +199,6 @@ drm_display_authenticate(void *user_data, uint32_t magic) static struct wayland_gbm_callbacks wl_gbm_callbacks = { drm_display_authenticate, - egl_g3d_wl_gbm_helper_reference_buffer, - egl_g3d_wl_gbm_helper_unreference_buffer }; static boolean diff --git a/src/gallium/state_trackers/egl/wayland/native_drm.c b/src/gallium/state_trackers/egl/wayland/native_drm.c index a96cca8..3d277fe 100755 --- a/src/gallium/state_trackers/egl/wayland/native_drm.c +++ b/src/gallium/state_trackers/egl/wayland/native_drm.c @@ -249,8 +249,6 @@ wayland_drm_display_authenticate(void *user_data, uint32_t magic) static struct wayland_gbm_callbacks wl_gbm_callbacks = { wayland_drm_display_authenticate, - egl_g3d_wl_gbm_helper_reference_buffer, - egl_g3d_wl_gbm_helper_unreference_buffer }; static boolean diff --git a/src/gallium/state_trackers/egl/x11/native_dri2.c b/src/gallium/state_trackers/egl/x11/native_dri2.c index 2c38938..bfc06fc 100755 --- a/src/gallium/state_trackers/egl/x11/native_dri2.c +++ b/src/gallium/state_trackers/egl/x11/native_dri2.c @@ -849,8 +849,6 @@ dri2_display_authenticate(void *user_data, uint32_t magic) static struct wayland_gbm_callbacks wl_gbm_callbacks = { dri2_display_authenticate, - egl_g3d_wl_gbm_helper_reference_buffer, - egl_g3d_wl_gbm_helper_unreference_buffer }; static boolean -- 1.7.5.4
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev