On Wed, 2009-05-20 at 08:20 +0200, Michel Dänzer wrote:
> On Tue, 2009-05-19 at 10:09 -0700, Eric Anholt wrote:
> > commit 34660fd2df5d61b77ed7041d32ac29053fc94f5a
> > Author: Eric Anholt <e...@anholt.net>
> > Date:   Fri May 15 23:21:05 2009 -0700
> > 
> >     Only sync XV to vblank when drawing to the frontbuffer.
> >     
> >     This fixes emitting syncs to random pipes with boxes bigger than that
> >     pipe's vertical, leading to GPU hangs.
> >     
> >     Bug #21738
> > 
> > diff --git a/src/i830_video.c b/src/i830_video.c
> > index 1c3a5b7..6fec8ff 100644
> > --- a/src/i830_video.c
> > +++ b/src/i830_video.c
> > @@ -2495,13 +2495,15 @@ I830PutImage(ScrnInfoPtr pScrn,
> >          if (sync) {
> >         BoxPtr box;
> >         int y1, y2;
> > -            int pipe, event, load_scan_lines_pipe;
> > -
> > -       if (pI830->use_drm_mode)
> > -           pipe = drmmode_get_pipe_from_crtc_id(pI830->bufmgr, crtc);
> > -       else {
> > -           I830CrtcPrivatePtr intel_crtc = crtc->driver_private;
> > -           pipe = intel_crtc->pipe;
> > +       int pipe = -1, event, load_scan_lines_pipe;
> > +
> > +       if (pPixmap != pScreen->GetScreenPixmap(pScreen)) {
> > +           if (pI830->use_drm_mode)
> > +               pipe = drmmode_get_pipe_from_crtc_id(pI830->bufmgr, crtc);
> > +           else {
> > +               I830CrtcPrivatePtr intel_crtc = crtc->driver_private;
> > +               pipe = intel_crtc->pipe;
> > +           }
> 
> This seems to do the opposite of what the commit message says, i.e. only
> sync when not drawing to the front buffer.

Thanks.  Somehow both keithp and I missed it.

-- 
Eric Anholt
e...@anholt.net                         eric.anh...@intel.com


Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Reply via email to