exaCopyNtoN calls driver Prepare/Done Copy with no Copy in between

Michel Dänzer michel at tungstengraphics.com
Mon Nov 17 00:46:01 PST 2008


On Mon, 2008-11-17 at 11:21 +1000, Dave Airlie wrote:
> >>>
> >>> I also see some from exaFillRegionTiled
> >>
> >> Sounds like maybe exaCopyNtoN and exaFillRegionTiled should bail early
> >> if nbox == 0. Or maybe that should really be done higher up, e.g. the
> >> damage layer could not call down unless really necessary.
> >
> > Okay one of them was from CopyNtoN getting nbox == 0, so I just made
> > it bail, simple patch so I checked it in.
> >
> > The other is from the tiled code doing the second pass for leftover areas.
> >
> > Initial patch is attached it just prechecks if the copies will be
> > needed and avoids them if they aren't, this one I thought
> > might need some review.
> >
> 
> Obligatory logic error.
> 
> Updated patch.

[...]

> +               if ((dstX < pBox[i].x2) || (dstY < pBox[i].y2))
> +                   more_copy = TRUE;
> +           }

You could add a break statement here, or maybe do these checks during
the initial copy loop.

Looks good to me otherwise.


-- 
Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer




More information about the xorg mailing list