Hi, Sorry for not responding earlier.. There are some objections from my side: 1. These functions only cover the driver-independent lookups. But for the wl_egl_pixmap there was a need to access driver_private: http://cgit.freedesktop.org/~bnf/libva/tree/va/wayland/va_wayland.c?h=wayland Thats not covered by this patch, so the private header would still be needed.
Note: Of course thats a hack, as commented in the code. I rather think of a drm-specific vfunc now, that allows set/get by drm name. But having that in the public wayland-egl header is not an option, since that should be driver/platform independent. So we need to share something just between mesa and libva somehow. 2. We dont like the wayland-egl.h much, if we could drop it easily, we would do it. So expanding it has always a bitter taste, and I'd like not to add more stuff, thats hard to drop later, if possible. Unfortunately I dont have a better answer now, which is why the header was copied over. 2012/2/23 Zhao, Halley <halley.z...@intel.com>: > Resend the patch, it is required to enable libva over wayland. > > > > Ian/Eric: > > Could you help to review this patch? > > > > == patch description ==: > > wl_egl_window/wl_egl_pixmap are implemented in mesa, however these drawables > can also be update in video/camera modules. > > An example is that libva also manage buffer object for it, so the attributes > of the drawable should be accessed outside of mesa. > > With this patch, we can remove the hack to copy wayland-egl-priv.h from mesa > to libva. > > > > Libva related changes are here for your reference: > https://gitorious.org/libva-wayland/libva-wayland/commits/wayland > > It bases on Benjamin’s work to enable libva for wayland: > http://cgit.freedesktop.org/~bnf/libva/log/?h=wayland > > > > == patch details ==: > > > > src/egl/wayland/wayland-egl/wayland-egl.c | 29 > +++++++++++++++++++++++++++++ > > 1 files changed, 29 insertions(+), 0 deletions(-) > > > > diff --git a/src/egl/wayland/wayland-egl/wayland-egl.c > b/src/egl/wayland/wayland-egl/wayland-egl.c > > index e950b4a..b7efab8 100644 > > --- a/src/egl/wayland/wayland-egl/wayland-egl.c > > +++ b/src/egl/wayland/wayland-egl/wayland-egl.c > > @@ -81,3 +81,32 @@ wl_egl_pixmap_create_buffer(struct wl_egl_pixmap > *egl_pixmap) > > { > > return egl_pixmap->buffer; > > } > > + > > +WL_EGL_EXPORT void > > +wl_egl_window_get_size(struct wl_egl_window *egl_window, > > + int *width, int *height) > > +{ > > + if (width) > > + *width = egl_window->width; > > + if (height) > > + *height = egl_window->height; > > +} > > + > > +WL_EGL_EXPORT struct wl_surface* > > +wl_egl_window_get_surface(struct wl_egl_window *win) > > +{ > > + if (win) > > + return win->surface; > > + else > > + return NULL; > > +} > > + > > +WL_EGL_EXPORT void > > +wl_egl_pixmap_get_size(struct wl_egl_pixmap *egl_pixmap, > > + int *width, int *height) > > +{ > > + if (width) > > + *width = egl_pixmap->width; > > + if (height) > > + *height = egl_pixmap->height; > > +} > > -- > > 1.7.5.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev