hi
I have actually fixed this issue sometime ago.
diff -Nuarp xf86-video-sis-0.10.7/src/sis310_accel.c
xf86-video-sis-0.10.7.exautsdfs/src/sis310_accel.c
--- xf86-video-sis-0.10.7/src/sis310_accel.c 2012-06-06 16:47:03.000000000 +0800
+++ xf86-video-sis-0.10.7.exautsdfs/src/sis310_accel.c 2012-09-15
13:42:59.535124999 +0800
@@ -1874,7 +1874,7 @@ SiSUploadToScreen(PixmapPtr pDst, int x,
{
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 @@ SiSUploadToScreen(PixmapPtr pDst, int x,
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,9 +1953,8 @@ SiSDownloadFromScreen(PixmapPtr pSrc, in
{
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;
(pSiS->SyncAccel)(pScrn);
@@ -1964,7 +1963,8 @@ SiSDownloadFromScreen(PixmapPtr pSrc, in
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;
}
reference page(chinese)
http://shuizhuyuanluo.blog.163.com/blog/static/7781812012811102554972/
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1066464
Title:
SiS driver crashes Xserver with EXA acceleration
To manage notifications about this bug go to:
https://bugs.launchpad.net/xserver-xorg-video-sis/+bug/1066464/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs