Mesa (master): glx/drisw: fix shm put image fallback
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Feb 25 01:38:37 UTC 2020
Module: Mesa
Branch: master
Commit: 84395190ec8cae6158737777c8def7cc3304eb3f
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=84395190ec8cae6158737777c8def7cc3304eb3f
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Feb 24 10:29:46 2020 +1000
glx/drisw: fix shm put image fallback
The fallback to the non-shm put path used the wrong width here
as the pixmap is still allocated in a shared segment, so the
width needs to reflect that.
Fixes: 02c3dad0f3b4 ("Call shmget() with permission 0600 instead of 0777")
Reviewed-by: Michel Dänzer <mdaenzer at redhat.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3823>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3823>
---
src/glx/drisw_glx.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
index dfa3218d759..985e258663e 100644
--- a/src/glx/drisw_glx.c
+++ b/src/glx/drisw_glx.c
@@ -193,14 +193,13 @@ swrastXPutImage(__DRIdrawable * draw, int op,
ximage->bytes_per_line = stride ? stride : bytes_per_line(w * ximage->bits_per_pixel, 32);
ximage->data = data;
+ ximage->width = ximage->bytes_per_line / ((ximage->bits_per_pixel + 7)/ 8);
+ ximage->height = h;
+
if (pdp->shminfo.shmid >= 0) {
- ximage->width = ximage->bytes_per_line / ((ximage->bits_per_pixel + 7)/ 8);
- ximage->height = h;
XShmPutImage(dpy, drawable, gc, ximage, srcx, srcy, x, y, w, h, False);
XSync(dpy, False);
} else {
- ximage->width = w;
- ximage->height = h;
XPutImage(dpy, drawable, gc, ximage, srcx, srcy, x, y, w, h);
}
ximage->data = NULL;
More information about the mesa-commit
mailing list