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 <[email protected]> > > --- > > 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(®ion)->x2, RegionExtents(®ion)->y2, > > RegionNumRects(®ion)); > > > > - glamor_get_drawable_deltas(dst->pDrawable, pixmap, &dst_x, &dst_y); > > - pixman_region_translate(®ion, dst_x, dst_y); > > - > > - DEBUGF("%s: pixmap +(%d, %d) extents (%d, %d),(%d, %d)\n", > > - __FUNCTION__, dst_x, dst_y, > > - RegionExtents(®ion)->x1, RegionExtents(®ion)->y1, > > - RegionExtents(®ion)->x2, RegionExtents(®ion)->y2); > > - > > boxes = pixman_region_rectangles(®ion, &num_boxes); > > if (op == PictOpSrc || op == PictOpClear) { > > CARD32 pixel; > > + int dst_x, dst_y; > > + > > + glamor_get_drawable_deltas(dst->pDrawable, pixmap, &dst_x, > > &dst_y); > > + pixman_region_translate(®ion, dst_x, dst_y); > > + > > + DEBUGF("%s: pixmap +(%d, %d) extents (%d, %d),(%d, %d)\n", > > + __FUNCTION__, dst_x, dst_y, > > + RegionExtents(®ion)->x1, RegionExtents(®ion)->y1, > > + RegionExtents(®ion)->x2, RegionExtents(®ion)->y2); > > > > if (op == PictOpClear) > > pixel = 0; > > -- > > 2.5.0 > > > > _______________________________________________ > > [email protected]: X.Org development > > Archives: http://lists.x.org/archives/xorg-devel > > Info: https://lists.x.org/mailman/listinfo/xorg-devel > _______________________________________________ > [email protected]: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: https://lists.x.org/mailman/listinfo/xorg-devel _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
