[xorg-x11-drv-openchrome] 0.2.904+svn921

Xavier Bachelot xavierb at fedoraproject.org
Sat May 7 18:37:48 UTC 2011


commit 7f90ac13a24bbed3232a0b482bc5e7c25e90af42
Author: Xavier Bachelot <xavier at bachelot.org>
Date:   Sat May 7 20:37:13 2011 +0200

    0.2.904+svn921

 openchrome-0.2.904-I420_Xv_surface_for_CME.patch   |   81 +++---
 ...svn916.patch => openchrome-0.2.904-svn921.patch |  322 ++++++++++++--------
 xorg-x11-drv-openchrome.spec                       |    7 +-
 3 files changed, 232 insertions(+), 178 deletions(-)
---
diff --git a/openchrome-0.2.904-I420_Xv_surface_for_CME.patch b/openchrome-0.2.904-I420_Xv_surface_for_CME.patch
index aae944d..3f17506 100644
--- a/openchrome-0.2.904-I420_Xv_surface_for_CME.patch
+++ b/openchrome-0.2.904-I420_Xv_surface_for_CME.patch
@@ -1,20 +1,6 @@
-From fa325c183bd66b2b20e8f22c74d87fa01a831ab0 Mon Sep 17 00:00:00 2001
-From: root <root at localhost.localdomain>
-Date: Thu, 8 Apr 2010 20:39:37 +0000
-Subject: [PATCH 6/8] Add I420 Xvideo Surface for CME_Engine
-
-This patch is not finished, it only implements the I420 support
-for the CME Engine chipsets.  I need to finish legacy support of this format.
----
- src/via_swov.c  |   19 ++++++++++-
- src/via_video.c |   94 ++++++++++++++++++++++++++++++++++++++++++++++++++----
- 2 files changed, 104 insertions(+), 9 deletions(-)
-
-diff --git a/src/via_swov.c b/src/via_swov.c
-index 8b68498..5be2d6a 100644
---- a/src/via_swov.c
-+++ b/src/via_swov.c
-@@ -392,6 +392,7 @@ viaOverlayGetV1V3Format(VIAPtr pVia, int vport, /* 1 or 3, as in V1 or V3 */
+--- src/via_swov.c	(revision 916)
++++ src/via_swov.c	(working copy)
+@@ -392,6 +392,7 @@ viaOverlayGetV1V3Format(VIAPtr pVia, int vport, /*
      if (videoFlag & VIDEO_HQV_INUSE) {
          switch (pVia->swov.SrcFourCC) {
              case FOURCC_YV12:
@@ -22,7 +8,7 @@ index 8b68498..5be2d6a 100644
              case FOURCC_XVMC:
                  *pHQVCtl |= HQV_YUV420;
                  break;
-@@ -421,6 +422,7 @@ viaOverlayGetV1V3Format(VIAPtr pVia, int vport, /* 1 or 3, as in V1 or V3 */
+@@ -421,6 +422,7 @@ viaOverlayGetV1V3Format(VIAPtr pVia, int vport, /*
      } else {
          switch (pVia->swov.SrcFourCC) {
              case FOURCC_YV12:
@@ -38,7 +24,7 @@ index 8b68498..5be2d6a 100644
              case FOURCC_XVMC:
  
                  if (videoFlag & VIDEO_HQV_INUSE)
-@@ -763,6 +766,7 @@ viaOverlayGetFetch(VIAPtr pVia, unsigned long videoFlag,
+@@ -763,6 +766,7 @@ viaOverlayGetFetch(VIAPtr pVia, unsigned long vide
  
      switch (pVia->swov.SrcFourCC) {
          case FOURCC_YV12:
@@ -46,7 +32,7 @@ index 8b68498..5be2d6a 100644
          case FOURCC_XVMC:
              n = 0; /* 2^n = 1 byte per pixel (Y channel in planar YUV) */
              break;
-@@ -1146,7 +1150,8 @@ AddHQVSurface(ScrnInfoPtr pScrn, unsigned int numbuf, CARD32 fourcc)
+@@ -1146,7 +1150,8 @@ AddHQVSurface(ScrnInfoPtr pScrn, unsigned int numb
          !(pVia->swov.gdwVideoFlagSW & VIDEO_1_INUSE))
          proReg = PRO_HQV1_OFFSET;
  
@@ -56,7 +42,7 @@ index 8b68498..5be2d6a 100644
  
      width = pVia->swov.SWDevice.gdwSWSrcWidth;
      height = pVia->swov.SWDevice.gdwSWSrcHeight;
-@@ -1189,6 +1194,7 @@ CreateSurface(ScrnInfoPtr pScrn, CARD32 FourCC, CARD16 Width,
+@@ -1189,6 +1194,7 @@ CreateSurface(ScrnInfoPtr pScrn, CARD32 FourCC, CA
      isplanar = FALSE;
      switch (FourCC) {
          case FOURCC_YV12:
@@ -64,7 +50,7 @@ index 8b68498..5be2d6a 100644
          case FOURCC_XVMC:
              isplanar = TRUE;
              pitch = ALIGN_TO(Width, 32);
-@@ -1281,9 +1287,10 @@ ViaSwovSurfaceCreate(ScrnInfoPtr pScrn, viaPortPrivPtr pPriv,
+@@ -1281,9 +1287,10 @@ ViaSwovSurfaceCreate(ScrnInfoPtr pScrn, viaPortPri
              break;
  
          case FOURCC_YV12:
@@ -76,7 +62,7 @@ index 8b68498..5be2d6a 100644
              break;
  
          case FOURCC_XVMC:
-@@ -1345,6 +1352,7 @@ ViaSwovSurfaceDestroy(ScrnInfoPtr pScrn, viaPortPrivPtr pPriv)
+@@ -1345,6 +1352,7 @@ ViaSwovSurfaceDestroy(ScrnInfoPtr pScrn, viaPortPr
                  break;
  
              case FOURCC_YV12:
@@ -100,7 +86,7 @@ index 8b68498..5be2d6a 100644
              || pVia->swov.SrcFourCC == FOURCC_XVMC) {
              if (videoFlag & VIDEO_HQV_INUSE) {
                  if (videoFlag & VIDEO_1_INUSE)
-@@ -1893,6 +1903,7 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFlag,
+@@ -1891,6 +1901,7 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFl
      pVia->swov.overlayRecordV1.dwOffset = dwOffset;
  
      if (pVia->swov.SrcFourCC == FOURCC_YV12
@@ -108,7 +94,7 @@ index 8b68498..5be2d6a 100644
          || pVia->swov.SrcFourCC == FOURCC_XVMC) {
  
          YCBCRREC YCbCr;
-@@ -1985,6 +1996,7 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFlag,
+@@ -1983,6 +1994,7 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFl
              SetHQVFetch(pVia, hqvSrcFetch, oriSrcHeight);
  
          if (pVia->swov.SrcFourCC == FOURCC_YV12
@@ -116,7 +102,7 @@ index 8b68498..5be2d6a 100644
              || pVia->swov.SrcFourCC == FOURCC_XVMC) {
              if (videoFlag & VIDEO_1_INUSE)
                  SaveVideoRegister(pVia, V1_STRIDE, srcPitch << 1);
-@@ -2294,6 +2306,7 @@ VIAVidUpdateOverlay(ScrnInfoPtr pScrn, LPDDUPDATEOVERLAY pUpdate)
+@@ -2292,6 +2304,7 @@ VIAVidUpdateOverlay(ScrnInfoPtr pScrn, LPDDUPDATEO
          (pVia->swov.SrcFourCC == FOURCC_RV16) ||
          (pVia->swov.SrcFourCC == FOURCC_RV32) ||
          (pVia->swov.SrcFourCC == FOURCC_YV12) ||
@@ -124,7 +110,7 @@ index 8b68498..5be2d6a 100644
          (pVia->swov.SrcFourCC == FOURCC_XVMC)) {
          videoFlag = pVia->swov.gdwVideoFlagSW;
      }
-@@ -2368,6 +2381,7 @@ VIAVidUpdateOverlay(ScrnInfoPtr pScrn, LPDDUPDATEOVERLAY pUpdate)
+@@ -2366,6 +2379,7 @@ VIAVidUpdateOverlay(ScrnInfoPtr pScrn, LPDDUPDATEO
          (pVia->swov.SrcFourCC == FOURCC_RV16) ||
          (pVia->swov.SrcFourCC == FOURCC_RV32) ||
          (pVia->swov.SrcFourCC == FOURCC_YV12) ||
@@ -132,7 +118,7 @@ index 8b68498..5be2d6a 100644
          (pVia->swov.SrcFourCC == FOURCC_XVMC)) {
          pVia->swov.SWDevice.gdwSWDstLeft = pUpdate->DstLeft + panDX;
          pVia->swov.SWDevice.gdwSWDstTop = pUpdate->DstTop + panDY;
-@@ -2427,6 +2441,7 @@ ViaOverlayHide(ScrnInfoPtr pScrn)
+@@ -2425,6 +2439,7 @@ ViaOverlayHide(ScrnInfoPtr pScrn)
          (pVia->swov.SrcFourCC == FOURCC_RV16) ||
          (pVia->swov.SrcFourCC == FOURCC_RV32) ||
          (pVia->swov.SrcFourCC == FOURCC_YV12) ||
@@ -140,11 +126,9 @@ index 8b68498..5be2d6a 100644
          (pVia->swov.SrcFourCC == FOURCC_XVMC))
          videoFlag = pVia->swov.gdwVideoFlagSW;
  
-diff --git a/src/via_video.c b/src/via_video.c
-index 4c3f2d9..5924556 100644
---- a/src/via_video.c
-+++ b/src/via_video.c
-@@ -117,6 +117,10 @@ static int viaSetPortAttribute(ScrnInfoPtr, Atom, INT32, pointer);
+--- src/via_video.c	(revision 916)
++++ src/via_video.c	(working copy)
+@@ -117,6 +117,10 @@ static int viaSetPortAttribute(ScrnInfoPtr, Atom,
  static int viaPutImage(ScrnInfoPtr, short, short, short, short, short, short,
      short, short, int, unsigned char *, short, short, Bool,
      RegionPtr, pointer, DrawablePtr);
@@ -155,7 +139,7 @@ index 4c3f2d9..5924556 100644
  static void nv12Blit(unsigned char *nv12Chroma,
      const unsigned char *uBuffer,
      const unsigned char *vBuffer,
-@@ -158,11 +162,12 @@ static XF86AttributeRec AttributesG[NUM_ATTRIBUTES_G] = {
+@@ -158,11 +162,12 @@ static XF86AttributeRec AttributesG[NUM_ATTRIBUTES
      {XvSettable | XvGettable, 0, 1, "XV_AUTOPAINT_COLORKEY"}
  };
  
@@ -169,7 +153,7 @@ index 4c3f2d9..5924556 100644
      {
          /*
           * Below, a dummy picture type that is used in XvPutImage only to do
-@@ -1048,6 +1053,7 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc,
+@@ -1029,6 +1034,7 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
                  proReg) & ~HQV_FLIP_ODD) | HQV_SW_FLIP | HQV_FLIP_STATUS);
              break;
          case FOURCC_YV12:
@@ -177,7 +161,7 @@ index 4c3f2d9..5924556 100644
          default:
              while ((VIDInD(HQV_CONTROL + proReg) & HQV_SW_FLIP)
                      && --count);
-@@ -1074,16 +1080,49 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc,
+@@ -1055,16 +1061,49 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
   */
  
  static void
@@ -230,7 +214,7 @@ index 4c3f2d9..5924556 100644
  }
  
  #ifdef XF86DRI
-@@ -1108,7 +1147,7 @@ viaDmaBlitImage(VIAPtr pVia,
+@@ -1089,7 +1128,7 @@ viaDmaBlitImage(VIAPtr pVia,
  
      bounceBuffer = ((unsigned long)src & 15);
      nv12Conversion = (pVia->VideoEngine == VIDEO_ENGINE_CME && 
@@ -239,7 +223,7 @@ index 4c3f2d9..5924556 100644
  
      switch (id) {
          case FOURCC_YUY2:
-@@ -1123,6 +1162,7 @@ viaDmaBlitImage(VIAPtr pVia,
+@@ -1104,6 +1143,7 @@ viaDmaBlitImage(VIAPtr pVia,
              break;
  
          case FOURCC_YV12:
@@ -247,7 +231,7 @@ index 4c3f2d9..5924556 100644
          default:
              bounceStride = ALIGN_TO(width, 16);
              bounceLines = height;
-@@ -1138,7 +1178,7 @@ viaDmaBlitImage(VIAPtr pVia,
+@@ -1119,7 +1159,7 @@ viaDmaBlitImage(VIAPtr pVia,
                  pPort->dmaBounceBuffer = 0;
              }
              size = bounceStride * bounceLines + 16;
@@ -256,7 +240,7 @@ index 4c3f2d9..5924556 100644
                  size += ALIGN_TO(bounceStride >> 1, 16) * bounceLines;
              pPort->dmaBounceBuffer = (unsigned char *)malloc(size);
              pPort->dmaBounceLines = bounceLines;
-@@ -1178,7 +1218,7 @@ viaDmaBlitImage(VIAPtr pVia,
+@@ -1159,7 +1199,7 @@ viaDmaBlitImage(VIAPtr pVia,
  
      lumaSync = blit.sync;
  
@@ -265,13 +249,13 @@ index 4c3f2d9..5924556 100644
          unsigned tmp = ALIGN_TO(width >> 1, 16);
  
          if (nv12Conversion) {
-@@ -1310,6 +1350,17 @@ viaPutImage(ScrnInfoPtr pScrn,
+@@ -1291,6 +1331,17 @@ viaPutImage(ScrnInfoPtr pScrn,
  #endif
                  } else {
                      switch (id) {
 +                        case FOURCC_I420:
 +                            if (pVia->VideoEngine == VIDEO_ENGINE_CME) {
-+                                nv12cp(pVia->swov.SWDevice.
++                                planar420cp(pVia->swov.SWDevice.
 +                                    lpSWOverlaySurface[pVia->dwFrameNum & 1],
 +                                    buf, dstPitch, width, height, 1);
 +                            } else {
@@ -283,7 +267,15 @@ index 4c3f2d9..5924556 100644
                          case FOURCC_YV12:
                              if (pVia->VideoEngine == VIDEO_ENGINE_CME) {
                                  nv12cp(pVia->swov.SWDevice.
-@@ -1566,6 +1617,35 @@ VIAVidAdjustFrame(ScrnInfoPtr pScrn, int x, int y)
+@@ -1456,6 +1507,7 @@ viaQueryImageAttributes(ScrnInfoPtr pScrn,
+         offsets[0] = 0;
+ 
+     switch (id) {
++        case FOURCC_I420:
+         case FOURCC_YV12: /*Planar format : YV12 -4:2:0 */
+             *h = (*h + 1) & ~1;
+             size = *w;
+@@ -1542,6 +1594,35 @@ VIAVidAdjustFrame(ScrnInfoPtr pScrn, int x, int y)
  }
  
  /*
@@ -319,6 +311,3 @@ index 4c3f2d9..5924556 100644
   * Blit the chroma field from one buffer to another while at the same time converting from
   * YV12 to NV12.
   */
--- 
-1.6.2.5
-
diff --git a/openchrome-0.2.904-svn916.patch b/openchrome-0.2.904-svn921.patch
similarity index 95%
rename from openchrome-0.2.904-svn916.patch
rename to openchrome-0.2.904-svn921.patch
index 83c6bb8..dd75e60 100644
--- a/openchrome-0.2.904-svn916.patch
+++ b/openchrome-0.2.904-svn921.patch
@@ -1,8 +1,14 @@
 Index: ChangeLog
 ===================================================================
---- ChangeLog	(.../tags/release_0_2_904)	(revision 916)
-+++ ChangeLog	(.../trunk)	(revision 916)
-@@ -1,3 +1,219 @@
+--- ChangeLog	(.../tags/release_0_2_904)	(revision 921)
++++ ChangeLog	(.../trunk)	(revision 921)
+@@ -1,3 +1,225 @@
++2011-05-04  Bartosz Kosiorek  <gang65 at poczta.onet.pl>
++
++	Fix XAA displaying issues
++
++	* src/via_accel.c: (viaInitXAA):
++
 +2011-01-23  Bartosz Kosiorek  <gang65 at poczta.onet.pl>
 +
 +	Enable hardware cursor for VX900
@@ -200,7 +206,7 @@ Index: ChangeLog
 +	Add option to enable unaccelerated RandR rotation ("SWRandR").
 +        The accelerated option "HWRandR" is currently not implemented.
 +
-+	* man/openchrome.man:
++	* src/openchrome.man:
 +	* src/via_driver.c: (VIAPreInit):
 +
 +2009-11-20  Bartosz Kosiorek  <gang65 at poczta.onet.pl>
@@ -224,30 +230,27 @@ Index: ChangeLog
  	Save/restore ECK Clock Synthesizer
 Index: src/via_panel.c
 ===================================================================
---- src/via_panel.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_panel.c	(.../trunk)	(revision 916)
+--- src/via_panel.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_panel.c	(.../trunk)	(revision 921)
 @@ -45,17 +45,17 @@ static ViaPanelModeRec ViaPanelNativeModes[] = {
      {1280, 768},
      {1280, 1024},
      {1400, 1050},
 -    {1600, 1200},   /* 0x6 Resolution 1440x900 */
-+    {1440, 900},    /* 0x6 Resolution 1440x900 */
++    {1600, 1200},   /* 0x6 */
      {1280, 800},    /* 0x7 Resolution 1280x800 (Samsung NC20) */
      {800, 480},     /* 0x8 For Quanta 800x480 */
      {1024, 600},    /* 0x9 Resolution 1024x600 (for HP 2133) */
      {1366, 768},    /* 0xA Resolution 1366x768 */
--    {1920, 1080},
--    {1920, 1200},
+     {1920, 1080},
+     {1920, 1200},
 -    {1280, 1024},   /* 0xD Need to be fixed to 1920x1200 */
 -    {1440, 900},    /* 0xE Need to be fixed to 640x240 */
--    {1280, 720},    /* 0xF 480x640 */
++    {1280, 1024},   /* 0xD */
++    {1440, 900},    /* 0xE */
+     {1280, 720},    /* 0xF 480x640 */
 -    {1200, 900},   /* 0x10 For Panasonic 1280x768 18bit Dual-Channel Panel */
-+    {1600, 1200},   /* 0xB Resolution 1600x1200 */
-+    {1680, 1050},
-+    {1920, 1200},   /* 0xD Resolution 1920x1200 */
-+    {640, 240},     /* 0xE Resolution 640x240 */
-+    {480, 640},     /* 0xF Resolution 480x640 */
-+    {1280, 768},   /* 0x10 For Panasonic 1280x768 18bit Dual-Channel Panel */
++    {1200, 900},   /* 0x10 For OLPC 1.5 */
      {1360, 768},   /* 0x11 Resolution 1360X768 */
      {1024, 768},   /* 0x12 Resolution 1024x768 */
      {800, 480}     /* 0x13 General 8x4 panel use this setting */
@@ -454,8 +457,8 @@ Index: src/via_panel.c
  
 Index: src/via_id.h
 ===================================================================
---- src/via_id.h	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_id.h	(.../trunk)	(revision 916)
+--- src/via_id.h	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_id.h	(.../trunk)	(revision 921)
 @@ -39,6 +39,7 @@ enum VIACHIPTAGS {
      VIA_P4M890,
      VIA_VX800,
@@ -474,8 +477,8 @@ Index: src/via_id.h
   * the CLE266, often labelled Ax and Cx.  The dividing line seems to be
 Index: src/via_video.c
 ===================================================================
---- src/via_video.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_video.c	(.../trunk)	(revision 916)
+--- src/via_video.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_video.c	(.../trunk)	(revision 921)
 @@ -354,6 +354,14 @@ DecideOverlaySupport(ScrnInfoPtr pScrn)
                  mClock = 333;
                  memEfficiency = (float)SINGLE_3205_133;
@@ -652,7 +655,7 @@ Index: src/via_video.c
                  sizeof(XF86VideoAdaptorPtr *));
          if (allAdaptors) {
              if (num_adaptors)
-@@ -636,134 +694,7 @@ viaInitVideo(ScreenPtr pScreen)
+@@ -636,194 +694,6 @@ viaInitVideo(ScreenPtr pScreen)
      }
  }
  
@@ -661,7 +664,7 @@ Index: src/via_video.c
 -{
 -    int *dataA, *dataB;
 -    int num;
- 
+-
 -    num = REGION_NUM_RECTS(A);
 -    if (num != REGION_NUM_RECTS(B))
 -        return FALSE;
@@ -784,34 +787,70 @@ Index: src/via_video.c
 -}
 -
 -
- /*
-  * This one gets called, for example, on panning.
-  */
-@@ -779,14 +710,19 @@ viaReputImage(ScrnInfoPtr pScrn,
-     viaPortPrivPtr pPriv = (viaPortPrivPtr) data;
-     VIAPtr pVia = VIAPTR(pScrn);
- 
+-/*
+- * This one gets called, for example, on panning.
+- */
+-
+-static int
+-viaReputImage(ScrnInfoPtr pScrn,
+-        short drw_x, short drw_y, RegionPtr clipBoxes, pointer data,
+-        DrawablePtr pDraw)
+-{
+-
+-    DDUPDATEOVERLAY UpdateOverlay_Video;
+-    LPDDUPDATEOVERLAY lpUpdateOverlay = &UpdateOverlay_Video;
+-    viaPortPrivPtr pPriv = (viaPortPrivPtr) data;
+-    VIAPtr pVia = VIAPTR(pScrn);
+-
 -    if (!RegionsEqual(&pPriv->clip, clipBoxes)) {
-+    if (!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) {
-         REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
-         if (pPriv->autoPaint) {
-             if (pDraw->type == DRAWABLE_WINDOW) {
+-        REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
+-        if (pPriv->autoPaint) {
+-            if (pDraw->type == DRAWABLE_WINDOW) {
 -                viaPaintColorkey(pScrn, pPriv, clipBoxes, pDraw);
-+                /* TODO Replace xf86XVFillKeyHelper with xf86XVFillKeyHelperDrawable
-+                   Currently resizing problem exist in VLC Media Player
-+                   Example of implementation:
-+                xf86XVFillKeyHelperDrawable(pDraw, pPriv->colorKey, clipBoxes);
-+                DamageDamageRegion(pDraw, clipBoxes); */
-+                
-+                xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
-             } else {
+-            } else {
 -                xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey,
 -                    clipBoxes);
-+                xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
-             }
-         }
-     }
-@@ -832,7 +768,7 @@ viaSetupAdaptors(ScreenPtr pScreen, XF86VideoAdapt
+-            }
+-        }
+-    }
+-
+-    if (drw_x == pPriv->old_drw_x &&
+-        drw_y == pPriv->old_drw_y &&
+-        pVia->swov.oldPanningX == pVia->swov.panning_x &&
+-        pVia->swov.oldPanningY == pVia->swov.panning_y) {
+-        viaXvError(pScrn, pPriv, xve_none);
+-        return Success;
+-    }
+-
+-    lpUpdateOverlay->SrcLeft = pPriv->old_src_x;
+-    lpUpdateOverlay->SrcTop = pPriv->old_src_y;
+-    lpUpdateOverlay->SrcRight = pPriv->old_src_x + pPriv->old_src_w;
+-    lpUpdateOverlay->SrcBottom = pPriv->old_src_y + pPriv->old_src_h;
+-
+-    lpUpdateOverlay->DstLeft = drw_x;
+-    lpUpdateOverlay->DstTop = drw_y;
+-    lpUpdateOverlay->DstRight = drw_x + pPriv->old_drw_w;
+-    lpUpdateOverlay->DstBottom = drw_y + pPriv->old_drw_h;
+-    pPriv->old_drw_x = drw_x;
+-    pPriv->old_drw_y = drw_y;
+-
+-    lpUpdateOverlay->dwFlags = DDOVER_KEYDEST;
+-
+-    if (pScrn->bitsPerPixel == 8)
+-        lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey & 0xff;
+-    else
+-        lpUpdateOverlay->dwColorSpaceLowValue = pPriv->colorKey;
+-
+-    VIAVidUpdateOverlay(pScrn, lpUpdateOverlay);
+-
+-    viaXvError(pScrn, pPriv, xve_none);
+-    return Success;
+-}
+-
+ static unsigned
+ viaSetupAdaptors(ScreenPtr pScreen, XF86VideoAdaptorPtr ** adaptors)
+ {
+@@ -832,7 +702,7 @@ viaSetupAdaptors(ScreenPtr pScreen, XF86VideoAdapt
      DevUnion *pdevUnion;
      int i, j, usedPorts, numPorts;
  
@@ -820,7 +859,16 @@ Index: src/via_video.c
  
      xvBrightness = MAKE_ATOM("XV_BRIGHTNESS");
      xvContrast = MAKE_ATOM("XV_CONTRAST");
-@@ -931,7 +867,7 @@ viaStopVideo(ScrnInfoPtr pScrn, pointer data, Bool
+@@ -884,7 +754,7 @@ viaSetupAdaptors(ScreenPtr pScreen, XF86VideoAdapt
+         viaAdaptPtr[i]->GetPortAttribute = viaGetPortAttribute;
+         viaAdaptPtr[i]->SetPortAttribute = viaSetPortAttribute;
+         viaAdaptPtr[i]->PutImage = viaPutImage;
+-        viaAdaptPtr[i]->ReputImage = viaReputImage;
++        viaAdaptPtr[i]->ReputImage = NULL;
+         viaAdaptPtr[i]->QueryImageAttributes = viaQueryImageAttributes;
+         for (j = 0; j < numPorts; ++j) {
+             viaPortPriv[j].dmaBounceBuffer = NULL;
+@@ -931,7 +801,7 @@ viaStopVideo(ScrnInfoPtr pScrn, pointer data, Bool
      if (exit) {
          ViaSwovSurfaceDestroy(pScrn, pPriv);
          if (pPriv->dmaBounceBuffer)
@@ -829,7 +877,7 @@ Index: src/via_video.c
          pPriv->dmaBounceBuffer = 0;
          pPriv->dmaBounceStride = 0;
          pPriv->dmaBounceLines = 0;
-@@ -1042,6 +978,8 @@ viaGetPortAttribute(ScrnInfoPtr pScrn,
+@@ -1042,6 +912,8 @@ viaGetPortAttribute(ScrnInfoPtr pScrn,
          }
  
      } else {
@@ -838,7 +886,7 @@ Index: src/via_video.c
          /*return BadMatch */;
      }
      return Success;
-@@ -1070,6 +1008,7 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
+@@ -1070,6 +942,7 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
          unsigned long DisplayBufferIndex)
  {
      unsigned long proReg = 0;
@@ -846,7 +894,7 @@ Index: src/via_video.c
  
      if (pVia->ChipId == PCI_CHIP_VT3259
          && !(pVia->swov.gdwVideoFlagSW & VIDEO_1_INUSE))
-@@ -1081,7 +1020,8 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
+@@ -1081,7 +954,8 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
          case FOURCC_RV15:
          case FOURCC_RV16:
          case FOURCC_RV32:
@@ -856,7 +904,7 @@ Index: src/via_video.c
              VIDOutD(HQV_SRC_STARTADDR_Y + proReg,
                  pVia->swov.SWDevice.dwSWPhysicalAddr[DisplayBufferIndex]);
              VIDOutD(HQV_CONTROL + proReg,
-@@ -1090,7 +1030,8 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
+@@ -1090,7 +964,8 @@ Flip(VIAPtr pVia, viaPortPrivPtr pPriv, int fourcc
              break;
          case FOURCC_YV12:
          default:
@@ -866,7 +914,7 @@ Index: src/via_video.c
              VIDOutD(HQV_SRC_STARTADDR_Y + proReg,
                  pVia->swov.SWDevice.dwSWPhysicalAddr[DisplayBufferIndex]);
              if (pVia->VideoEngine == VIDEO_ENGINE_CME) {
-@@ -1174,7 +1115,7 @@ viaDmaBlitImage(VIAPtr pVia,
+@@ -1174,7 +1049,7 @@ viaDmaBlitImage(VIAPtr pVia,
              pPort->dmaBounceStride != bounceStride ||
              pPort->dmaBounceLines != bounceLines) {
              if (pPort->dmaBounceBuffer) {
@@ -875,7 +923,7 @@ Index: src/via_video.c
                  pPort->dmaBounceBuffer = 0;
              }
              size = bounceStride * bounceLines + 16;
-@@ -1296,7 +1237,7 @@ viaPutImage(ScrnInfoPtr pScrn,
+@@ -1296,7 +1171,7 @@ viaPutImage(ScrnInfoPtr pScrn,
      unsigned long retCode;
  
  # ifdef XV_DEBUG
@@ -884,7 +932,7 @@ Index: src/via_video.c
      ErrorF(" via_video.c : FourCC=0x%x width=%d height=%d sync=%d\n", id,
              width, height, sync);
      ErrorF
-@@ -1405,12 +1346,11 @@ viaPutImage(ScrnInfoPtr pScrn,
+@@ -1405,12 +1280,11 @@ viaPutImage(ScrnInfoPtr pScrn,
  
              lpUpdateOverlay->dwFlags = DDOVER_KEYDEST;
  
@@ -902,7 +950,7 @@ Index: src/via_video.c
              /* If use extend FIFO mode */
              if (pScrn->currentMode->HDisplay > 1024) {
                  dwUseExtendedFIFO = 1;
-@@ -1436,7 +1376,8 @@ viaPutImage(ScrnInfoPtr pScrn,
+@@ -1436,7 +1310,8 @@ viaPutImage(ScrnInfoPtr pScrn,
                      && (pPriv->old_src_w == src_w) && (pPriv->old_src_h == src_h)
                      && (pVia->old_dwUseExtendedFIFO == dwUseExtendedFIFO)
                      && (pVia->VideoStatus & VIDEO_SWOV_ON) &&
@@ -912,7 +960,7 @@ Index: src/via_video.c
                  viaXvError(pScrn, pPriv, xve_none);
                  return Success;
              }
-@@ -1454,16 +1395,18 @@ viaPutImage(ScrnInfoPtr pScrn,
+@@ -1454,16 +1329,18 @@ viaPutImage(ScrnInfoPtr pScrn,
              pVia->VideoStatus |= VIDEO_SWOV_ON;
  
              /*  BitBlt: Draw the colorkey rectangle */
@@ -935,7 +983,7 @@ Index: src/via_video.c
              }
              /*
               *  Update video overlay
-@@ -1498,6 +1441,7 @@ viaQueryImageAttributes(ScrnInfoPtr pScrn,
+@@ -1498,6 +1375,7 @@ viaQueryImageAttributes(ScrnInfoPtr pScrn,
  
      DBG_DD(ErrorF(" via_video.c : viaQueryImageAttributes : FourCC=0x%x, ",
              id));
@@ -945,8 +993,8 @@ Index: src/via_video.c
          return 0;
 Index: src/via_lvds.c
 ===================================================================
---- src/via_lvds.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_lvds.c	(.../trunk)	(revision 916)
+--- src/via_lvds.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_lvds.c	(.../trunk)	(revision 921)
 @@ -42,7 +42,7 @@
              2^13 X 0.0698uSec [1/14.318MHz] = 8192 X 0.0698uSec =572.1uSec
              Timer = Counter x 572 uSec
@@ -958,8 +1006,8 @@ Index: src/via_lvds.c
              The meaning of the TD0~TD3 are count of the clock. 
 Index: src/via_video.h
 ===================================================================
---- src/via_video.h	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_video.h	(.../trunk)	(revision 916)
+--- src/via_video.h	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_video.h	(.../trunk)	(revision 921)
 @@ -44,6 +44,10 @@
  
  #define VIDEO_BPP 2
@@ -982,8 +1030,8 @@ Index: src/via_video.h
      CARD32 v3alpha_fetch;	       /* 2b8 */
 Index: src/via_mode.c
 ===================================================================
---- src/via_mode.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_mode.c	(.../trunk)	(revision 916)
+--- src/via_mode.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_mode.c	(.../trunk)	(revision 921)
 @@ -308,11 +308,14 @@ ViaDFPDetect(ScrnInfoPtr pScrn)
      xf86MonPtr          monPtr = NULL;
  
@@ -1073,8 +1121,8 @@ Index: src/via_mode.c
      } else {
 Index: src/via_mode.h
 ===================================================================
---- src/via_mode.h	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_mode.h	(.../trunk)	(revision 916)
+--- src/via_mode.h	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_mode.h	(.../trunk)	(revision 921)
 @@ -32,8 +32,9 @@
   */
  #define VIA_BW_MIN       74000000 /* > 640x480 at 60Hz@32bpp */
@@ -1192,8 +1240,8 @@ Index: src/via_mode.h
      { MODEPREFIX("1280x768"),   81135, 1280, 1328, 1440, 1688, 0,  768,  770,  776,  802, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX },
 Index: src/via_memcpy.c
 ===================================================================
---- src/via_memcpy.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_memcpy.c	(.../trunk)	(revision 916)
+--- src/via_memcpy.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_memcpy.c	(.../trunk)	(revision 921)
 @@ -581,12 +581,12 @@ viaVidCopyInit(char *copyType, ScreenPtr pScreen)
  
      if (VIAAllocLinear(&tmpFbBuffer, pScrn, alignSize + 31))
@@ -1223,8 +1271,8 @@ Index: src/via_memcpy.c
                 "Using %s YUV42X copy for %s.\n",
 Index: src/via_driver.c
 ===================================================================
---- src/via_driver.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_driver.c	(.../trunk)	(revision 916)
+--- src/via_driver.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_driver.c	(.../trunk)	(revision 921)
 @@ -143,6 +143,7 @@ static const struct pci_id_match via_device_match[
     VIA_DEVICE_MATCH (PCI_CHIP_VT3327, 0 ),
     VIA_DEVICE_MATCH (PCI_CHIP_VT3353, 0 ),
@@ -2105,8 +2153,8 @@ Index: src/via_driver.c
  
 Index: src/via_crtc.c
 ===================================================================
---- src/via_crtc.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_crtc.c	(.../trunk)	(revision 916)
+--- src/via_crtc.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_crtc.c	(.../trunk)	(revision 921)
 @@ -174,6 +174,7 @@ ViaFirstCRTCSetMode(ScrnInfoPtr pScrn, DisplayMode
          case VIA_P4M900:
  	case VIA_VX800:
@@ -2182,8 +2230,8 @@ Index: src/via_crtc.c
              /* some leftovers */
 Index: src/via_swov.c
 ===================================================================
---- src/via_swov.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_swov.c	(.../trunk)	(revision 916)
+--- src/via_swov.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_swov.c	(.../trunk)	(revision 921)
 @@ -65,6 +65,31 @@
  #define IN_VIDEO_DISPLAY     (*((unsigned long volatile *)(pVia->VidMapBase+V_FLAGS))&VBI_STATUS)
  #define VIA_FIRETIMEOUT 40000
@@ -2737,8 +2785,8 @@ Index: src/via_swov.c
  
 Index: src/via_driver.h
 ===================================================================
---- src/via_driver.h	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_driver.h	(.../trunk)	(revision 916)
+--- src/via_driver.h	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_driver.h	(.../trunk)	(revision 921)
 @@ -127,9 +127,10 @@ typedef struct {
      CARD8   SR27, SR28, SR29, SR2A,SR2B,SR2C,SR2D,SR2E;
      CARD8   SR2F, SR30, SR31, SR32,SR33,SR34,SR40,SR41;
@@ -2799,8 +2847,8 @@ Index: src/via_driver.h
  
 Index: src/via_bios.h
 ===================================================================
---- src/via_bios.h	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_bios.h	(.../trunk)	(revision 916)
+--- src/via_bios.h	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_bios.h	(.../trunk)	(revision 921)
 @@ -82,6 +82,11 @@
  #define	    VIA_DEVICE_TV		    0x04
  #define	    VIA_DEVICE_DFP		    0x08
@@ -2826,8 +2874,8 @@ Index: src/via_bios.h
  /* Digital Output Bus Width */
 Index: src/via_swov.h
 ===================================================================
---- src/via_swov.h	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_swov.h	(.../trunk)	(revision 916)
+--- src/via_swov.h	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_swov.h	(.../trunk)	(revision 921)
 @@ -53,7 +53,7 @@ typedef struct __VIAHWDiff
  {
      unsigned long dwThreeHQVBuffer;    /* Use Three HQV Buffers */
@@ -2848,8 +2896,8 @@ Index: src/via_swov.h
  void VIAVidHWDiffInit(ScrnInfoPtr pScrn);
 Index: src/via_bandwidth.c
 ===================================================================
---- src/via_bandwidth.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_bandwidth.c	(.../trunk)	(revision 916)
+--- src/via_bandwidth.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_bandwidth.c	(.../trunk)	(revision 921)
 @@ -194,6 +194,7 @@ ViaSetPrimaryFIFO(ScrnInfoPtr pScrn, DisplayModePt
              else
                  ViaSeqMask(hwp, 0x22, 0x00, 0x1F);  /* 128/4 = overflow = 0 */
@@ -3044,8 +3092,8 @@ Index: src/via_bandwidth.c
                         "Chipset %d not implemented\n", pVia->Chipset);
 Index: src/via_accel.c
 ===================================================================
---- src/via_accel.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_accel.c	(.../trunk)	(revision 916)
+--- src/via_accel.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_accel.c	(.../trunk)	(revision 921)
 @@ -196,6 +196,7 @@ viaFlushPCI(ViaCommandBuffer * buf)
  					switch (pVia->Chipset) {
  					    case VIA_VX800:
@@ -3138,6 +3186,15 @@ Index: src/via_accel.c
              while ((VIAGETREG(VIA_REG_STATUS) &
                      (VIA_CMD_RGTR_BUSY_H5 | VIA_2D_ENG_BUSY_H5 | VIA_3D_ENG_BUSY_H5))
                     && (loop++ < MAXLOOP)) ;
+@@ -582,7 +602,7 @@ viaDisableClipping(ScrnInfoPtr pScrn)
+ 
+ /*
+  * This is a small helper to wrap around a PITCH register write
+- * to deal with the sublte differences of M1 and old 2D engine
++ * to deal with the subtle differences of M1 and old 2D engine
+  */
+ static void
+ viaPitchHelper(VIAPtr pVia, unsigned dstPitch, unsigned srcPitch)
 @@ -590,7 +610,9 @@ viaPitchHelper(VIAPtr pVia, unsigned dstPitch, uns
      unsigned val = (dstPitch >> 3) << 16 | (srcPitch >> 3);
      RING_VARS;
@@ -3248,7 +3305,7 @@ Index: src/via_accel.c
                       MICROSOFT_ZERO_LINE_BIAS | 0);
  
      if (pScrn->bitsPerPixel == 8)
-@@ -1218,24 +1247,29 @@ viaInitXAA(ScreenPtr pScreen)
+@@ -1218,24 +1247,31 @@ viaInitXAA(ScreenPtr pScreen)
  
      xaaptr->SetClippingRectangle = viaSetClippingRectangle;
      xaaptr->DisableClipping = viaDisableClipping;
@@ -3261,7 +3318,9 @@ Index: src/via_accel.c
                               HARDWARE_CLIP_COLOR_8x8_FILL |
                               HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND | 0);
  
-+    if (pVia->Chipset != VIA_VX855 && pVia->Chipset != VIA_VX900)
++    if (pVia->Chipset != VIA_VX800 &&
++        pVia->Chipset != VIA_VX855 && 
++        pVia->Chipset != VIA_VX900)
 +    	xaaptr->ClippingFlags |= (HARDWARE_CLIP_SOLID_FILL |
 +                                  HARDWARE_CLIP_SOLID_LINE |
 +                                  HARDWARE_CLIP_DASHED_LINE);
@@ -3282,7 +3341,7 @@ Index: src/via_accel.c
      xaaptr->SetupForMono8x8PatternFill = viaSetupForMono8x8PatternFill;
      xaaptr->SubsequentMono8x8PatternFillRect =
              viaSubsequentMono8x8PatternFillRect;
-@@ -1244,6 +1278,7 @@ viaInitXAA(ScreenPtr pScreen)
+@@ -1244,6 +1280,7 @@ viaInitXAA(ScreenPtr pScreen)
                                         HARDWARE_PATTERN_PROGRAMMED_ORIGIN |
                                         BIT_ORDER_IN_BYTE_MSBFIRST | 0);
  
@@ -3290,7 +3349,7 @@ Index: src/via_accel.c
      xaaptr->SetupForColor8x8PatternFill = viaSetupForColor8x8PatternFill;
      xaaptr->SubsequentColor8x8PatternFillRect =
              viaSubsequentColor8x8PatternFillRect;
-@@ -1252,12 +1287,14 @@ viaInitXAA(ScreenPtr pScreen)
+@@ -1252,12 +1289,14 @@ viaInitXAA(ScreenPtr pScreen)
                                          HARDWARE_PATTERN_PROGRAMMED_BITS |
                                          HARDWARE_PATTERN_PROGRAMMED_ORIGIN | 0);
  
@@ -3305,7 +3364,7 @@ Index: src/via_accel.c
      xaaptr->SetupForDashedLine = viaSetupForDashedLine;
      xaaptr->SubsequentDashedTwoPointLine = viaSubsequentDashedTwoPointLine;
      xaaptr->DashPatternMaxLength = 8;
-@@ -1266,49 +1303,50 @@ viaInitXAA(ScreenPtr pScreen)
+@@ -1266,49 +1305,50 @@ viaInitXAA(ScreenPtr pScreen)
                                 LINE_PATTERN_POWER_OF_2_ONLY |
                                 LINE_PATTERN_MSBFIRST_LSBJUSTIFIED | 0);
  
@@ -3377,7 +3436,7 @@ Index: src/via_accel.c
          xaaptr->ImageWriteRange = VIA_MMIO_BLTSIZE;
      else
          xaaptr->ImageWriteRange = (64 * 1024);
-@@ -2344,7 +2382,7 @@ viaInitExa(ScreenPtr pScreen)
+@@ -2344,7 +2384,7 @@ viaInitExa(ScreenPtr pScreen)
      }
  
      if (!exaDriverInit(pScreen, pExa)) {
@@ -3386,7 +3445,7 @@ Index: src/via_accel.c
          return NULL;
      }
  
-@@ -2354,7 +2392,7 @@ viaInitExa(ScreenPtr pScreen)
+@@ -2354,7 +2394,7 @@ viaInitExa(ScreenPtr pScreen)
  
  
  /*
@@ -3395,7 +3454,7 @@ Index: src/via_accel.c
   * and initializes engines and acceleration method.
   */
  Bool
-@@ -2542,7 +2580,7 @@ viaExitAccel(ScreenPtr pScreen)
+@@ -2542,7 +2582,7 @@ viaExitAccel(ScreenPtr pScreen)
              }
          }
          if (pVia->dBounce)
@@ -3404,7 +3463,7 @@ Index: src/via_accel.c
  #endif /* XF86DRI */
          if (pVia->scratchAddr) {
              exaOffscreenFree(pScreen, pVia->scratchFBBuffer);
-@@ -2551,7 +2589,7 @@ viaExitAccel(ScreenPtr pScreen)
+@@ -2551,7 +2591,7 @@ viaExitAccel(ScreenPtr pScreen)
          if (pVia->exaDriverPtr) {
              exaDriverFini(pScreen);
          }
@@ -3413,7 +3472,7 @@ Index: src/via_accel.c
          pVia->exaDriverPtr = NULL;
          return;
      }
-@@ -2577,7 +2615,7 @@ viaFinishInitAccel(ScreenPtr pScreen)
+@@ -2577,7 +2617,7 @@ viaFinishInitAccel(ScreenPtr pScreen)
  
      if (pVia->directRenderingEnabled && pVia->useEXA) {
  
@@ -3424,8 +3483,8 @@ Index: src/via_accel.c
  
 Index: src/via_vt162x.c
 ===================================================================
---- src/via_vt162x.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_vt162x.c	(.../trunk)	(revision 916)
+--- src/via_vt162x.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_vt162x.c	(.../trunk)	(revision 921)
 @@ -41,30 +41,42 @@ ViaSetTVClockSource(ScrnInfoPtr pScrn)
      VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
      vgaHWPtr hwp = VGAHWPTR(pScrn);
@@ -3488,8 +3547,8 @@ Index: src/via_vt162x.c
  static void
 Index: src/via_vbe.c
 ===================================================================
---- src/via_vbe.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_vbe.c	(.../trunk)	(revision 916)
+--- src/via_vbe.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_vbe.c	(.../trunk)	(revision 921)
 @@ -230,7 +230,7 @@ ViaVbeSetMode(ScrnInfoPtr pScrn, DisplayModePtr pM
                  /* Some cards do not like setting the clock. */
                  xf86ErrorF("...but worked OK without customized "
@@ -3510,8 +3569,8 @@ Index: src/via_vbe.c
              }
 Index: src/via_xvmc.c
 ===================================================================
---- src/via_xvmc.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_xvmc.c	(.../trunk)	(revision 916)
+--- src/via_xvmc.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_xvmc.c	(.../trunk)	(revision 921)
 @@ -151,7 +151,7 @@ cleanupViaXvMC(ViaXvMCPtr vXvMC, XF86VideoAdaptorP
      for (i = 0; i < VIA_XVMC_MAX_CONTEXTS; ++i) {
          vXvMC->contexts[i] = 0;
@@ -3696,8 +3755,8 @@ Index: src/via_xvmc.c
          for (i = 0; i < VIA_NUM_XVMC_ATTRIBUTES; ++i) {
 Index: src/via_cursor.c
 ===================================================================
---- src/via_cursor.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_cursor.c	(.../trunk)	(revision 916)
+--- src/via_cursor.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_cursor.c	(.../trunk)	(revision 921)
 @@ -98,6 +98,7 @@ viaHWCursorInit(ScreenPtr pScreen)
          case VIA_P4M900:
          case VIA_VX800:
@@ -3924,8 +3983,8 @@ Index: src/via_cursor.c
  
 Index: src/via_i2c.c
 ===================================================================
---- src/via_i2c.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_i2c.c	(.../trunk)	(revision 916)
+--- src/via_i2c.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_i2c.c	(.../trunk)	(revision 921)
 @@ -365,9 +365,18 @@ ViaI2CInit(ScrnInfoPtr pScrn)
  
      DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaI2CInit\n"));
@@ -3950,8 +4009,8 @@ Index: src/via_i2c.c
      if (pVia->I2CScan) {
 Index: src/via_dri.c
 ===================================================================
---- src/via_dri.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_dri.c	(.../trunk)	(revision 916)
+--- src/via_dri.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_dri.c	(.../trunk)	(revision 921)
 @@ -187,7 +187,7 @@ VIADRIRingBufferInit(ScrnInfoPtr pScrn)
              return FALSE;
  
@@ -4073,8 +4132,8 @@ Index: src/via_dri.c
  }
 Index: src/via.h
 ===================================================================
---- src/via.h	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via.h	(.../trunk)	(revision 916)
+--- src/via.h	(.../tags/release_0_2_904)	(revision 921)
++++ src/via.h	(.../trunk)	(revision 921)
 @@ -34,7 +34,7 @@
  
  /* Video Engines */
@@ -4154,8 +4213,8 @@ Index: src/via.h
  #define CHROMA_KEY_HIGH         0x00FFFFFF
 Index: man/openchrome.man
 ===================================================================
---- man/openchrome.man	(.../tags/release_0_2_904)	(revision 916)
-+++ man/openchrome.man	(.../trunk)	(revision 916)
+--- man/openchrome.man	(.../tags/release_0_2_904)	(revision 921)
++++ man/openchrome.man	(.../trunk)	(revision 921)
 @@ -22,7 +22,7 @@ The
  .B openchrome
  driver supports the following chipsets: CLE266, KM400/KN400/KM400A/P4M800,
@@ -4239,8 +4298,8 @@ Index: man/openchrome.man
  Authors include: ...
 Index: src/via_dga.c
 ===================================================================
---- src/via_dga.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_dga.c	(.../trunk)	(revision 916)
+--- src/via_dga.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_dga.c	(.../trunk)	(revision 921)
 @@ -89,16 +89,16 @@ VIASetupDGAMode(
          otherPitch = secondPitch ? secondPitch : pMode->HDisplay;
  
@@ -4263,8 +4322,8 @@ Index: src/via_dga.c
  
 Index: src/via_id.c
 ===================================================================
---- src/via_id.c	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_id.c	(.../trunk)	(revision 916)
+--- src/via_id.c	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_id.c	(.../trunk)	(revision 921)
 @@ -63,6 +63,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
      {"Giga-byte 7VM400(A)M",                  VIA_KM400,   0x1458, 0xD000, VIA_DEVICE_CRT},
      {"MSI KM4(A)M-V",                         VIA_KM400,   0x1462, 0x7061, VIA_DEVICE_CRT}, /* aka "DFI KM400-MLV" */
@@ -4273,7 +4332,15 @@ Index: src/via_id.c
      {"MSI KM4(A)M-L",                         VIA_KM400,   0x1462, 0x7348, VIA_DEVICE_CRT},
      {"Abit VA-10 (1)",                        VIA_KM400,   0x147B, 0x140B, VIA_DEVICE_CRT},
      {"Abit VA-10 (2)",                        VIA_KM400,   0x147B, 0x140C, VIA_DEVICE_CRT},
-@@ -114,6 +115,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -92,6 +93,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
+     {"Shuttle FX21",                          VIA_K8M800,  0x1297, 0x3052, VIA_DEVICE_CRT},
+     {"Shuttle FX83",                          VIA_K8M800,  0x1297, 0xF683, VIA_DEVICE_CRT | VIA_DEVICE_TV},
+     {"Sharp Actius AL27",                     VIA_K8M800,  0x13BD, 0x1044, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
++    {"Sharp Mebius PC-CS30H",                 VIA_K8M800,  0x13BD, 0x1047, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+     {"Sharp PC-AE30J",                        VIA_K8M800,  0x13BD, 0x104B, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+     {"Giga-byte GA-K8VM800M",                 VIA_K8M800,  0x1458, 0xD000, VIA_DEVICE_CRT},
+     {"MSI K8M Neo-V",                         VIA_K8M800,  0x1462, 0x0320, VIA_DEVICE_CRT},
+@@ -114,6 +116,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
      {"Packard Bell Easynote B3 800/B3340",    VIA_K8M800,  0x1631, 0xC009, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Packard Bell Imedia 2097",              VIA_K8M800,  0x1631, 0xD007, VIA_DEVICE_CRT},
      {"Fujitsu-Siemens Amilo K7610",           VIA_K8M800,  0x1734, 0x10B3, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
@@ -4281,7 +4348,7 @@ Index: src/via_id.c
      {"ASRock K8Upgrade-VM800",                VIA_K8M800,  0x1849, 0x3108, VIA_DEVICE_CRT},
      {"Axper XP-M8VM800",                      VIA_K8M800,  0x1940, 0xD000, VIA_DEVICE_CRT},
  
-@@ -138,6 +140,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -138,6 +141,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
      {"Haier A60-440256080BD",                 VIA_VM800,   0x1019, 0x0F79, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"PCChips P23G",                          VIA_VM800,   0x1019, 0x1623, VIA_DEVICE_CRT},
      {"ECS P4M800PRO-M",                       VIA_VM800,   0x1019, 0x2122, VIA_DEVICE_CRT},
@@ -4289,7 +4356,7 @@ Index: src/via_id.c
      {"ECS C7VCM",                             VIA_VM800,   0x1019, 0xAA2D, VIA_DEVICE_CRT},
      {"PCChips V21G",                          VIA_VM800,   0x1019, 0xAA51, VIA_DEVICE_CRT},
      {"Asustek P5VDC-MX",                      VIA_VM800,   0x1043, 0x3344, VIA_DEVICE_CRT},
-@@ -152,6 +155,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -152,6 +156,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
      {"MSI PM8PM",                             VIA_VM800,   0x1462, 0x7222, VIA_DEVICE_CRT},
      {"Twinhead M6",                           VIA_VM800,   0x14FF, 0xA007, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"RoverBook Partner W500",                VIA_VM800,   0x1509, 0x4330, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
@@ -4297,7 +4364,7 @@ Index: src/via_id.c
      {"Clevo/RoverBook Voyager V511L",         VIA_VM800,   0x1558, 0x0662, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Clevo M5xxS",                           VIA_VM800,   0x1558, 0x5406, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Biostar P4M80-M4 / P4VMA-M",            VIA_VM800,   0x1565, 0x1202, VIA_DEVICE_CRT},
-@@ -170,6 +174,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -170,6 +175,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
      {"Asustek M2V-MX SE",                     VIA_K8M890,  0x1043, 0x8297, VIA_DEVICE_CRT},
      {"Foxconn K8M890M2MA-RS2H",               VIA_K8M890,  0x105B, 0x0C84, VIA_DEVICE_CRT},
      {"Shuttle FX22V1",                        VIA_K8M890,  0x1297, 0x3080, VIA_DEVICE_CRT},
@@ -4305,7 +4372,7 @@ Index: src/via_id.c
      {"MSI K9VGM-V",                           VIA_K8M890,  0x1462, 0x7253, VIA_DEVICE_CRT},
      {"Averatec 226x",                         VIA_K8M890,  0x14FF, 0xA002, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Fujitsu/Siemens Amilo La 1703",         VIA_K8M890,  0x1734, 0x10D9, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-@@ -183,12 +188,13 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -183,12 +189,14 @@ static struct ViaCardIdStruct ViaCardId[] = {
      {"Mitac 8515",                            VIA_P4M900,  0x1071, 0x8515, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Medion Notebook MD96483",               VIA_P4M900,  0x1071, 0x8615, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Mitac 8624",                            VIA_P4M900,  0x1071, 0x8624, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
@@ -4317,28 +4384,21 @@ Index: src/via_id.c
      {"MSI P4M900M3-L",                        VIA_P4M900,  0x1462, 0x7387, VIA_DEVICE_CRT},
      {"Twinhead H12V",                         VIA_P4M900,  0x14FF, 0xA00F, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
 +    {"Twinhead K15V",                         VIA_P4M900,  0x14FF, 0xA012, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
++    {"Semp Informática Notebook IS 1462",     VIA_P4M900,  0x1509, 0x1D41, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Everex NC1501/NC1503",                  VIA_P4M900,  0x1509, 0x1E30, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Clevo M660SE",                          VIA_P4M900,  0x1558, 0x0664, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Clevo M660SR",                          VIA_P4M900,  0x1558, 0x0669, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-@@ -198,6 +204,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
-     {"Fujitsu/Siemens Amilo Pro V3515",       VIA_P4M900,  0x1734, 0x10CB, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-     {"Fujitsu/Siemens Amilo Li1705",          VIA_P4M900,  0x1734, 0x10F7, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-     {"ASRock P4VM900-SATA2",                  VIA_P4M900,  0x1849, 0x3371, VIA_DEVICE_CRT},
-+    {"Semp Informática Notebook IS 1462",     VIA_P4M900,  0x1509, 0x1D41, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- 
-     /*** CX700 ***/
-     {"VIA VT8454B",                           VIA_CX700,   0x0908, 0x1975, VIA_DEVICE_CRT}, /* Evaluation board, reference possibly wrong */
-@@ -224,14 +231,21 @@ static struct ViaCardIdStruct ViaCardId[] = {
+@@ -224,14 +232,23 @@ static struct ViaCardIdStruct ViaCardId[] = {
  
      /*** VX800 ***/
      {"VIA Epia M700",                         VIA_VX800,   0x1106, 0x1122, VIA_DEVICE_CRT},
++    {"Siragon ML-6200",                       VIA_VX800,   0x1106, 0x2211, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
 +    {"Guillemot-Hercules ECafe EC900B",       VIA_VX800,   0x1106, 0x3349, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"VIA OpenBook",                          VIA_VX800,   0x1170, 0x0311, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, /* VIA OpenBook eNote VBE8910 */
      {"Samsung NC20",                          VIA_VX800,   0x144d, 0xc04e, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
 +    {"FIC CE2A1",                             VIA_VX800,   0x1509, 0x3002, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Quanta DreamBook Light IL1",            VIA_VX800,   0x152d, 0x0771, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
      {"Lenovo S12",                            VIA_VX800,   0x17aa, 0x388c, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
-+    {"Siragon ML-6200",                       VIA_VX800,   0x1106, 0x2211, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
  
      /*** VX855 ***/
      {"VIA VT8562C",                           VIA_VX855,   0x1106, 0x5122, VIA_DEVICE_CRT},
@@ -4346,14 +4406,16 @@ Index: src/via_id.c
  
 +    /*** VX900 ***/
 +    {"Foxconn L740",                          VIA_VX900,   0x105B, 0x0CFD, VIA_DEVICE_LCD | VIA_DEVICE_CRT},
++    {"HP T5550 Thin Client",                  VIA_VX900,   0x1106, 0x7122, VIA_DEVICE_CRT},
++
 +
      /* keep this */
      {NULL,                                    VIA_UNKNOWN, 0x0000, 0x0000, VIA_DEVICE_NONE}
  };
 Index: src/via_timing.h
 ===================================================================
---- src/via_timing.h	(.../tags/release_0_2_904)	(revision 916)
-+++ src/via_timing.h	(.../trunk)	(revision 916)
+--- src/via_timing.h	(.../tags/release_0_2_904)	(revision 921)
++++ src/via_timing.h	(.../trunk)	(revision 921)
 @@ -40,7 +40,7 @@
  #define TIMING_CVT_WARN_REFRESH_RATE_NOT_RB 1 << 3
  
diff --git a/xorg-x11-drv-openchrome.spec b/xorg-x11-drv-openchrome.spec
index d39767a..2d7ace6 100644
--- a/xorg-x11-drv-openchrome.spec
+++ b/xorg-x11-drv-openchrome.spec
@@ -10,7 +10,7 @@
 Summary:        Xorg X11 openchrome video driver
 Name:           xorg-x11-drv-openchrome
 Version:        0.2.904
-Release:        12%{?dist}
+Release:        13%{?dist}
 URL:            http://www.openchrome.org
 License:        MIT
 Group:          User Interface/X Hardware Support
@@ -20,7 +20,7 @@ Source1:        openchrome.xinf
 
 # Patches from upstream trunk :
 # svn diff -x -p http://svn.openchrome.org/svn/tags/release_0_2_904 http://svn.openchrome.org/svn/trunk
-Patch0:         openchrome-0.2.904-svn916.patch
+Patch0:         openchrome-0.2.904-svn921.patch
 
 # Fedora specific patches :
 
@@ -124,6 +124,9 @@ fi
 
 
 %changelog
+* Sat May 06 2011 Xavier Bachelot <xavier at bachelot.org> - 0.2.904-13
+- Update to svn921 for XO 1.5 regression and Xv crash fix.
+
 * Thu Mar 03 2011 Xavier Bachelot <xavier at bachelot.org> - 0.2.904-12
 - Update to svn916 for VX900 support and bug fixes.
 


More information about the scm-commits mailing list