On Mon, Jan 19, 2015 at 08:40:24AM -0800, Matt Roper wrote: > On Mon, Jan 19, 2015 at 11:04:04AM +0000, Chris Wilson wrote: > > On Mon, Jan 19, 2015 at 11:51:43AM +0100, Daniel Vetter wrote: > > > There's also an issue in (most) X drivers which exaberates this > > > issues: When changing the cursor buffer the X cursor code does a a) > > > disable cursor b) update cursor image c) enable cursor cycle. > > > > Notably not -intel on which the bug has been observed. And more > > importantly, the slow downs don't seem to correlate with cursor change, > > just cursor movement. > > -Chris > > > > -- > > Chris Wilson, Intel Open Source Technology Centre > > It seems that the simple fix for this case (movement only) is to just > skip the prepare_fb/cleanup_fb calls (and the associated vblank wait) in > the transitional plane helper when newfb == oldfb. I just posted a > small patch that makes that change (and solves the cursor lag for me). > > This won't solve the case if userspace uses a different framebuffer for > each update (while trying to update faster than the refresh rate). Is > there any existing userspace that behaves this way that we can test > with? -modesetting and say moving the cursor in/out of an xterm very fast. or similarly with diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index 5b45618..3873893 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -5182,7 +5182,6 @@ sna_cursors_init(ScreenPtr screen, struct sna *sna) cursor_info->MaxWidth = sna->cursor.max_size; cursor_info->MaxHeight = sna->cursor.max_size; cursor_info->Flags = (HARDWARE_CURSOR_TRUECOLOR_AT_8BPP | - HARDWARE_CURSOR_UPDATE_UNHIDDEN | HARDWARE_CURSOR_ARGB); cursor_info->RealizeCursor = sna_realize_cursor; -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx