On 26.12.2015 04:08, Keith Packard wrote: > Michel Dänzer <mic...@daenzer.net> writes: > >> From: Michel Dänzer <michel.daen...@amd.com> >> >> 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. > In the only example of this that I can find (in xf86-video-omap), the > driver just has to call xf86CrtcTransformCursorPos itself. Sure, the driver has to call xf86CrtcTransformCursorPos itself, because xf86_crtc_set_cursor_position doesn't do it in the driverIsPerformingTransform case. The problem fixed by this patch is that xf86_crtc_set_cursor hides the cursor in cases where it should be visible, because it uses the untransformed coordinates to check whether the cursor is visible in the driverIsPerformingTransform case. Note that the fix only applies the transform for the visibility check in this case, not to the coordinates passed to the driver. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel