modesetting: HWCursor and rotation
Michel Dänzer
michel at daenzer.net
Mon Jul 9 07:43:02 UTC 2018
On 2018-07-06 04:23 PM, Carsten Behling wrote:
>
> [...] I get e.g. negative cursor postion in x/y if the HW cursor buffer
> is moved in display rotation of 180 degrees towards the lower/right corner.
>
> The cursor move is ignored in this case:
>
> static void
> drmmode_set_cursor_position(xf86CrtcPtr crtc, int x, int y)
> {
> drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
> drmmode_ptr drmmode = drmmode_crtc->drmmode;
>
> drmModeMoveCursor(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id, x, y);
> }
>
> So the upper left corner of the default cursor arrow never pointed to lower
> right positions that are beyond screen positions 64/64
> (Note: on 180 degree rotation we are on the upper left corner of the
> framebuffer).
>
> So my question is :
>
> Where should that be fixed?:
>
> a) Should my DRM driver allow to move the HW cursor buffer partially
> outside the frambuffer?
Yes. That's how this is working with other drivers.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the xorg
mailing list