On 26.12.2015 12:20, Keith Packard wrote: > Michel Dänzer <[email protected]> writes: >> On 26.12.2015 04:08, Keith Packard wrote: >>> Michel Dänzer <[email protected]> writes: >>> >>>> From: Michel Dänzer <[email protected]> >>>> >>>> Even if the driver is handling the transform, we still need to transform >>>> the cursor position for clipping, otherwise we may hide the HW cursor >>>> when the cursor is actually inside the area covered by the CRTC. >>> >>> I would expect that driverIsPerformingTransform would apply only to the >>> output path, and not to the cursor. >> >> If that was the case, xf86_crtc_set_cursor_position wouldn't check for >> driverIsPerformingTransform in the first place and would always >> transform the coordinates passed to the driver. > > Sorry, I wasn't clear -- I think the API is busted and we should fix it > so that the server always does the cursor transform instead of the > driver. > > Your patch was quite sensible, I'm just suggesting that a more complete > fix would be to make the X server do the whole job, instead of just the > clipping part.
I'm not sure that makes sense; e.g. it seems inconsistent with leaving the cursor image untransformed in the driverIsPerformingTransform case. It seems to me like the idea behind driverIsPerformingTransform was to leave all transformations to the driver/hardware. Aaron, what do you think? How does the driver you added this stuff for deal with the broken in_range handling? -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
