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