Author: ijc
Date: 2006-10-24 15:57:47 -0400 (Tue, 24 Oct 2006)
New Revision: 3903

Modified:
   trunk/driver/xserver-xorg-video-ivtvdev/debian/changelog
   trunk/driver/xserver-xorg-video-ivtvdev/debian/patches/00_xorg_7_1
Log:
Update Xorg 7.1 patch to a working state.


Modified: trunk/driver/xserver-xorg-video-ivtvdev/debian/changelog
===================================================================
--- trunk/driver/xserver-xorg-video-ivtvdev/debian/changelog    2006-10-24 
14:45:18 UTC (rev 3902)
+++ trunk/driver/xserver-xorg-video-ivtvdev/debian/changelog    2006-10-24 
19:57:47 UTC (rev 3903)
@@ -1,4 +1,4 @@
-xserver-xorg-video-ivtvdev (0.10.6-1~unreleased) UNRELEASED; urgency=low
+xserver-xorg-video-ivtvdev (0.10.6-1~unreleased.1) UNRELEASED; urgency=low
 
   * First xserver-xorg-driver-ivtv release. (Closes: #380174)
 

Modified: trunk/driver/xserver-xorg-video-ivtvdev/debian/patches/00_xorg_7_1
===================================================================
--- trunk/driver/xserver-xorg-video-ivtvdev/debian/patches/00_xorg_7_1  
2006-10-24 14:45:18 UTC (rev 3902)
+++ trunk/driver/xserver-xorg-video-ivtvdev/debian/patches/00_xorg_7_1  
2006-10-24 19:57:47 UTC (rev 3903)
@@ -1,7 +1,7 @@
 Index: xserver-xorg-video-ivtvdev/src/ivtvdev.c
 ===================================================================
---- xserver-xorg-video-ivtvdev.orig/src/ivtvdev.c      2006-10-04 
06:51:59.000000000 +0100
-+++ xserver-xorg-video-ivtvdev/src/ivtvdev.c   2006-10-04 21:53:57.000000000 
+0100
+--- xserver-xorg-video-ivtvdev.orig/src/ivtvdev.c      2006-10-04 
21:55:19.000000000 +0100
++++ xserver-xorg-video-ivtvdev/src/ivtvdev.c   2006-10-24 20:44:28.000000000 
+0100
 @@ -5,13 +5,14 @@
   *         Michel D�nzer, <[EMAIL PROTECTED]>
   */
@@ -18,16 +18,15 @@
  
  #include "mipointer.h"
  #include "mibstore.h"
-@@ -47,7 +48,7 @@
-       {-1, -1, RES_UNDEFINED}
- };
+@@ -19,6 +20,7 @@
+ #include "colormapst.h"
+ #include "xf86cmap.h"
+ #include "shadow.h"
++#include "shadowfb.h"
  
--#define DEBUG 0
-+#define DEBUG 1
- 
- #if DEBUG
- # define TRACE_ENTER(str)       ErrorF("ivtv: " str " %d\n",pScrn->scrnIndex)
-@@ -78,14 +79,14 @@
+ /* for visuals */
+ #include "fb.h"
+@@ -78,14 +80,14 @@
   */
  static int pix24bpp = 0;
  
@@ -44,7 +43,31 @@
        IVTVDEV_DRIVER_NAME,
  #if 0
        "driver for linux framebuffer devices",
-@@ -134,7 +135,7 @@
+@@ -109,6 +111,11 @@
+ 
+ /* -------------------------------------------------------------------- */
+ 
++const char *IVTVDevshadowFBSymbols[] = {
++    "ShadowFBInit",
++    NULL
++};
++
+ static const char *fbSymbols[] = {
+       "fbScreenInit",
+       "fbPictureInit",
+@@ -117,11 +124,8 @@
+ 
+ static const char *shadowSymbols[] = {
+       "shadowAdd",
+-      "shadowAlloc",
+       "shadowInit",
+       "shadowSetup",
+-      "shadowUpdatePacked",
+-      "shadowUpdateRotatePacked",
+       NULL
+ };
+ 
+@@ -134,11 +138,11 @@
        MODULEVENDORSTRING,
        MODINFOSTRING1,
        MODINFOSTRING2,
@@ -53,16 +76,52 @@
        IVTVDEV_MAJOR_VERSION, IVTVDEV_MINOR_VERSION, 6,
        ABI_CLASS_VIDEODRV,
        ABI_VIDEODRV_VERSION,
-@@ -169,6 +170,8 @@
-       int nbox = REGION_NUM_RECTS(damage);
-       BoxPtr pbox = REGION_RECTS(damage);
+-      NULL,
++      MOD_CLASS_VIDEODRV,
+       {0, 0, 0, 0}
+ };
  
-+      ErrorF("%s", __FUNCTION__);
+@@ -151,7 +155,8 @@
+       if (!setupDone) {
+               setupDone = TRUE;
+               xf86AddDriver(&IVTVDEV, module, 0);
+-              LoaderRefSymLists(fbSymbols, shadowSymbols, NULL);
++              LoaderRefSymLists(fbSymbols, shadowSymbols,
++                                IVTVDevshadowFBSymbols, NULL);
+               return (pointer) 1;
+       } else {
+               if (errmaj)
+@@ -190,6 +195,29 @@
+       ivtvHWSendDMA(pScrn, fPtr->shadowmem, x1, x2, y1, y2);
+ }
+ 
++void
++IVTVDevRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox)
++{
++      IVTVDevPtr fPtr = IVTVDEVPTR(pScrn);
++      int x1 = pScrn->virtualX;
++      int x2 = 0;
++      int y1 = pScrn->virtualY;
++      int y2 = 0;
++      while (num--) {
++              if (pbox->x1 < x1)
++                      x1 = pbox->x1;
++              if (pbox->x2 > x2)
++                      x2 = pbox->x2;
++              if (pbox->y1 < y1)
++                      y1 = pbox->y1;
++              if (pbox->y2 > y2)
++                      y2 = pbox->y2;
++              pbox++;
++      };
 +
-       ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
-       IVTVDevPtr fPtr = IVTVDEVPTR(pScrn);
-       int x1 = pScrn->virtualX;
-@@ -222,10 +225,8 @@
++      ivtvHWSendDMA(pScrn, fPtr->shadowmem, x1, x2, y1, y2);
++}
++
+ static Bool IVTVDevGetRec(ScrnInfoPtr pScrn)
+ {
+       if (pScrn->driverPrivate != NULL)
+@@ -222,10 +250,8 @@
  static Bool IVTVDevProbe(DriverPtr drv, int flags)
  {
        int i;
@@ -73,7 +132,7 @@
        char *dev;
        Bool foundScreen = FALSE;
        int *usedChips;
-@@ -259,7 +260,6 @@
+@@ -259,7 +285,6 @@
        } else {
                for (i = 0; i < numUsed; i++) {
                        ScrnInfoPtr pScrn = xf86AllocateScreen(drv, 0);
@@ -81,7 +140,7 @@
                        dev =
                            xf86FindOptionValue(devSections[i]->options,
                                                "fbdev");
-@@ -276,7 +276,7 @@
+@@ -276,7 +301,7 @@
                                if (pScrn) {
                                        foundScreen = TRUE;
  
@@ -90,69 +149,70 @@
                                        pScrn->driverName = IVTVDEV_DRIVER_NAME;
                                        pScrn->name = IVTVDEV_NAME;
                                        pScrn->Probe = IVTVDevProbe;
-@@ -453,6 +453,39 @@
+@@ -438,9 +463,16 @@
+               xf86LoaderReqSymLists(syms, NULL);
+       }
  
- void IvtvInitVideo(ScreenPtr pScreen);
- 
++      xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "loading shadowfb");
++      if (!xf86LoadSubModule(pScrn, "shadowfb")) {
++              xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++                         "Couldn't load shadowfb module:\n");
++              return FALSE;
++      }
++      xf86LoaderReqSymLists(IVTVDevshadowFBSymbols, NULL);
 +
-+static Bool
-+IVTVDevShadowInit(ScreenPtr pScreen, IVTVDevPtr fPtr)
-+{
-+    PixmapPtr pPixmap;
-+    //ShadowUpdateProc update;
-+    //ShadowWindowProc window;
-+
-+    pPixmap = pScreen->CreatePixmap(pScreen, pScreen->width, pScreen->height,
-+                                  pScreen->rootDepth);
-+    if (!pPixmap)
-+       return FALSE;
-+
-+    if (!shadowSetup(pScreen)) {
-+       pScreen->DestroyPixmap(pPixmap);
-+       return FALSE;
-+    }
-+
-+#if 0
-+    update = /*fPtr->rotate ? shadowUpdateRotatePackedWeak()
-+             : */shadowUpdatePackedWeak();
-+#endif
-+
-+    if (!shadowAdd(pScreen, pPixmap, FBshadowUpdatePacked,
-+                 /*window*/NULL, /*fPtr->rotate*/0, NULL)) {
-+       pScreen->DestroyPixmap(pPixmap);
-+       return FALSE;
-+    } else {
-+       return TRUE;
-+    }
-+}
-+
-+
- static Bool
- IVTVDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- {
-@@ -514,6 +547,7 @@
-                          "Allocation of shadow memory failed\n");
+       /* Load shadow */
+-      xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+-                 "Using \"Shadow Framebuffer\"\n");
++      xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Using \"Shadow 
Framebuffer\"\n");
+       if (!xf86LoadSubModule(pScrn, "shadow")) {
+               IVTVDevFreeRec(pScrn);
                return FALSE;
-       }
-+      //fPtr->fbstart   = fPtr->shadowmem;
+@@ -459,7 +491,6 @@
+       ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+       IVTVDevPtr fPtr = IVTVDEVPTR(pScrn);
+       VisualPtr visual;
+-      int init_picture = 0;
+       int ret, flags, width, height;
  
+       TRACE_ENTER("IVTVDevScreenInit");
+@@ -518,7 +549,6 @@
        ret = fbScreenInit(pScreen, fPtr->shadowmem, width, height,
                           pScrn->xDpi, pScrn->yDpi, pScrn->displayWidth,
-@@ -543,9 +577,7 @@
+                          pScrn->bitsPerPixel);
+-      init_picture = 1;
+ 
+       if (!ret)
+               return FALSE;
+@@ -539,13 +569,11 @@
+       }
+ 
+       /* must be after RGB ordering fixed */
+-      if (init_picture && !fbPictureInit(pScreen, NULL, 0))
++      if (!fbPictureInit(pScreen, NULL, 0))
                xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
                           "RENDER extension initialisation failed.\n");
  
 -      if (!shadowSetup(pScreen) || !shadowAdd(pScreen, NULL,
 -                                              FBshadowUpdatePacked,
 -                                              NULL, 0, NULL)) {
-+      if (!IVTVDevShadowInit(pScreen, fPtr)) {
++      if (!shadowInit(pScreen, FBshadowUpdatePacked, NULL)) {
                xf86DrvMsg(scrnIndex, X_ERROR,
                           "Shadow framebuffer initialization failed.\n");
                return FALSE;
+@@ -565,6 +593,8 @@
+       /* software cursor */
+       miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
+ 
++      ShadowFBInit(pScreen, IVTVDevRefreshArea);
++
+       /* XXX It would be simpler to use miCreateDefColormap() in all cases. */
+       if (!miCreateDefColormap(pScreen))
+               return FALSE;
 Index: xserver-xorg-video-ivtvdev/src/ivtv_xv.c
 ===================================================================
---- xserver-xorg-video-ivtvdev.orig/src/ivtv_xv.c      2006-10-04 
21:53:31.000000000 +0100
-+++ xserver-xorg-video-ivtvdev/src/ivtv_xv.c   2006-10-04 21:53:57.000000000 
+0100
+--- xserver-xorg-video-ivtvdev.orig/src/ivtv_xv.c      2006-10-04 
21:55:19.000000000 +0100
++++ xserver-xorg-video-ivtvdev/src/ivtv_xv.c   2006-10-24 20:45:35.000000000 
+0100
 @@ -41,6 +41,13 @@
  /*
   * I N C L U D E S
@@ -277,10 +337,18 @@
  
        BoxRec dstBox;
        CARD32 tmp;
+@@ -697,7 +703,6 @@
+                       args.src_h = src_h;
+                         args.dst_h = drw_h;
+                         args.srcBuf_height = height;
+-                      args.yuv_type = IVTV_YUV_TYPE_HME12;
+               }
+               break;
+       default:
 Index: xserver-xorg-video-ivtvdev/src/ivtvhw.c
 ===================================================================
---- xserver-xorg-video-ivtvdev.orig/src/ivtvhw.c       2006-10-04 
21:53:31.000000000 +0100
-+++ xserver-xorg-video-ivtvdev/src/ivtvhw.c    2006-10-04 21:53:57.000000000 
+0100
+--- xserver-xorg-video-ivtvdev.orig/src/ivtvhw.c       2006-10-04 
21:55:19.000000000 +0100
++++ xserver-xorg-video-ivtvdev/src/ivtvhw.c    2006-10-24 20:45:06.000000000 
+0100
 @@ -1,5 +1,14 @@
  /* $XFree86: xc/programs/Xserver/hw/xfree86/ivtvhw/ivtvhw.c,v 1.30 2002/11/25 
14:05:00 eich Exp $ */
  
@@ -304,15 +372,6 @@
  
  /* pci stuff */
  #include "xf86PciInfo.h"
-@@ -22,7 +30,7 @@
- #define DPMS_SERVER
- #include <X11/extensions/dpms.h>
- 
--#define DEBUG 0
-+#define DEBUG 1
- 
- #if DEBUG
- # define TRACE_ENTER(str)     ErrorF("ivtvHW: " str " %d\n",pScrn->scrnIndex)
 @@ -45,7 +53,7 @@
        0, 0, 2,
        ABI_CLASS_VIDEODRV,


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to