rpms/xorg-x11-drv-i810/devel intel-2.1.1-fix-xv-compiz.patch, 1.1, 1.2 xorg-x11-drv-i810.spec, 1.66, 1.67

Dave Airlie (airlied) fedora-extras-commits at redhat.com
Wed Oct 17 00:42:25 UTC 2007


Author: airlied

Update of /cvs/pkgs/rpms/xorg-x11-drv-i810/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3830

Modified Files:
	intel-2.1.1-fix-xv-compiz.patch xorg-x11-drv-i810.spec 
Log Message:
* Wed Oct 17 2007 Dave Airlie <airlied at redhat.com> 2.1.1-7
- intel-2.1.1-fix-xv-compiz.patch - update to not crash is we can't get RAM


intel-2.1.1-fix-xv-compiz.patch:

Index: intel-2.1.1-fix-xv-compiz.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-i810/devel/intel-2.1.1-fix-xv-compiz.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- intel-2.1.1-fix-xv-compiz.patch	17 Oct 2007 00:04:45 -0000	1.1
+++ intel-2.1.1-fix-xv-compiz.patch	17 Oct 2007 00:42:22 -0000	1.2
@@ -1,9 +1,9 @@
 This is a pretty dirty hack which wastes RAM to allow textured xv adaptors to run inside compiz with XAA enabled.. my cpu doesn't have the power to hit this fullscreen and lots of memcpy ensues due to lack of zero copy tfp with XAA. but what the hey...
 
