On Die, 2011-05-03 at 11:45 +0200, Marcin Slusarz wrote: > On Tue, May 03, 2011 at 09:40:55AM +0200, Michel Dänzer wrote: > > On Mon, 2011-05-02 at 21:26 +0200, Marcin Slusarz wrote: > > > On Mon, May 02, 2011 at 08:57:25AM +0200, Michel Dänzer wrote: > > > > On Mon, 2011-05-02 at 00:01 +0200, Marcin Slusarz wrote: > > > > > We need cursor data to land in destination buffer before > > > > > drmModeSetCursor. > > > > > It fixes "cursor lag" at least on nv50. > > > > > --- > > > > > src/gallium/state_trackers/xorg/xorg_crtc.c | 1 + > > > > > 1 files changed, 1 insertions(+), 0 deletions(-) > > > > > > > > > > diff --git a/src/gallium/state_trackers/xorg/xorg_crtc.c > > > > > b/src/gallium/state_trackers/xorg/xorg_crtc.c > > > > > index b8d9474..e8ca631 100644 > > > > > --- a/src/gallium/state_trackers/xorg/xorg_crtc.c > > > > > +++ b/src/gallium/state_trackers/xorg/xorg_crtc.c > > > > > @@ -247,6 +247,7 @@ crtc_load_cursor_argb_ga3d(xf86CrtcPtr crtc, > > > > > CARD32 * image) > > > > > 64, 64, (void*)image, 64 * 4, 0, 0); > > > > > ms->ctx->transfer_unmap(ms->ctx, transfer); > > > > > ms->ctx->transfer_destroy(ms->ctx, transfer); > > > > > + ms->ctx->flush(ms->ctx, NULL); > > > > > > > > > > if (crtc->cursor_shown) > > > > > drmModeSetCursor(ms->fd, crtcp->drm_crtc->crtc_id, > > > > > > > > To guarantee that the data lands before drmModeSetCursor, you'd have to > > > > take a fence from the flush and finish that as well. > > > > > > > > > > Thanks! > > > > > > Updated patch below. > > > > Actually, it looks like an incremental patch against the previous > > version. A real updated patch would be better. > > Yes. I forgot to join them. Sorry. > > > > > > + ctx->transfer_unmap(ctx, transfer); > > > + ctx->transfer_destroy(ctx, transfer); > > > + ctx->flush(ctx, &fence); > > > + > > > + if (fence) { > > > + screen->fence_finish(screen, fence, PIPE_TIMEOUT_INFINITE); > > > + screen->fence_reference(screen, &fence, NULL); > > > + } > > > > This looks good. > > Thanks. > > New patch below.
Pushed, thanks. -- Earthling Michel Dänzer | http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev