Re: [PATCH xserver RFC v2] glamor: fix wrong offset on composite rectangles

2016-04-15 Thread Adam Jackson
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

2016-04-15 Thread Olivier Fourdan
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

2016-03-30 Thread Olivier Fourdan
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

2016-03-19 Thread Olivier Fourdan
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