diff options
author | Eric Anholt <anholt@freebsd.org> | 2004-07-23 05:36:14 +0000 |
---|---|---|
committer | Eric Anholt <anholt@freebsd.org> | 2004-07-23 05:36:14 +0000 |
commit | 6f1e01ecdb11913fd768b9918f516b8379b7858f (patch) | |
tree | d4f17a99e6570a5c335400c5a0d0c40817342504 /src/atimisc.c | |
parent | b68322f467b7e524092af15e33ab872abb99b6a2 (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/atimisc.c')
-rw-r--r-- | src/atimisc.c | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/src/atimisc.c b/src/atimisc.c index 61801eb..cfbf40f 100644 --- a/src/atimisc.c +++ b/src/atimisc.c @@ -1,6 +1,6 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atimisc.c,v 1.7 2003/07/24 22:08:28 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atimisc.c,v 1.8tsi Exp $ */ /* - * Copyright 2000 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + * Copyright 2000 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,7 +38,7 @@ static XF86ModuleVersionInfo ATIVersionRec = MODULEVENDORSTRING, MODINFOSTRING1, MODINFOSTRING2, - XF86_VERSION_CURRENT, + XORG_VERSION_CURRENT, ATI_VERSION_MAJOR, ATI_VERSION_MINOR, ATI_VERSION_PATCH, ABI_CLASS_VIDEODRV, ABI_VIDEODRV_VERSION, @@ -65,8 +65,38 @@ ATISetup if (!Inited) { /* Ensure main driver module is loaded, but not as a submodule */ - if (!xf86ServerIsOnlyDetecting() && !LoaderSymbol(ATI_NAME)) - xf86LoadOneModule(ATI_DRIVER_NAME, Options); + if (!xf86ServerIsOnlyDetecting()) + { + if (!LoaderSymbol(ATI_NAME)) + xf86LoadOneModule(ATI_DRIVER_NAME, Options); + + /* ati & atimisc module versions must match */ + do + { + XF86ModuleData *pModuleData = LoaderSymbol("atiModuleData"); + + if (pModuleData) + { + XF86ModuleVersionInfo *pModuleInfo = pModuleData->vers; + + if ((pModuleInfo->majorversion == ATI_VERSION_MAJOR) && + (pModuleInfo->minorversion == ATI_VERSION_MINOR) && + (pModuleInfo->patchlevel == ATI_VERSION_PATCH)) + break; + } + + xf86Msg(X_ERROR, + "\"ati\" and \"atimisc\" module versions must" + " match.\n"); + + if (ErrorMajor) + *ErrorMajor = (int)LDR_MISMATCH; + if (ErrorMinor) + *ErrorMinor = (int)LDR_MISMATCH; + + return NULL; + } while (0); + } /* * Tell loader about symbols from other modules that this module might @@ -84,12 +114,12 @@ ATISetup #endif /* AVOID_CPIO */ -#ifdef XF86DRI +#ifdef XF86DRI_DEVEL ATIdrmSymbols, ATIdriSymbols, -#endif /* XF86DRI */ +#endif /* XF86DRI_DEVEL */ ATIfbSymbols, ATIshadowfbSymbols, |