Simon Thum wrote: > Peter Hutterer wrote: >> On Mon, Jun 22, 2009 at 07:13:12PM -0400, Thomas Jaeger wrote: >>> typedef void (*PointerAccelSchemeProc)( >>> DeviceIntPtr /*pDev*/, >>> int /*first_valuator*/, >>> int /*num_valuators*/, >>> int* /*valuators*/, >>> float* /*x_frac*/, >>> float* /*y_frac*/, >>> int /*evtime*/ >>> ); >> >> punting this to simon (cc'd) > A good idea at first glance; I aligned to the scheme modifying valuators > and remainder in-place simply because that is how it was done. But, > aside for being cleaner in some way, what does it buy us? It's also > harder to optimize the no-op case since you always need to copy back. Crap, I missed you could still do in-place of course, so this last thing is not a valid argument. Still, I'd prefer a more general solution as advertised in the previous mail.
Also, if we have a pointer to axes we could strip first_valuator as we could as well modify the pointer and num_valuators. But TBH I don't even know first_valuators raison d'ĂȘtre. I was able to uncover 2(!) obscure sites (vuidFlushAbsEvents in sun_mouse.c and one in jstk.c) where it could get non-zero under circumstances. In contrast, the server is stuffed with non-obvious logic(to me, at least) depending on it. So if we get out of this in-place business, this would be worthwhile to unify, e.g. in xf86PostMotionEventP. Cheers, Simon _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
