On Tue, Jun 18, 2013 at 8:41 AM, Richard Sandiford <rsand...@linux.vnet.ibm.com> wrote: > swrastGetImage rounds the pitch up to 4 bytes for compatibility reasons > that are explained in drisw_glx.c:bytes_per_line, so drisw_update_tex_buffer > must do the same. > > Fixes window skew seen while running firefox over vnc on a 16-bit screen. > > Signed-off-by: Richard Sandiford <rsand...@linux.vnet.ibm.com> > --- > src/gallium/state_trackers/dri/sw/drisw.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/state_trackers/dri/sw/drisw.c > b/src/gallium/state_trackers/dri/sw/drisw.c > index 7a5f797..f9fddf7 100644 > --- a/src/gallium/state_trackers/dri/sw/drisw.c > +++ b/src/gallium/state_trackers/dri/sw/drisw.c > @@ -265,8 +265,9 @@ drisw_update_tex_buffer(struct dri_drawable *drawable, > /* Copy the Drawable content to the mapped texture buffer */ > get_image(dPriv, x, y, w, h, map); > > - /* The pipe transfer has a pitch rounded up to the nearest 64 pixels. */ > - ximage_stride = w * cpp; > + /* The pipe transfer has a pitch rounded up to the nearest 64 pixels. > + get_image() has a patch rounded up to 4 bytes. */
"has a pitch" Other than that: Reviewed-by: Stéphane Marchesin <marc...@chromium.org> > + ximage_stride = ((w * cpp) + 3) & -4; > for (line = h-1; line; --line) { > memmove(&map[line * transfer->stride], > &map[line * ximage_stride], > -- > 1.7.11.7 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev