Re: [PATCH xserver RFC v2] glamor: fix wrong offset on composite rectangles
On Fri, 2016-04-15 at 04:57 -0400, Olivier Fourdan wrote: > Hi all, > > Gentle reminder, could someone please review or give some feedback on > this patch? > > If this is not the right fix, just let me know. Yet the problem is > real and reproducible (see the reproducer I attached in the bug) remote: I: patch #77243 updated using rev 8437955515ad59b0bfcd6598248e7f0ffc706370. remote: I: 1 patch(es) updated to state Accepted. To ssh://git.freedesktop.org/git/xorg/xserver e8e5d83..8437955 master -> master - ajax ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver RFC v2] glamor: fix wrong offset on composite rectangles
Hi all, Gentle reminder, could someone please review or give some feedback on this patch? If this is not the right fix, just let me know. Yet the problem is real and reproducible (see the reproducer I attached in the bug) Thanks Olivier - Original Message - > Hi all, > > Anyone to give some feedback on this patch? > > It fixes bug #94568 for me (there is a simple reproducer there) and I have > not noticed any ill effect in my (limited) testing here. > > I tried to see if rendercheck would detect such an issue but apprently it > doesn't, even with a patch in render check to map its window farther from > (0,0). > > But the good point is rendercheck doesn't seem to report any regression with > this patch either (but again, I am not sure I can trust rendercheck on > that). > > Cheers, > Olivier > > - Original Message - > > When using PictOpSrc, the destination is wrongly shifted back to (0, 0). > > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94568 > > > > Signed-off-by: Olivier Fourdan> > --- > > v2: Cleaup-up, move relevant code where it's actually used; > > Note: I am not entirely confident with this patch, it fixes the issue > > for me but I am definitely not certain it's correct... > > > > glamor/glamor_compositerects.c | 18 +- > > 1 file changed, 9 insertions(+), 9 deletions(-) > > > > diff --git a/glamor/glamor_compositerects.c > > b/glamor/glamor_compositerects.c > > index 885a6c0..199e627 100644 > > --- a/glamor/glamor_compositerects.c > > +++ b/glamor/glamor_compositerects.c > > @@ -107,7 +107,6 @@ glamor_composite_rectangles(CARD8 op, > > struct glamor_pixmap_private *priv; > > pixman_region16_t region; > > pixman_box16_t *boxes; > > -int dst_x, dst_y; > > int num_boxes; > > PicturePtr source = NULL; > > Bool need_free_region = FALSE; > > @@ -225,17 +224,18 @@ glamor_composite_rectangles(CARD8 op, > > RegionExtents()->x2, RegionExtents()->y2, > > RegionNumRects()); > > > > -glamor_get_drawable_deltas(dst->pDrawable, pixmap, _x, _y); > > -pixman_region_translate(, dst_x, dst_y); > > - > > -DEBUGF("%s: pixmap +(%d, %d) extents (%d, %d),(%d, %d)\n", > > - __FUNCTION__, dst_x, dst_y, > > - RegionExtents()->x1, RegionExtents()->y1, > > - RegionExtents()->x2, RegionExtents()->y2); > > - > > boxes = pixman_region_rectangles(, _boxes); > > if (op == PictOpSrc || op == PictOpClear) { > > CARD32 pixel; > > +int dst_x, dst_y; > > + > > +glamor_get_drawable_deltas(dst->pDrawable, pixmap, _x, > > _y); > > +pixman_region_translate(, dst_x, dst_y); > > + > > +DEBUGF("%s: pixmap +(%d, %d) extents (%d, %d),(%d, %d)\n", > > + __FUNCTION__, dst_x, dst_y, > > + RegionExtents()->x1, RegionExtents()->y1, > > + RegionExtents()->x2, RegionExtents()->y2); > > > > if (op == PictOpClear) > > pixel = 0; > > -- > > 2.5.0 > > > > ___ > > xorg-devel@lists.x.org: X.Org development > > Archives: http://lists.x.org/archives/xorg-devel > > Info: https://lists.x.org/mailman/listinfo/xorg-devel > ___ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: https://lists.x.org/mailman/listinfo/xorg-devel ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH xserver RFC v2] glamor: fix wrong offset on composite rectangles
Hi all, Anyone to give some feedback on this patch? It fixes bug #94568 for me (there is a simple reproducer there) and I have not noticed any ill effect in my (limited) testing here. I tried to see if rendercheck would detect such an issue but apprently it doesn't, even with a patch in render check to map its window farther from (0,0). But the good point is rendercheck doesn't seem to report any regression with this patch either (but again, I am not sure I can trust rendercheck on that). Cheers, Olivier - Original Message - > When using PictOpSrc, the destination is wrongly shifted back to (0, 0). > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94568 > > Signed-off-by: Olivier Fourdan> --- > v2: Cleaup-up, move relevant code where it's actually used; > Note: I am not entirely confident with this patch, it fixes the issue > for me but I am definitely not certain it's correct... > > glamor/glamor_compositerects.c | 18 +- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/glamor/glamor_compositerects.c b/glamor/glamor_compositerects.c > index 885a6c0..199e627 100644 > --- a/glamor/glamor_compositerects.c > +++ b/glamor/glamor_compositerects.c > @@ -107,7 +107,6 @@ glamor_composite_rectangles(CARD8 op, > struct glamor_pixmap_private *priv; > pixman_region16_t region; > pixman_box16_t *boxes; > -int dst_x, dst_y; > int num_boxes; > PicturePtr source = NULL; > Bool need_free_region = FALSE; > @@ -225,17 +224,18 @@ glamor_composite_rectangles(CARD8 op, > RegionExtents()->x2, RegionExtents()->y2, > RegionNumRects()); > > -glamor_get_drawable_deltas(dst->pDrawable, pixmap, _x, _y); > -pixman_region_translate(, dst_x, dst_y); > - > -DEBUGF("%s: pixmap +(%d, %d) extents (%d, %d),(%d, %d)\n", > - __FUNCTION__, dst_x, dst_y, > - RegionExtents()->x1, RegionExtents()->y1, > - RegionExtents()->x2, RegionExtents()->y2); > - > boxes = pixman_region_rectangles(, _boxes); > if (op == PictOpSrc || op == PictOpClear) { > CARD32 pixel; > +int dst_x, dst_y; > + > +glamor_get_drawable_deltas(dst->pDrawable, pixmap, _x, _y); > +pixman_region_translate(, dst_x, dst_y); > + > +DEBUGF("%s: pixmap +(%d, %d) extents (%d, %d),(%d, %d)\n", > + __FUNCTION__, dst_x, dst_y, > + RegionExtents()->x1, RegionExtents()->y1, > + RegionExtents()->x2, RegionExtents()->y2); > > if (op == PictOpClear) > pixel = 0; > -- > 2.5.0 > > ___ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: https://lists.x.org/mailman/listinfo/xorg-devel ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
[PATCH xserver RFC v2] glamor: fix wrong offset on composite rectangles
When using PictOpSrc, the destination is wrongly shifted back to (0, 0). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94568 Signed-off-by: Olivier Fourdan--- v2: Cleaup-up, move relevant code where it's actually used; Note: I am not entirely confident with this patch, it fixes the issue for me but I am definitely not certain it's correct... glamor/glamor_compositerects.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/glamor/glamor_compositerects.c b/glamor/glamor_compositerects.c index 885a6c0..199e627 100644 --- a/glamor/glamor_compositerects.c +++ b/glamor/glamor_compositerects.c @@ -107,7 +107,6 @@ glamor_composite_rectangles(CARD8 op, struct glamor_pixmap_private *priv; pixman_region16_t region; pixman_box16_t *boxes; -int dst_x, dst_y; int num_boxes; PicturePtr source = NULL; Bool need_free_region = FALSE; @@ -225,17 +224,18 @@ glamor_composite_rectangles(CARD8 op, RegionExtents()->x2, RegionExtents()->y2, RegionNumRects()); -glamor_get_drawable_deltas(dst->pDrawable, pixmap, _x, _y); -pixman_region_translate(, dst_x, dst_y); - -DEBUGF("%s: pixmap +(%d, %d) extents (%d, %d),(%d, %d)\n", - __FUNCTION__, dst_x, dst_y, - RegionExtents()->x1, RegionExtents()->y1, - RegionExtents()->x2, RegionExtents()->y2); - boxes = pixman_region_rectangles(, _boxes); if (op == PictOpSrc || op == PictOpClear) { CARD32 pixel; +int dst_x, dst_y; + +glamor_get_drawable_deltas(dst->pDrawable, pixmap, _x, _y); +pixman_region_translate(, dst_x, dst_y); + +DEBUGF("%s: pixmap +(%d, %d) extents (%d, %d),(%d, %d)\n", + __FUNCTION__, dst_x, dst_y, + RegionExtents()->x1, RegionExtents()->y1, + RegionExtents()->x2, RegionExtents()->y2); if (op == PictOpClear) pixel = 0; -- 2.5.0 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel