summaryrefslogtreecommitdiff
path: root/src/aticonsole.c
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2004-07-23 05:36:14 +0000
committerEric Anholt <anholt@freebsd.org>2004-07-23 05:36:14 +0000
commit6f1e01ecdb11913fd768b9918f516b8379b7858f (patch)
treed4f17a99e6570a5c335400c5a0d0c40817342504 /src/aticonsole.c
parentb68322f467b7e524092af15e33ab872abb99b6a2 (diff)
- Add a new option, BuildDevelDRIDrivers, which controls whether
DevelDRIDrivers is non-empty. DevelDRIDrivers contains those drivers aren't built by default either due to being unusable on that architecture (but buildable for testing) or due to security concerns, as in the mach64 and savage cases. - Merge the Mach64 DDX's DRI support, under the XF86DRI_DEVEL define, which is set only when BuildDevelDRIDrivers is set. - Fix up of the sets of DRI drivers built for various architectures. - Fix build of unichrome DRI driver, which is now enabled on x86.
Diffstat (limited to 'src/aticonsole.c')
-rw-r--r--src/aticonsole.c31
1 files changed, 18 insertions, 13 deletions
diff --git a/src/aticonsole.c b/src/aticonsole.c
index 1d65df7c..1b87a956 100644
--- a/src/aticonsole.c
+++ b/src/aticonsole.c
@@ -1,6 +1,6 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/aticonsole.c,v 1.21 2003/07/24 22:08:27 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/aticonsole.c,v 1.22 2003/11/13 18:42:47 tsi Exp $ */
/*
- * Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
+ * Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -38,6 +38,10 @@
#include "ativga.h"
#include "atividmem.h"
+#ifdef XF86DRI_DEVEL
+#include "mach64_common.h"
+#endif
+
#include "mach64_common.h"
@@ -253,7 +257,7 @@ ATISwitchMode
{
pScreenInfo->currentMode = pMode;
-#ifdef XF86DRI
+#ifdef XF86DRI_DEVEL
if (pATI->directRenderingEnabled)
{
@@ -261,18 +265,18 @@ ATISwitchMode
ATIDRIWaitForIdle(pATI);
}
-#endif /* XF86DRI */
+#endif /* XF86DRI_DEVEL */
ATIModeSet(pScreenInfo, pATI, &pATI->NewHW);
-#ifdef XF86DRI
+#ifdef XF86DRI_DEVEL
if (pATI->directRenderingEnabled)
{
DRIUnlock(pScreenInfo->pScreen);
}
-#endif /* XF86DRI */
+#endif /* XF86DRI_DEVEL */
}
@@ -307,14 +311,14 @@ ATIEnterVT
if (pATI->OptionShadowFB)
{
-#ifdef XF86DRI
+#ifdef XF86DRI_DEVEL
if (pATI->directRenderingEnabled)
{
DRIUnlock(pScreen);
}
-#endif /* XF86DRI */
+#endif /* XF86DRI_DEVEL */
return TRUE;
}
@@ -342,14 +346,14 @@ ATIEnterVT
pScreenPixmap->devPrivate.ptr = NULL;
}
-#ifdef XF86DRI
+#ifdef XF86DRI_DEVEL
if (pATI->directRenderingEnabled)
{
DRIUnlock(pScreen);
}
-#endif /* XF86DRI */
+#endif /* XF86DRI_DEVEL */
return Entered;
}
@@ -371,7 +375,7 @@ ATILeaveVT
ScreenPtr pScreen = pScreenInfo->pScreen;
ATIPtr pATI = ATIPTR(pScreenInfo);
-#ifdef XF86DRI
+#ifdef XF86DRI_DEVEL
if (pATI->directRenderingEnabled)
{
@@ -379,7 +383,7 @@ ATILeaveVT
ATIDRIWaitForIdle(pATI);
}
-#endif /* XF86DRI */
+#endif /* XF86DRI_DEVEL */
ATILeaveGraphics(pScreenInfo, ATIPTR(pScreenInfo));
}
@@ -400,7 +404,8 @@ ATIFreeScreen
ScrnInfoPtr pScreenInfo = xf86Screens[iScreen];
ATIPtr pATI = ATIPTR(pScreenInfo);
- ATII2CFreeScreen(iScreen);
+ if (pATI->Closeable || (serverGeneration > 1))
+ ATII2CFreeScreen(iScreen);
if (pATI->Closeable)
(void)(*pScreen->CloseScreen)(iScreen, pScreen);