[Mesa-stable] [Mesa-dev] [PATCH] swrast: Fix the coordinates passed to _mesa_regions_overlap()

Matt Turner mattst88 at gmail.com
Mon Nov 23 20:29:01 PST 2015


On Mon, Nov 23, 2015 at 5:35 PM, Anuj Phogat <anuj.phogat at gmail.com> wrote:
> Cc: "11.1" <mesa-stable at lists.freedesktop.org>
> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
> ---
>  src/mesa/swrast/s_copypix.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/swrast/s_copypix.c b/src/mesa/swrast/s_copypix.c
> index 0dbccc0..31e1d3d 100644
> --- a/src/mesa/swrast/s_copypix.c
> +++ b/src/mesa/swrast/s_copypix.c
> @@ -53,8 +53,10 @@ regions_overlap(GLint srcx, GLint srcy,
>                  GLfloat zoomX, GLfloat zoomY)
>  {
>     if (zoomX == 1.0F && zoomY == 1.0F) {
> -      return _mesa_regions_overlap(srcx, srcy, srcx + width, srcy + height,
> -                                   dstx, dsty, dstx + width, dsty + height);
> +      return _mesa_regions_overlap(srcx, srcy,
> +                                   srcx + width - 1, srcy + height - 1,
> +                                   dstx, dsty,
> +                                   dstx + width - 1, dsty + height - 1);
>     }

What problem is this fixing? Reading the implementation of
_mesa_regions_overlap(), it seems that the arguments are inclusive, so
subtracting 1 shouldn't be necessary (or correct).

The other two call sites (src/mesa/drivers/dri/i965/intel_blit.c and
src/mesa/state_tracker/st_cb_drawpixels.c) also don't seem to subtract
1.


More information about the mesa-stable mailing list