[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#425814: xserver-xorg-video-ati: Xv broken on Mach64 3D Rage LT Pro AGP-133



On Fri, 2007-05-25 at 09:17 +0200, Svante Signell wrote:
> On Fri, 2007-05-25 at 08:44 +0200, Michel Dänzer wrote:
> > On Thu, 2007-05-24 at 22:15 +0200, Svante Signell wrote:
> > > On Thu, 2007-05-24 at 20:54 +0200, Svante Signell wrote:
> > > > On Thu, 2007-05-24 at 11:44 +0200, Brice Goglin wrote:
> ...
> > > I have now downgraded the following packages:
> > > apt-get install xserver-xorg-core=2:1.1.1-21 xserver-xorg=1:7.1.0-16
> > > apt-get install xserver-xorg-video-ati (1:6.6.3-2 from Stable)
> > > With them all works OK!
> > 
> > What about the new version of xserver-xorg-core with the old version of
> > xserver-xorg-video-ati?
> 
> This was the original setup since version 1:6.6.3-2 is used by both
> stable and unstable. 

Ah never mind, I took 'I have now downgraded the following packages'
literally.


> It seems I can upgrade xserver-xorg-core to 2:1.3.0.0.dfsg-5 without 
> upgrading xserver-xorg to 1:7.2-3 but do you really think the problem 
> is in xserver-xorg-7.2?

No, xserver-xorg-core it seems to be. The thing is, there were only
small changes in its Xv code between those two versions. Although there
was a known regression fixed by the attached patch, its only known
symptom is a server which only happens with a driver hook not used by
the ati driver. You may still want to try the patch though.


Also, your description of the problem sounds like it might be related to
the colour key. What does

xvinfo|grep -A2 COLORKEY

say when the problem occurs?


Last but not least, it might be helpful if you could capture the problem
with a digital camera or something.


-- 
Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer
diff --git a/hw/xfree86/common/xf86xv.c b/hw/xfree86/common/xf86xv.c
index 2b097d2..02fcde6 100644
--- a/hw/xfree86/common/xf86xv.c
+++ b/hw/xfree86/common/xf86xv.c
@@ -979,6 +979,9 @@ xf86XVEnlistPortInWindow(WindowPtr pWin, XvPortRecPrivatePtr portPriv)
 	winPriv->next = PrivRoot;
 	pWin->devPrivates[XF86XVWindowIndex].ptr = (pointer)winPriv;
    }
+
+   portPriv->pDraw = (DrawablePtr)pWin;
+
    return Success;
 }
 
@@ -1375,7 +1378,6 @@ xf86XVPutVideo(
   result =  xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv);
   if(result != Success) return result;
 
-  portPriv->pDraw = pDraw;
   portPriv->type = XvInputMask;
 
   /* save a copy of these parameters */
@@ -1479,7 +1481,6 @@ xf86XVPutStill(
 
      xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv);
      portPriv->isOn = XV_ON;
-     portPriv->pDraw = pDraw;
      portPriv->drw_x = drw_x;  portPriv->drw_y = drw_y;
      portPriv->drw_w = drw_w;  portPriv->drw_h = drw_h;
      portPriv->type = 0;  /* no mask means it's transient and should
@@ -1529,7 +1530,6 @@ xf86XVGetVideo(
   result =  xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv);
   if(result != Success) return result;
 
-  portPriv->pDraw = pDraw;
   portPriv->type = XvOutputMask;
 
   /* save a copy of these parameters */
@@ -1784,7 +1784,6 @@ xf86XVPutImage(
 	(portPriv->AdaptorRec->flags & VIDEO_OVERLAID_IMAGES)) {
 
      portPriv->isOn = XV_ON;
-     portPriv->pDraw = pDraw;
      portPriv->drw_x = drw_x;  portPriv->drw_y = drw_y;
      portPriv->drw_w = drw_w;  portPriv->drw_h = drw_h;
      portPriv->type = 0;  /* no mask means it's transient and should

Reply to: