gnu: xf86-video-sis: Update to 0.10.8.
* gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch, gnu/packages/patches/xf86-video-sis-update-api.patch: Delete files. * gnu-system.am (dist_patch_DATA): Remove them. * gnu/packages/xorg.scm (xf86-video-sis): Update to 0.10.8. [source]: Remove patches.
This commit is contained in:
		
							parent
							
								
									fc1172f787
								
							
						
					
					
						commit
						5f59f5103a
					
				
					 4 changed files with 2 additions and 179 deletions
				
			
		| 
						 | 
					@ -773,8 +773,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch	\
 | 
					  gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch	\
 | 
				
			||||||
  gnu/packages/patches/xf86-video-nv-remove-mibstore.patch	\
 | 
					  gnu/packages/patches/xf86-video-nv-remove-mibstore.patch	\
 | 
				
			||||||
  gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch	\
 | 
					  gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch	\
 | 
				
			||||||
  gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch	\
 | 
					 | 
				
			||||||
  gnu/packages/patches/xf86-video-sis-update-api.patch		\
 | 
					 | 
				
			||||||
  gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch	\
 | 
					  gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch	\
 | 
				
			||||||
  gnu/packages/patches/xf86-video-tga-remove-mibstore.patch	\
 | 
					  gnu/packages/patches/xf86-video-tga-remove-mibstore.patch	\
 | 
				
			||||||
  gnu/packages/patches/xf86-video-trident-remove-mibstore.patch	\
 | 
					  gnu/packages/patches/xf86-video-trident-remove-mibstore.patch	\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,45 +0,0 @@
 | 
				
			||||||
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;
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,128 +0,0 @@
 | 
				
			||||||
Update xf86-video-sis to the current xorg-server API.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Copied from: http://pkgs.fedoraproject.org/cgit/xorg-x11-drv-sis.git/tree/sis-0.10.7-git.patch?id=2705859f0ddc7ee7a3b07f21b442ebeab5df1276
 | 
					 | 
				
			||||||
Commit log: http://pkgs.fedoraproject.org/cgit/xorg-x11-drv-sis.git/log/sis-0.10.7-git.patch
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Patch by Adam Jackson <ajax@redhat.com>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/src/sis.h b/src/sis.h
 | 
					 | 
				
			||||||
index 46fca2a..20e6134 100644
 | 
					 | 
				
			||||||
--- a/src/sis.h
 | 
					 | 
				
			||||||
+++ b/src/sis.h
 | 
					 | 
				
			||||||
@@ -75,7 +75,6 @@
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 #include "compiler.h"
 | 
					 | 
				
			||||||
 #include "xf86Pci.h"
 | 
					 | 
				
			||||||
-#include "xf86Priv.h"
 | 
					 | 
				
			||||||
 #include "xf86_OSproc.h"
 | 
					 | 
				
			||||||
 #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
 | 
					 | 
				
			||||||
 #include "xf86Resources.h"
 | 
					 | 
				
			||||||
diff --git a/src/sis_driver.c b/src/sis_driver.c
 | 
					 | 
				
			||||||
index 61e8075..0fd83d7 100644
 | 
					 | 
				
			||||||
--- a/src/sis_driver.c
 | 
					 | 
				
			||||||
+++ b/src/sis_driver.c
 | 
					 | 
				
			||||||
@@ -57,7 +57,6 @@
 | 
					 | 
				
			||||||
 #include "fb.h"
 | 
					 | 
				
			||||||
 #include "micmap.h"
 | 
					 | 
				
			||||||
 #include "mipointer.h"
 | 
					 | 
				
			||||||
-#include "mibstore.h"
 | 
					 | 
				
			||||||
 #include "edid.h"
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 #define SIS_NEED_inSISREG
 | 
					 | 
				
			||||||
@@ -94,6 +93,10 @@
 | 
					 | 
				
			||||||
 #include "dri.h"
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+#ifndef DEFAULT_DPI
 | 
					 | 
				
			||||||
+#define DEFAULT_DPI 96
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 /*
 | 
					 | 
				
			||||||
  * LookupWindow was removed with video abi 11.
 | 
					 | 
				
			||||||
  */
 | 
					 | 
				
			||||||
@@ -7344,7 +7347,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
 | 
					 | 
				
			||||||
         if(pSiSEnt->MapCountIOBase) {
 | 
					 | 
				
			||||||
 	    pSiSEnt->MapCountIOBase--;
 | 
					 | 
				
			||||||
 	    if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) {
 | 
					 | 
				
			||||||
+#ifndef XSERVER_LIBPCIACCESS
 | 
					 | 
				
			||||||
 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
 | 
					 | 
				
			||||||
+#else
 | 
					 | 
				
			||||||
+	        pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 		pSiSEnt->IOBase = NULL;
 | 
					 | 
				
			||||||
 		pSiSEnt->MapCountIOBase = 0;
 | 
					 | 
				
			||||||
 		pSiSEnt->forceUnmapIOBase = FALSE;
 | 
					 | 
				
			||||||
@@ -7355,7 +7362,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
 | 
					 | 
				
			||||||
 	if(pSiSEnt->MapCountIOBaseDense) {
 | 
					 | 
				
			||||||
 	    pSiSEnt->MapCountIOBaseDense--;
 | 
					 | 
				
			||||||
 	    if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) {
 | 
					 | 
				
			||||||
+#ifndef XSERVER_LIBPCIACCESS
 | 
					 | 
				
			||||||
 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
 | 
					 | 
				
			||||||
+#else
 | 
					 | 
				
			||||||
+		pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 		pSiSEnt->IOBaseDense = NULL;
 | 
					 | 
				
			||||||
 		pSiSEnt->MapCountIOBaseDense = 0;
 | 
					 | 
				
			||||||
 		pSiSEnt->forceUnmapIOBaseDense = FALSE;
 | 
					 | 
				
			||||||
@@ -7366,7 +7377,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
 | 
					 | 
				
			||||||
 	if(pSiSEnt->MapCountFbBase) {
 | 
					 | 
				
			||||||
 	    pSiSEnt->MapCountFbBase--;
 | 
					 | 
				
			||||||
 	    if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) {
 | 
					 | 
				
			||||||
+#ifndef XSERVER_LIBPCIACCESS
 | 
					 | 
				
			||||||
 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
 | 
					 | 
				
			||||||
+#else
 | 
					 | 
				
			||||||
+		pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 		pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL;
 | 
					 | 
				
			||||||
 		pSiSEnt->MapCountFbBase = 0;
 | 
					 | 
				
			||||||
 		pSiSEnt->forceUnmapFbBase = FALSE;
 | 
					 | 
				
			||||||
@@ -7376,13 +7391,25 @@ SISUnmapMem(ScrnInfoPtr pScrn)
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
     } else {
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
+#ifndef XSERVER_LIBPCIACCESS
 | 
					 | 
				
			||||||
 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
 | 
					 | 
				
			||||||
+#else
 | 
					 | 
				
			||||||
+	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 	pSiS->IOBase = NULL;
 | 
					 | 
				
			||||||
 #ifdef __alpha__
 | 
					 | 
				
			||||||
+#ifndef XSERVER_LIBPCIACCESS
 | 
					 | 
				
			||||||
 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
 | 
					 | 
				
			||||||
+#else
 | 
					 | 
				
			||||||
+	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 	pSiS->IOBaseDense = NULL;
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
+#ifndef XSERVER_LIBPCIACCESS
 | 
					 | 
				
			||||||
 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
 | 
					 | 
				
			||||||
+#else
 | 
					 | 
				
			||||||
+	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 	pSiS->FbBase = pSiS->RealFbBase = NULL;
 | 
					 | 
				
			||||||
 #ifdef SISDUALHEAD
 | 
					 | 
				
			||||||
     }
 | 
					 | 
				
			||||||
@@ -8859,7 +8886,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL)
 | 
					 | 
				
			||||||
     }
 | 
					 | 
				
			||||||
     pSiS->SiSFastVidCopyDone = TRUE;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-    miInitializeBackingStore(pScreen);
 | 
					 | 
				
			||||||
     xf86SetBackingStore(pScreen);
 | 
					 | 
				
			||||||
     xf86SetSilkenMouse(pScreen);
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -9352,7 +9378,14 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if(doit) {
 | 
					 | 
				
			||||||
 	sigstate = xf86BlockSIGIO();
 | 
					 | 
				
			||||||
-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
 | 
					 | 
				
			||||||
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18
 | 
					 | 
				
			||||||
+        {
 | 
					 | 
				
			||||||
+            double dx = x, dy = y;
 | 
					 | 
				
			||||||
+            miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, NULL, NULL);
 | 
					 | 
				
			||||||
+            x = (int)dx;
 | 
					 | 
				
			||||||
+            y = (int)dy;
 | 
					 | 
				
			||||||
+        }
 | 
					 | 
				
			||||||
+#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
 | 
					 | 
				
			||||||
         {
 | 
					 | 
				
			||||||
             double dx = x, dy = y;
 | 
					 | 
				
			||||||
             miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);
 | 
					 | 
				
			||||||
| 
						 | 
					@ -3157,7 +3157,7 @@ Xorg X server.")
 | 
				
			||||||
(define-public xf86-video-sis
 | 
					(define-public xf86-video-sis
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "xf86-video-sis")
 | 
					    (name "xf86-video-sis")
 | 
				
			||||||
    (version "0.10.7")
 | 
					    (version "0.10.8")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin
 | 
					      (origin
 | 
				
			||||||
        (method url-fetch)
 | 
					        (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -3167,9 +3167,7 @@ Xorg X server.")
 | 
				
			||||||
               ".tar.bz2"))
 | 
					               ".tar.bz2"))
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
          (base32
 | 
					          (base32
 | 
				
			||||||
           "1l0w84x39gq4y9j81dny9r6rma1xkqvxpsavpkd8h7h8panbcbmy"))
 | 
					           "1znkqwdyd6am23xbsfjzamq125j5rrylg5mzqky4scv9gxbz5wy8"))))
 | 
				
			||||||
        (patches (list (search-patch "xf86-video-sis-update-api.patch")
 | 
					 | 
				
			||||||
                       (search-patch "xf86-video-sis-fix-exa-crash.patch")))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("mesa" ,mesa)
 | 
					    (inputs `(("mesa" ,mesa)
 | 
				
			||||||
              ("xf86dgaproto" ,xf86dgaproto)
 | 
					              ("xf86dgaproto" ,xf86dgaproto)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue