[PATCH 00/15] weston scaling support

Alexander Larsson alexl at redhat.com
Thu May 23 04:46:57 PDT 2013



----- Original Message -----
> On Thu, 23 May 2013 10:55:08 +0200
> Alexander Larsson <alexl at redhat.com> wrote:
> 
> > On ons, 2013-05-22 at 20:36 -0500, Jason Ekstrand wrote:
> > 
> > 
> > > I hate to rain on the parade, but it's not going to be that simple.  I
> > > already tried adding a field to wl_resource and, as it currently
> > > stands, it causes major issues.  As a reminder, this is because
> > > wl_buffer has a wl_resource field which means that altering
> > > wl_resource breaks binary compatibility for EGL implementations.
> > >
> > > I've been trying to figure out how to do this with my java stuff and I
> > > really think adding a version flag to wl_resource is the way to do it.
> > > Unfortunately,  but it's not going to be easy.
> > 
> > Both wl_resource and wl_buffer are server internals though. And the
> > server API/ABI is not yet frozen. (In fact we just massively broke it.)
> > 
> > wl_buffer does appear in the client header, but just as a declaration,
> > not the type definition.
> > 
> > So, this doesn't necessary seem that hard.
> 
> libEGL contains server-side code, too, for implementing
> EGL_WL_bind_wayland_display.
> 
> http://cgit.freedesktop.org/mesa/mesa/tree/src/egl/wayland/wayland-drm/wayland-drm.h
> 
> struct wl_drm_buffer will break.

Ugh, this is really bad. It also uses the scanner and code generator to create wl_interface
structs like wl_drm_interface. This means we can't extend wl_interface, etc, so we can't
add a "since version" field to wl_message. So, how can we fix the crash in the server
when it gets sent a new request that it doesn't yet handle?





More information about the wayland-devel mailing list