On Fri, 2012-06-15 at 21:54 +1000, Christopher James Halse Rogers wrote: > On Fri, 2012-06-15 at 12:35 +0200, Michel Dänzer wrote: > > On Fre, 2012-06-15 at 19:01 +1000, Christopher James Halse Rogers > > wrote: > > > xwayland drivers need access to their screen private data to authenticate. > > > Now that drivers no longer have direct access to the global screen arrays, > > > this needs to be passed in as function context. The way it was working > > > was ugly, anyway. > > > > > > Signed-off-by: Christopher James Halse Rogers > > > <[email protected]> > > > --- > > > > > > This came up when I got around to fixing the nouveau xwayland patch review > > > comments; with things no longer meant to access the global xf86Screens > > > array > > > the authmagic callback needed some other way to access driver private > > > data. > > > > > > Nouveau patch using this follows; I'll send it upstream once this gets > > > applied somewhere. > > > > > > CCd to xorg-devel mainly for sanity review, but could be applied; as > > > Airlied > > > has pointed out, there's no particular reason for the xwayland branch to > > > diverge on core infrastructure. > > > > [...] > > > > > @@ -1202,9 +1215,17 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info) > > > cur_minor = 1; > > > } > > > > > > - if (info->version >= 5) { > > > + if (info->version >= 7) { > > > ds->AuthMagic = info->AuthMagic; > > > } > > > + else if (info->version >= 5) { > > > + /* > > > + * This cast is safe; if the driver has provided a V5 or V6 > > > InfoRec > > > + * then AuthMagic is of type DRI2LegacyAuthMagicProcPtr, and the > > > C > > > + * standard guarantees that we can typecast it back and call it. > > > + */ > > > + ds->LegacyAuthMagic = > > > (DRI2LegacyAuthMagicProcPtr)info->AuthMagic; > > > + } > > > > This is nifty, but it's an ABI break, as servers without this change > > will treat the version 7 AuthMagic field incorrectly. Wouldn't it be > > easier to add a second AuthMagic field at the end of version 7? > > The only way a driver would send a version 7 DRI2InfoPtr would be if it > were built against a server with this code, right? Are drivers generally > expected work against a server *older* than they were built against? > Bah. Yes, of course they are; that's needed for bisecting the X server at least.
Sorry, too much distro thinking :)
signature.asc
Description: This is a digitally signed message part
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
