summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2005-02-11 10:53:14 +0000
committerAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2005-02-11 10:53:14 +0000
commit61abb2602865c036277eb423abb27d8c52214687 (patch)
treec014036b8a514dd37378d59da66bd1443b281b48
parent02bbf384da04d33da167f65b6cdaaf1f01a69cc3 (diff)
Import changes from XORG-6.8.2CYGWIN-6_8_2-MERGECYGWIN
-rw-r--r--src/nsc_gx1_video.c82
-rw-r--r--src/nsc_gx2_video.c75
2 files changed, 74 insertions, 83 deletions
diff --git a/src/nsc_gx1_video.c b/src/nsc_gx1_video.c
index 06e671e..b46d5de 100644
--- a/src/nsc_gx1_video.c
+++ b/src/nsc_gx1_video.c
@@ -240,45 +240,42 @@ GX1InitVideo(ScreenPtr pScreen)
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 @@ GX1SetColorkey(ScrnInfoPtr pScrn, GeodePortPrivPtr pPriv)
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 @@ GX1StopVideo(ScrnInfoPtr pScrn, pointer data, Bool exit)
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 @@ GX1SetPortAttribute(ScrnInfoPtr pScrn,
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 @@ GX1DisplayVideo(ScrnInfoPtr pScrn,
GeodePtr pGeode = GEODEPTR(pScrn);
/* DisplayModePtr mode = pScrn->currentMode; */
- GX1AccelSync(pScrn);
+ if (!pGeode->NoAccel) GX1AccelSync(pScrn);
GFX(set_video_enable(1));
@@ -1353,7 +1349,7 @@ GX1BlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask)
(*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) {
diff --git a/src/nsc_gx2_video.c b/src/nsc_gx2_video.c
index 2213f32..be2fceb 100644
--- a/src/nsc_gx2_video.c
+++ b/src/nsc_gx2_video.c
@@ -233,46 +233,42 @@ static Atom xvColorKey, xvColorKeyMode, xvFilter
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 @@ GX2SetColorkey(ScrnInfoPtr pScrn, GeodePortPrivPtr pPriv)
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 @@ GX2StopVideo(ScrnInfoPtr pScrn, pointer data, Bool exit)
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 @@ GX2SetPortAttribute(ScrnInfoPtr pScrn,
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 @@ GX2DisplayVideo(ScrnInfoPtr pScrn,
{
GeodePtr pGeode = GEODEPTR(pScrn);
- GX2AccelSync(pScrn);
+ if (!pGeode->NoAccel) GX2AccelSync(pScrn);
GFX(set_video_enable(1));
@@ -1298,7 +1293,7 @@ GX2BlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask)
(*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) {