X server testing

Simon Thum simon.thum at gmx.de
Tue Jun 23 05:15:28 PDT 2009


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


More information about the xorg-devel mailing list