Fix X server crash when sis driver is used with EXA acceleration. Source: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/xserver-xorg-video-sis/trusty/revision/24/debian/patches/fix-exa-crash.diff The patch was originally proposed by nihui: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-sis/+bug/1066464/comments/13 --- a/src/sis310_accel.c +++ b/src/sis310_accel.c @@ -1874,7 +1874,7 @@ { ScrnInfoPtr pScrn = xf86ScreenToScrn(pDst->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); - unsigned char *dst = pDst->devPrivate.ptr; + unsigned char *dst = ((unsigned char *) pSiS->FbBase) + exaGetPixmapOffset(pDst); int dst_pitch = exaGetPixmapPitch(pDst); (pSiS->SyncAccel)(pScrn); @@ -1882,7 +1882,7 @@ if(pDst->drawable.bitsPerPixel < 8) return FALSE; - dst += (x * pDst->drawable.bitsPerPixel / 8) + (y * src_pitch); + dst += (x * pDst->drawable.bitsPerPixel / 8) + (y * dst_pitch); while(h--) { SiSMemCopyToVideoRam(pSiS, dst, (unsigned char *)src, (w * pDst->drawable.bitsPerPixel / 8)); @@ -1953,7 +1953,7 @@ { ScrnInfoPtr pScrn = xf86ScreenToScrn(pSrc->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); - unsigned char *src = pSrc->devPrivate.ptr; + unsigned char *src = ((unsigned char *) pSiS->FbBase) + exaGetPixmapOffset(pSrc); int src_pitch = exaGetPixmapPitch(pSrc); int size = src_pitch < dst_pitch ? src_pitch : dst_pitch; @@ -1964,7 +1964,7 @@ src += (x * pSrc->drawable.bitsPerPixel / 8) + (y * src_pitch); while(h--) { - SiSMemCopyFromVideoRam(pSiS, (unsigned char *)dst, src, size); + SiSMemCopyFromVideoRam(pSiS, (unsigned char *)dst, src, (w * pSrc->drawable.bitsPerPixel / 8)); src += src_pitch; dst += dst_pitch; } me='qt'>
path: root/gnu/packages/cross-base.scm
AgeCommit message (Expand)Author
2017-01-03gnu: Use hurd-triplet? to check if GNU/Hurd....Manolis Ragkousis
2016-12-07gnu: cross-base: Move phases to (gnu build cross-toolchain)....Ludovic Courtès
2016-12-07gnu: cross-base: Factorize list of cross environment variables....Ludovic Courtès
2016-12-07gnu: cross-kernel-headers: Remove propagated-inputs from xhurd-headers....Manolis Ragkousis
2016-12-07gnu: cross-base: Add i686-w64-mingw32 target....Jan Nieuwenhuizen
2016-11-06Merge branch 'master' into core-updatesMark H Weaver
2016-11-04gnu: cross-base: Remove exports of cross compilers....Ludovic Courtès
2016-11-04gnu: Remove '%final-inputs' references at the top level....Ludovic Courtès
2016-10-31gnu: cross-libc: Use the correct libc....Manolis Ragkousis
2016-10-31gnu: ld-wrapper-boot0: Work around strict evaluation of (%current-system)....Ludovic Courtès