[PATCH] mi: removed the invisible cursor sprite; use NullCursor instead.

Oliver McFadden oliver.mcfadden at nokia.com
Tue May 18 05:58:56 PDT 2010


On Tue, 2010-05-18 at 14:54 +0200, Vignatti Tiago (Nokia-D/Helsinki)
wrote:
> On Mon, May 17, 2010 at 06:43:54PM +0200, ext Keith Packard wrote:
> > On Mon, 17 May 2010 07:50:25 +0300, Oliver McFadden <oliver.mcfadden at nokia.com> wrote:
> > > Previously the cursor code would be called even with a "hidden" cursor.
> > > This was because the X server used an invisible 1x1 cursor sprite,
> > > rather than a NULL cursor.
> > > 
> > > This will help performance when XDefineCursor() is never called, and
> > > also when the cursor is hidden via XFixesHideCursor() as there are no
> > > damage events generated via the MI functions.
> > > 
> > > Note that this only applies for software cursors.
> > 
> > This comment seems confusing -- does this mean that the hardware
> > cursor path will need fixing too?
> 
> yeah, I thought a bit confusing as well.

I think Keith was referring to the "this only applies for SW cursors"
part of the message, though I could be wrong. Keith?

> I'd change the commit message for
> something like this:
> 
> ---
> [PATCH] mi, xfixes: do not damage screen when sw cursors are hidden
> 
> X server doesn't need to render and damage regions on screen when software
> cursors are hidden. This patch introduces a modification in XFixes by sending
> a nil cursor to mi when a hidden cursor is required.
> 
> A customized in-house benchmark shows 10% of FPS improvement when applying
> this patch -- no refs though. Sorry.
> ---

Anyway, I'm more concerned about the possibility of breaking the HW
cursor code at the moment. I will check it through with Coverity and see
if it spots any NULL derefs.

-- Oliver.



More information about the xorg-devel mailing list