[PATCH 0/5] Switching from HW cursor to SW cursor
Michel Dänzer
michel at daenzer.net
Tue Dec 22 20:03:55 PST 2015
On 23.12.2015 01:22, Keith Packard wrote:
> Michel Dänzer <michel at daenzer.net> writes:
>
>> This series addresses two cases in which a HW cursor cannot be used:
>>
>> 1) When a transform is active on a CRTC. Patch 2 adds a CRTC hook
>> use_hw_cursor_argb, which allows drivers to force SW cursor on a
>> per-CRTC basis. However, this hook alone could only force SW cursor
>> as of the next time a new cursor image is set. The
>> xf86CursorResetCursor function added in patch 1 allows switching
>> between HW cursor and SW cursor immediately.
>
> Hrm. This code is really hard to review because there are now two pairs
> of functions checking whether software or hardware cursors should be
> used -- the per-screen UseHWCursor/UseHWCursorARGB and the per-crtc ones
> you're adding here. As a suggestion, would it be reasonable to use the
> existing UseHWCursor/UseHWCursorARGB as proxies for the per-crtc
> functions when the per-crtc ones don't exist?
Not sure what you're asking for. It's different layers: The new per-CRTC
use_hw_cursor(_argb) hooks are used by xf86_use_hw_cursor(_argb), which
are implementations of the per-screen UseHWCursor(ARGB) hooks. Without
this patch, there's no way for a driver using the code in xf86Cursors.c
to force an SW cursor. Of course, a driver could provide its own
implementation of all per-screen HW cursor hooks for this purpose, but
that seems overkill.
> Would that let use remove all of the SW cursor checking code from
> xf86Cursor.c, and simply use the code from xf86Cursors.c?
I don't see how it could.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the xorg-devel
mailing list