[Mesa-stable] [Mesa-dev] [PATCH] i965: Don't bother to call blorp if the blit is zero-sized

Eric Engestrom eric.engestrom at intel.com
Mon Oct 1 16:24:14 UTC 2018


On Monday, 2018-10-01 11:04:09 +0200, Juan A. Suarez Romero wrote:
> On Tue, 2018-09-11 at 11:15 -0500, Jason Ekstrand wrote:
> > Cc: mesa-stable at lists.freedesktop.org
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107892
> > ---
> >  src/mesa/drivers/dri/i965/brw_meta_util.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> 
> This has been reviewed, but not pushed yet.
> 
> 
> 	J.A.
> 
> > diff --git a/src/mesa/drivers/dri/i965/brw_meta_util.c b/src/mesa/drivers/dri/i965/brw_meta_util.c
> > index 908b0989769..6714d96237c 100644
> > --- a/src/mesa/drivers/dri/i965/brw_meta_util.c
> > +++ b/src/mesa/drivers/dri/i965/brw_meta_util.c
> > @@ -247,6 +247,9 @@ brw_meta_mirror_clip_and_scissor(const struct gl_context *ctx,
> >                      clip_src_y1, clip_dst_y1, clip_dst_y0,
> >                      scaleY, false);
> >  
> > +   if (*dstX0 == *dstX1 || *dstY0 == *dstY1)
> > +      return true;

This comes right after this code (few lines above in the same function):

  float scaleX = (float) (*srcX1 - *srcX0) / (*dstX1 - *dstX0);
  float scaleY = (float) (*srcY1 - *srcY0) / (*dstY1 - *dstY0);

if *dstX0 == *dstX1, that would be a division by 0, so I don't think that
this new `if *dstX0 == *dstX1` is reachable (same for *dstY0 == *dstY1)

> > +
> >     /* Account for the fact that in the system framebuffer, the origin is at
> >      * the lower left.
> >      */
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-stable mailing list