-diff -ur xf86-video-intel-2.1.1.orig/src/i830.h xf86-video-intel-2.1.1/src/i830.h
---- xf86-video-intel-2.1.1.orig/src/i830.h	2007-08-14 15:58:29.000000000 +1100
-+++ xf86-video-intel-2.1.1/src/i830.h	2007-10-17 10:40:04.000000000 +1100
-@@ -294,6 +294,7 @@
+diff -up xf86-video-intel-2.1.1/src/i830.h.xv-compiz xf86-video-intel-2.1.1/src/i830.h
+--- xf86-video-intel-2.1.1/src/i830.h.xv-compiz	2007-08-14 14:58:29.000000000 +1000
++++ xf86-video-intel-2.1.1/src/i830.h	2007-10-17 09:59:06.000000000 +1000
+@@ -294,6 +294,7 @@ typedef struct _I830Rec {
     /* separate small buffers for kernels that support this */
     i830_memory *cursor_mem_classic[2];
     i830_memory *cursor_mem_argb[2];
@@ -11,7 +11,7 @@
     i830_memory *xaa_scratch;
     i830_memory *xaa_scratch_2;
  #ifdef I830_USE_EXA
-@@ -303,6 +304,8 @@
+@@ -303,6 +304,8 @@ typedef struct _I830Rec {
     /* Regions allocated either from the above pools, or from agpgart. */
     I830RingBuffer *LpRing;
  
@@ -20,42 +20,18 @@
  #ifdef I830_XV
     /* For Xvideo */
     i830_memory *overlay_regs;
-diff -ur xf86-video-intel-2.1.1.orig/src/i830_memory.c xf86-video-intel-2.1.1/src/i830_memory.c
---- xf86-video-intel-2.1.1.orig/src/i830_memory.c	2007-08-14 15:58:29.000000000 +1100
-+++ xf86-video-intel-2.1.1/src/i830_memory.c	2007-10-17 09:45:59.000000000 +1100
-@@ -225,6 +225,7 @@
-     }
-     pI830->front_buffer = NULL;
-     pI830->front_buffer_2 = NULL;
-+    pI830->xaaxv_scratch = NULL;
-     pI830->xaa_scratch = NULL;
-     pI830->xaa_scratch_2 = NULL;
-     pI830->exa_offscreen = NULL;
-@@ -1129,6 +1130,15 @@
- #endif /* I830_USE_EXA */
- 
-     if (!pI830->noAccel && !pI830->useEXA) {
-+
-+        pI830->xaaxv_scratch =
-+	  i830_allocate_memory(pScrn, "XAA Textured video scratch", (1920 * 1088 * 2),
-+			       GTT_PAGE_SIZE, 0);
-+	if (pI830->xaaxv_scratch == NULL) {
-+ 	    xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-+		       "Failed to allocate XAA XV scratch pixmap space\n");
-+	}
-+
- 	pI830->xaa_scratch =
- 	    i830_allocate_memory(pScrn, "xaa scratch", MAX_SCRATCH_BUFFER_SIZE,
- 				 GTT_PAGE_SIZE, 0);
-diff -ur xf86-video-intel-2.1.1.orig/src/i830_video.c xf86-video-intel-2.1.1/src/i830_video.c
---- xf86-video-intel-2.1.1.orig/src/i830_video.c	2007-10-17 10:48:57.000000000 +1100
-+++ xf86-video-intel-2.1.1/src/i830_video.c	2007-10-17 10:50:04.000000000 +1100
-@@ -1002,8 +1002,14 @@
+diff -up xf86-video-intel-2.1.1/src/i830_video.c.xv-compiz xf86-video-intel-2.1.1/src/i830_video.c
+--- xf86-video-intel-2.1.1/src/i830_video.c.xv-compiz	2007-10-17 09:59:06.000000000 +1000
++++ xf86-video-intel-2.1.1/src/i830_video.c	2007-10-17 10:15:33.000000000 +1000
+@@ -1002,8 +1002,17 @@ I830StopVideo(ScrnInfoPtr pScrn, pointer
      I830PortPrivPtr pPriv = (I830PortPrivPtr) data;
      I830Ptr pI830 = I830PTR(pScrn);
  
 -    if (pPriv->textured)
 +    if (pPriv->textured) {
++	if (!pI830->xaaxv_scratch)
++		return;
++
 +	if (pI830->xaaxv_pixmap) {
 +		(*pScrn->pScreen->ModifyPixmapHeader)(pI830->xaaxv_pixmap, 0, 0, 0, 0, 0, pI830->xaaxv_orig_pixmap_ptr);
 +		pI830->xaaxv_pixmap = NULL;
@@ -66,10 +42,13 @@
  
      OVERLAY_DEBUG("I830StopVideo\n");
  
-@@ -2489,10 +2495,13 @@
+@@ -2489,10 +2498,16 @@ I830PutImage(ScrnInfoPtr pScrn,
      if (((char *)pPixmap->devPrivate.ptr < (char *)pI830->FbBase) ||
  	((char *)pPixmap->devPrivate.ptr >= (char *)pI830->FbBase +
  	 pI830->FbMapSize)) {
++	if (!pI830->xaaxv_scratch)
++		return BadAlloc;
++
 +	pI830->xaaxv_orig_pixmap_ptr = pPixmap->devPrivate.ptr;
 +	pI830->xaaxv_pixmap = pPixmap;
 +	if (!(*pScreen->ModifyPixmapHeader)(pPixmap, 0, 0, 0, 0, 0, pI830->FbBase + pI830->xaaxv_scratch->offset))
@@ -81,3 +60,30 @@
      }
  
      if (!pPriv->textured) {
+diff -up xf86-video-intel-2.1.1/src/i830_memory.c.xv-compiz xf86-video-intel-2.1.1/src/i830_memory.c
+--- xf86-video-intel-2.1.1/src/i830_memory.c.xv-compiz	2007-08-14 14:58:29.000000000 +1000
++++ xf86-video-intel-2.1.1/src/i830_memory.c	2007-10-17 09:59:06.000000000 +1000
+@@ -225,6 +225,7 @@ i830_reset_allocations(ScrnInfoPtr pScrn
+     }
+     pI830->front_buffer = NULL;
+     pI830->front_buffer_2 = NULL;
++    pI830->xaaxv_scratch = NULL;
+     pI830->xaa_scratch = NULL;
+     pI830->xaa_scratch_2 = NULL;
+     pI830->exa_offscreen = NULL;
+@@ -1129,6 +1130,15 @@ i830_allocate_2d_memory(ScrnInfoPtr pScr
+ #endif /* I830_USE_EXA */
+ 
+     if (!pI830->noAccel && !pI830->useEXA) {
++
++        pI830->xaaxv_scratch =
++	  i830_allocate_memory(pScrn, "XAA Textured video scratch", (1920 * 1088 * 2),
++			       GTT_PAGE_SIZE, 0);
++	if (pI830->xaaxv_scratch == NULL) {
++ 	    xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
++		       "Failed to allocate XAA XV scratch pixmap space\n");
++	}
++
+ 	pI830->xaa_scratch =
+ 	    i830_allocate_memory(pScrn, "xaa scratch", MAX_SCRATCH_BUFFER_SIZE,
+ 				 GTT_PAGE_SIZE, 0);


Index: xorg-x11-drv-i810.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-i810/devel/xorg-x11-drv-i810.spec,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- xorg-x11-drv-i810.spec	17 Oct 2007 00:04:45 -0000	1.66
+++ xorg-x11-drv-i810.spec	17 Oct 2007 00:42:22 -0000	1.67
@@ -7,7 +7,7 @@
 Summary:   Xorg X11 i810 video driver(s)
 Name:      xorg-x11-drv-i810
 Version:   2.1.1
-Release:   6%{?dist}
+Release:   7%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -113,6 +113,9 @@
 %{_libdir}/libI810XvMC.so
 
 %changelog
+* Wed Oct 17 2007 Dave Airlie <airlied at redhat.com> 2.1.1-7
+- intel-2.1.1-fix-xv-compiz.patch - update to not crash is we can't get RAM
+
 * Wed Oct 17 2007 Dave Airlie <airlied at redhat.com> 2.1.1-6
 - intel-2.1.1-fix-xv-compiz.patch - Real dirty hack to allocate 4MB of RAM
   for textured Xv to use as an offscreen pixmap so xv actually works under




More information about the fedora-extras-commits mailing list