Re: [PATCH] Xephyr: Paint with subimage for non-Glamor & non-XSHM case

2015-09-21 Thread Adam Jackson
On Thu, 2015-05-21 at 16:13 -0700, Ian Scott wrote:
> This improves the case for when we paint an area without SHM.
> xcb_image_subimage() is used to create a subimage for the damaged area, which
> is converted to native format if necessary.
> 
> Signed-off-by: Ian Scott 

Merged:

remote: I: patch #41994 updated using rev 
9414ba3683231afe9bee0f941c53998dea218615.
remote: I: patch #45454 updated using rev 
a6c0564f7f00aa66fd19180f75b6b0990f06.
remote: I: patch #50227 updated using rev 
a579e6ba7763749d51d16e3a54941e06939df07a.
remote: I: 3 patch(es) updated to state Accepted.
To ssh://git.freedesktop.org/git/xorg/xserver
   1f915e8..a579e6b  master -> master

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Xephyr: Paint with subimage for non-Glamor non-XSHM case

2015-06-22 Thread Chris Wilson
On Thu, May 21, 2015 at 04:13:12PM -0700, Ian Scott wrote:
 This improves the case for when we paint an area without SHM.

Improves? Xephyr is very much broken since

commit a2b73da78de4e627965213d24a6c33f243a60eb6
Author: Julien Cristau jcris...@debian.org
Date:   Sun Jun 20 00:05:40 2010 +0100

 xcb_image_subimage() is used to create a subimage for the damaged area, which
 is converted to native format if necessary.
 
 Signed-off-by: Ian Scott ian.sc...@arteris.com
 ---
  hw/kdrive/ephyr/hostx.c | 10 ++
  1 file changed, 6 insertions(+), 4 deletions(-)
 
 diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c
 index dc265d5..3914f73 100644
 --- a/hw/kdrive/ephyr/hostx.c
 +++ b/hw/kdrive/ephyr/hostx.c
 @@ -1039,11 +1039,13 @@ hostx_paint_rect(KdScreenInfo *screen,
sx, sy, dx, dy, width, height, FALSE);
  }
  else {
 -/* This is slow and could be done better */

This comment is still valid. :(

xcb_image_subimage() does a very slow (get_pixel/put_pixel) copy even
when it could just create a view in the native case.

 -xcb_image_t *img = xcb_image_native (HostX.conn, scrpriv-ximg, 1);
 -xcb_image_put(HostX.conn, scrpriv-win, HostX.gc, img, 0, 0, 0);
 -if (scrpriv-ximg != img)
 +xcb_image_t *subimg = xcb_image_subimage(scrpriv-ximg, sx, sy,
 + width, height, 0, 0, 0);
 +xcb_image_t *img = xcb_image_native(HostX.conn, subimg, 1);
 +xcb_image_put(HostX.conn, scrpriv-win, HostX.gc, img, dx, dy, 0);
 +if (subimg != img)
  xcb_image_destroy(img);
 +xcb_image_destroy(subimg);

Nevertheless,
Reviewed-by: Chris Wilson ch...@chris-wilson.co.uk
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Xephyr: Paint with subimage for non-Glamor non-XSHM case

2015-06-22 Thread Ian Scott

On 05/21/2015 04:13 PM, Ian Scott wrote:

This improves the case for when we paint an area without SHM.
xcb_image_subimage() is used to create a subimage for the damaged area, which
is converted to native format if necessary.


Ping? Please let me know if I need to resend.

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel