Index: programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx1_video.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx1_video.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx1_video.c 23 Apr 2004 19:40:15 -0000 1.2 +++ programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx1_video.c 18 Oct 2004 14:21:45 -0000 1.3 @@ -1,7 +1,7 @@ /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx1_video.c,v 1.7tsi Exp $ */ /* * $Workfile: nsc_gx1_video.c $ - * $Revision: 1.2 $ + * $Revision: 1.3 $ * $Author: eich $ * * File Contents: This file consists of main Xfree video supported routines. @@ -240,45 +240,42 @@ GeodePtr pGeode; ScrnInfoPtr pScreenInfo = xf86Screens[pScreen->myNum]; + XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL; + XF86VideoAdaptorPtr newAdaptor = NULL; + + int num_adaptors; pGeode = GEODEPTR(pScreenInfo); - if (!pGeode->NoAccel) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL; - XF86VideoAdaptorPtr newAdaptor = NULL; - - int num_adaptors; - - DEBUGMSG(0, (0, X_NONE, "InitVideo\n")); - newAdaptor = GX1SetupImageVideo(pScreen); - GX1InitOffscreenImages(pScreen); - - num_adaptors = xf86XVListGenericAdaptors(pScrn, &adaptors); - - if (newAdaptor) { - if (!num_adaptors) { - num_adaptors = 1; - adaptors = &newAdaptor; - } else { - newAdaptors = /* need to free this someplace */ - xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr *)); - if (newAdaptors) { + + DEBUGMSG(0, (0, X_NONE, "InitVideo\n")); + newAdaptor = GX1SetupImageVideo(pScreen); + GX1InitOffscreenImages(pScreen); + + num_adaptors = xf86XVListGenericAdaptors(pScreenInfo, &adaptors); + + if (newAdaptor) { + if (!num_adaptors) { + num_adaptors = 1; + adaptors = &newAdaptor; + } else { + newAdaptors = /* need to free this someplace */ + xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr *)); + if (newAdaptors) { memcpy(newAdaptors, adaptors, num_adaptors * sizeof(XF86VideoAdaptorPtr)); newAdaptors[num_adaptors] = newAdaptor; adaptors = newAdaptors; num_adaptors++; - } - } - } - - if (num_adaptors) - xf86XVScreenInit(pScreen, adaptors, num_adaptors); - - if (newAdaptors) - xfree(newAdaptors); + } + } } + + if (num_adaptors) + xf86XVScreenInit(pScreen, adaptors, num_adaptors); + + if (newAdaptors) + xfree(newAdaptors); } /* client libraries expect an encoding */ @@ -413,17 +410,15 @@ void GX1ResetVideo(ScrnInfoPtr pScrn) { - GeodePtr pGeode = GEODEPTR(pScrn); + GeodePtr pGeode = GEODEPTR(pScrn); - if (!pGeode->NoAccel) { - GeodePortPrivPtr pPriv = pGeode->adaptor->pPortPrivates[0].ptr; + GeodePortPrivPtr pPriv = pGeode->adaptor->pPortPrivates[0].ptr; - DEBUGMSG(0, (0, X_NONE, "ResetVideo\n")); - GX1AccelSync(pScrn); - GFX(set_video_palette(NULL)); - GX1SetColorkey(pScrn, pPriv); - GFX(set_video_filter(pPriv->filter, pPriv->filter)); - } + DEBUGMSG(0, (0, X_NONE, "ResetVideo\n")); + if (!pGeode->NoAccel) GX1AccelSync(pScrn); + GFX(set_video_palette(NULL)); + GX1SetColorkey(pScrn, pPriv); + GFX(set_video_filter(pPriv->filter, pPriv->filter)); } /*---------------------------------------------------------------------------- @@ -537,7 +532,7 @@ DEBUGMSG(0, (0, X_NONE, "StopVideo\n")); REGION_EMPTY(pScrn->pScreen, &pPriv->clip); - GX1AccelSync(pScrn); + if (!pGeode->NoAccel) GX1AccelSync(pScrn); if (exit) { if (pPriv->videoStatus & CLIENT_VIDEO_ON) { GFX(set_video_enable(0)); @@ -580,8 +575,9 @@ Atom attribute, INT32 value, pointer data) { GeodePortPrivPtr pPriv = (GeodePortPrivPtr) data; + GeodePtr pGeode = GEODEPTR(pScrn); - GX1AccelSync(pScrn); + if (!pGeode->NoAccel) GX1AccelSync(pScrn); if (attribute == xvColorKey) { pPriv->colorKey = value; GX1SetColorkey(pScrn, pPriv); @@ -1002,7 +998,7 @@ GeodePtr pGeode = GEODEPTR(pScrn); /* DisplayModePtr mode = pScrn->currentMode; */ - GX1AccelSync(pScrn); + if (!pGeode->NoAccel) GX1AccelSync(pScrn); GFX(set_video_enable(1)); @@ -1353,7 +1349,7 @@ (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask); pScreen->BlockHandler = GX1BlockHandler; - GX1AccelSync(pScrn); + if (!pGeode->NoAccel) GX1AccelSync(pScrn); if (pPriv->videoStatus & TIMER_MASK) { UpdateCurrentTime(); if (pPriv->videoStatus & OFF_TIMER) { Index: programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx2_video.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx2_video.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx2_video.c 23 Apr 2004 19:40:15 -0000 1.2 +++ programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx2_video.c 18 Oct 2004 14:21:45 -0000 1.3 @@ -1,7 +1,7 @@ /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx2_video.c,v 1.6tsi Exp $ */ /* * $Workfile: nsc_gx2_video.c $ - * $Revision: 1.2 $ + * $Revision: 1.3 $ * $Author: eich $ * * File Contents: This file consists of main Xfree video supported routines. @@ -233,46 +233,42 @@ void GX2InitVideo(ScreenPtr pScreen) { - GeodePtr pGeode; - ScrnInfoPtr pScreenInfo = xf86Screens[pScreen->myNum]; + GeodePtr pGeode; + ScrnInfoPtr pScreenInfo = xf86Screens[pScreen->myNum]; + XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL; + XF86VideoAdaptorPtr newAdaptor = NULL; - pGeode = GEODEPTR(pScreenInfo); + int num_adaptors; - if (!pGeode->NoAccel) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL; - XF86VideoAdaptorPtr newAdaptor = NULL; + pGeode = GEODEPTR(pScreenInfo); - int num_adaptors; + newAdaptor = GX2SetupImageVideo(pScreen); + GX2InitOffscreenImages(pScreen); - newAdaptor = GX2SetupImageVideo(pScreen); - GX2InitOffscreenImages(pScreen); + num_adaptors = xf86XVListGenericAdaptors(pScreenInfo, &adaptors); - num_adaptors = xf86XVListGenericAdaptors(pScrn, &adaptors); - - if (newAdaptor) { - if (!num_adaptors) { + if (newAdaptor) { + if (!num_adaptors) { num_adaptors = 1; adaptors = &newAdaptor; - } else { + } else { newAdaptors = /* need to free this someplace */ - xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr *)); + xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr *)); if (newAdaptors) { - memcpy(newAdaptors, adaptors, num_adaptors * - sizeof(XF86VideoAdaptorPtr)); - newAdaptors[num_adaptors] = newAdaptor; - adaptors = newAdaptors; - num_adaptors++; + memcpy(newAdaptors, adaptors, num_adaptors * + sizeof(XF86VideoAdaptorPtr)); + newAdaptors[num_adaptors] = newAdaptor; + adaptors = newAdaptors; + num_adaptors++; } - } - } + } + } - if (num_adaptors) - xf86XVScreenInit(pScreen, adaptors, num_adaptors); + if (num_adaptors) + xf86XVScreenInit(pScreen, adaptors, num_adaptors); - if (newAdaptors) - xfree(newAdaptors); - } + if (newAdaptors) + xfree(newAdaptors); } /* client libraries expect an encoding */ @@ -416,16 +412,14 @@ void GX2ResetVideo(ScrnInfoPtr pScrn) { - GeodePtr pGeode = GEODEPTR(pScrn); + GeodePtr pGeode = GEODEPTR(pScrn); - if (!pGeode->NoAccel) { - GeodePortPrivPtr pPriv = pGeode->adaptor->pPortPrivates[0].ptr; + GeodePortPrivPtr pPriv = pGeode->adaptor->pPortPrivates[0].ptr; - GX2AccelSync(pScrn); - GFX(set_video_palette(NULL)); - GX2SetColorkey(pScrn, pPriv); - GFX(set_video_filter(pPriv->filter, pPriv->filter)); - } + if (!pGeode->NoAccel) GX2AccelSync(pScrn); + GFX(set_video_palette(NULL)); + GX2SetColorkey(pScrn, pPriv); + GFX(set_video_filter(pPriv->filter, pPriv->filter)); } /*---------------------------------------------------------------------------- @@ -537,7 +531,7 @@ REGION_EMPTY(pScrn->pScreen, &pPriv->clip); - GX2AccelSync(pScrn); + if (!pGeode->NoAccel) GX2AccelSync(pScrn); if (exit) { if (pPriv->videoStatus & CLIENT_VIDEO_ON) { GFX(set_video_enable(0)); @@ -580,8 +574,9 @@ Atom attribute, INT32 value, pointer data) { GeodePortPrivPtr pPriv = (GeodePortPrivPtr) data; + GeodePtr pGeode = GEODEPTR(pScrn); - GX2AccelSync(pScrn); + if (!pGeode->NoAccel) GX2AccelSync(pScrn); if (attribute == xvColorKey) { pPriv->colorKey = value; GX2SetColorkey(pScrn, pPriv); @@ -941,7 +936,7 @@ { GeodePtr pGeode = GEODEPTR(pScrn); - GX2AccelSync(pScrn); + if (!pGeode->NoAccel) GX2AccelSync(pScrn); GFX(set_video_enable(1)); @@ -1298,7 +1293,7 @@ (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask); pScreen->BlockHandler = GX2BlockHandler; - GX2AccelSync(pScrn); + if (!pGeode->NoAccel) GX2AccelSync(pScrn); if (pPriv->videoStatus & TIMER_MASK) { UpdateCurrentTime(); if (pPriv->videoStatus & OFF_TIMER) {