xserver-xorg-video-glide: Changes to 'upstream-unstable'
.gitignore | 3
configure.ac | 2
src/glide_driver.c | 1475 ++++++++++++++++++++++++++---------------------------
3 files changed, 728 insertions(+), 752 deletions(-)
New commits:
commit 44047d72706c1a9ac80cff7714241c1934437c6f
Author: Guillem Jover <guillem@hadrons.org>
Date: Thu Sep 19 06:46:23 2013 +0200
Bump to 1.2.2
Signed-off-by: Guillem Jover <guillem@hadrons.org>
diff --git a/configure.ac b/configure.ac
index cf5f896..a1b35ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
AC_PREREQ([2.60])
AC_INIT([xf86-video-glide],
- [1.2.1],
+ [1.2.2],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-video-glide])
commit 6af93046dabc8ef63bbabd266841cb34d5eb174a
Author: Guillem Jover <guillem@hadrons.org>
Date: Wed Sep 18 19:50:54 2013 +0200
Add compile, *.tar.bz2 and *.tar.gz to .gitignore
Signed-off-by: Guillem Jover <guillem@hadrons.org>
diff --git a/.gitignore b/.gitignore
index d90176e..5ffeddb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@ Makefile.in
*.lo
aclocal.m4
autom4te.cache
+compile
config.guess
config.h
config.h.in
@@ -19,3 +20,5 @@ ltmain.sh
missing
stamp-h1
*~
+*.tar.bz2
+*.tar.gz
commit 00bd4faaf963806f7b322e90fd33b57834a6dbe1
Author: Guillem Jover <guillem@hadrons.org>
Date: Wed Sep 18 19:43:19 2013 +0200
Move miSetVisualTypes() call outside an if conditional
The function call is a bit long, take it out of the conditional and use
a ret variable instead.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
diff --git a/src/glide_driver.c b/src/glide_driver.c
index 897bebf..a37589f 100644
--- a/src/glide_driver.c
+++ b/src/glide_driver.c
@@ -606,9 +606,10 @@ GLIDEScreenInit(SCREEN_INIT_ARGS_DECL)
miClearVisualTypes();
/* Setup the visuals we support. Only TrueColor. */
- if (!miSetVisualTypes(pScrn->depth,
- miGetDefaultVisualMask(pScrn->depth),
- pScrn->rgbBits, pScrn->defaultVisual))
+ ret = miSetVisualTypes(pScrn->depth,
+ miGetDefaultVisualMask(pScrn->depth),
+ pScrn->rgbBits, pScrn->defaultVisual);
+ if (!ret)
return FALSE;
miSetPixmapDepths();
commit 9ff6c53d427c785898ccf34f7e322be0c8d0c2c3
Author: Guillem Jover <guillem@hadrons.org>
Date: Wed Sep 18 19:36:00 2013 +0200
Do not assign to variables inside if conditionals
Signed-off-by: Guillem Jover <guillem@hadrons.org>
diff --git a/src/glide_driver.c b/src/glide_driver.c
index be1f079..897bebf 100644
--- a/src/glide_driver.c
+++ b/src/glide_driver.c
@@ -297,7 +297,8 @@ GLIDEProbe(DriverPtr drv, int flags)
ScrnInfoPtr pScrn;
int GlideDevice;
- if ((numdevList = xf86MatchDevice(GLIDE_DRIVER_NAME, &devList)) <= 0)
+ numdevList = xf86MatchDevice(GLIDE_DRIVER_NAME, &devList);
+ if (numdevList <= 0)
return FALSE;
num_sst = glide_get_num_boards();
@@ -322,7 +323,8 @@ GLIDEProbe(DriverPtr drv, int flags)
pScrn = NULL;
/* Allocate a ScrnInfoRec and claim the slot */
- if ((pScrn = xf86AllocateScreen(drv, 0))) {
+ pScrn = xf86AllocateScreen(drv, 0);
+ if (pScrn) {
GLIDEPtr pGlide;
xf86AddEntityToScreen(pScrn, entityIndex);
commit 6250d5c052768b706dd897e5db399fa9ee4c2c1e
Author: Guillem Jover <guillem@hadrons.org>
Date: Wed Sep 18 19:30:48 2013 +0200
Unify return value variable name to ret
Use that instead of r or i, which is way more clear.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
diff --git a/src/glide_driver.c b/src/glide_driver.c
index 2e340a6..be1f079 100644
--- a/src/glide_driver.c
+++ b/src/glide_driver.c
@@ -257,10 +257,10 @@ static int
glide_get_num_boards(void)
{
FxI32 num_sst;
- int r;
+ int ret;
- r = grGet(GR_NUM_BOARDS, sizeof(num_sst), &num_sst);
- if (!r) {
+ ret = grGet(GR_NUM_BOARDS, sizeof(num_sst), &num_sst);
+ if (!ret) {
xf86Msg(X_ERROR,
"GLIDEProbe(): Error calling grGet(GR_NUM_BOARDS)!\n");
return -1;
@@ -273,10 +273,10 @@ static int
glide_get_num_boards(void)
{
GrHwConfiguration hw;
- int r;
+ int ret;
- r = grSstQueryBoards(&hw);
- if (!r) {
+ ret = grSstQueryBoards(&hw);
+ if (!ret) {
xf86Msg(X_ERROR, "GLIDEProbe(): Error calling grSstQueryBoards!\n");
return -1;
}
@@ -372,7 +372,7 @@ GLIDEPreInit(ScrnInfoPtr pScrn, int flags)
{
GLIDEPtr pGlide;
MessageType from;
- int i;
+ int ret;
ClockRangePtr clockRanges;
if (flags & PROBE_DETECT)
@@ -495,16 +495,14 @@ GLIDEPreInit(ScrnInfoPtr pScrn, int flags)
clockRanges->doubleScanAllowed = TRUE;
/* Select valid modes from those available */
- i = xf86ValidateModes(pScrn, pScrn->monitor->Modes,
- pScrn->display->modes, clockRanges,
- NULL, 256, 2048,
- pScrn->bitsPerPixel, 128, 2048,
- pScrn->display->virtualX,
- pScrn->display->virtualY,
- pScrn->videoRam * 1024,
- LOOKUP_BEST_REFRESH);
-
- if (i == -1) {
+ ret = xf86ValidateModes(pScrn, pScrn->monitor->Modes,
+ pScrn->display->modes, clockRanges,
+ NULL, 256, 2048,
+ pScrn->bitsPerPixel, 128, 2048,
+ pScrn->display->virtualX,
+ pScrn->display->virtualY,
+ pScrn->videoRam * 1024, LOOKUP_BEST_REFRESH);
+ if (ret == -1) {
GLIDEFreeRec(pScrn);
return FALSE;
}
@@ -513,7 +511,7 @@ GLIDEPreInit(ScrnInfoPtr pScrn, int flags)
xf86PruneDriverModes(pScrn);
/* If no valid modes, return */
- if (i == 0 || pScrn->modes == NULL) {
+ if (ret == 0 || pScrn->modes == NULL) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes found\n");
GLIDEFreeRec(pScrn);
return FALSE;
@@ -774,7 +772,7 @@ static Bool
GLIDEModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
{
GLIDEPtr pGlide;
- int r;
+ int ret;
int width, height;
double refresh;
Bool match = FALSE;
@@ -850,16 +848,12 @@ GLIDEModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
grGlideInit();
grSstSelect(pGlide->SST_Index);
- r = grSstWinOpen(0,
- pGlide->grResolution,
- pGlide->grRefreshRate,
- GR_COLORFORMAT_ARGB,
- GR_ORIGIN_UPPER_LEFT,
- 2, 0);
- if (!r) {
+ ret = grSstWinOpen(0, pGlide->grResolution, pGlide->grRefreshRate,
+ GR_COLORFORMAT_ARGB, GR_ORIGIN_UPPER_LEFT, 2, 0);
+ if (!ret) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "grSstWinOpen returned %d. "
"You are probably trying to use a resolution that is not "
- "supported by your hardware.", r);
+ "supported by your hardware.", ret);
return FALSE;
}
commit 45a85c82c66b2435606bf0cb712f5b18f5094404
Author: Guillem Jover <guillem@hadrons.org>
Date: Wed Sep 18 19:49:31 2013 +0200
Remove unused bool typedef
We are already using the X Bool type.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
diff --git a/src/glide_driver.c b/src/glide_driver.c
index b304d00..2e340a6 100644
--- a/src/glide_driver.c
+++ b/src/glide_driver.c
@@ -82,7 +82,6 @@ typedef signed short int s16;
typedef unsigned short int u16;
typedef signed long int s32;
typedef unsigned long int u32;
-typedef u8 bool;
/* Card-specific driver information */
commit fa72126d3736f557becea8f5707e639be1d6f6f4
Author: Guillem Jover <guillem@hadrons.org>
Date: Wed Sep 18 19:38:30 2013 +0200
Remove dead loader code
The function LoaderCheckUnresolved() was removed from the X server in
2009, and had been a stub since 2006.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
diff --git a/src/glide_driver.c b/src/glide_driver.c
index faba80c..b304d00 100644
--- a/src/glide_driver.c
+++ b/src/glide_driver.c
@@ -671,11 +671,6 @@ GLIDEScreenInit(SCREEN_INIT_ARGS_DECL)
if (serverGeneration == 1)
xf86ShowUnusedOptions(pScrn->scrnIndex, pScrn->options);
-#if 0
- LoaderCheckUnresolved(LD_RESOLV_NOW);
- return FALSE;
-#endif
-
/* Done */
return TRUE;
}
commit 601d6af9fcefa69d7a76c6f968a153bac6f33c61
Author: Guillem Jover <guillem@hadrons.org>
Date: Wed Sep 18 19:22:48 2013 +0200
Remove unreachable error check code branch
There's no framebuffer locking funcion being called, and the last value
assigned to r is from grSstWinOpen(), so there has already been an error
check, and doing it later on will never trigger again. Just remove the
error check and error call.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
diff --git a/src/glide_driver.c b/src/glide_driver.c
index 909f91e..faba80c 100644
--- a/src/glide_driver.c
+++ b/src/glide_driver.c
@@ -873,12 +873,6 @@ GLIDEModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
grClipWindow(0, 0, 1024, 768);
grBufferClear(0, 0, GR_ZDEPTHVALUE_FARTHEST);
- if (!r) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "Could not lock glide frame buffer\n");
- return FALSE;
- }
-
pGlide->Blanked = FALSE;
pGlide->GlideInitiated = TRUE;
commit da1797b6cc582f1fe31697aa744731f0f9fb6f74
Author: Guillem Jover <guillem@hadrons.org>
Date: Wed Sep 18 05:10:33 2013 +0200
Fix coding style
Run x-indent.sh from the modules repository over the driver code base,
and manually fix the fall out.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
diff --git a/src/glide_driver.c b/src/glide_driver.c
index 5ac5b11..909f91e 100644
--- a/src/glide_driver.c
+++ b/src/glide_driver.c
@@ -1,48 +1,47 @@
/*
- XFree86 driver for Glide(tm). (Mainly for Voodoo 1 and 2 cards)
-
- Since Voodoo 1 and Voodoo 2 cards are very, very NOT made for
- running a 2D windowing system, this driver is a little
- special. Basically, we have a virtual framebuffer in RAM (the
- Shadow Framebuffer) and we copy selected regions of this to the
- voodoo card at appropriate times. We get no hardware acceleration
- help (there isn't any for 2D on these cards), but since the
- framebuffer is in cached RAM, we get a useable display
- anyway. Also, we don't have any interaction with any hardware since
- Glide is the layer beneath the driver.
-
- Author:
- Henrik Harmsen (hch@cd.chalmers.se or Henrik.Harmsen@erv.ericsson.se)
-
- HISTORY
- 1999-04-05
- - First release for 3.9Pi
-
- 1999-04-17
- - Soft link to libglide2x.so instead of addition to ModulePath
- - Changed "EXTERN_MODULE" to EXTERN_MODULE
- - Uses the "GlideDevice" option instead of the "BusID" line to select
- which voodoo board to use.
- - Manpage updates
-
- 1999-06-25
- - Modify glideSetup to not register the driver when libglide2x.so cannot
- be loaded, and to return appropriate error codes when it fails.
- - Prevent GLIDEFreeScreen() from crashing if called early.
-
- 1999-08-22
- - Minor fixes.
-
- 1999-11-22
- - Minor change in GLIDE_FIND_FUNC by Loïc Grenié, grenie@math.jussieu.fr.
-
- TODO
- * Support for adjusting gamma correction.
- * Support for setting gamma individually for R,G,B when Glide 3 arrives
- for Linux. This will allow me to get rid of that sick green tint my
- voodoo2 board produces...
- * Support static loading.
-*/
+ * XFree86 driver for Glide(tm). (Mainly for Voodoo 1 and 2 cards)
+ *
+ * Since Voodoo 1 and Voodoo 2 cards are very, very NOT made for running a
+ * 2D windowing system, this driver is a little special. Basically, we have
+ * a virtual framebuffer in RAM (the Shadow Framebuffer) and we copy selected
+ * regions of this to the voodoo card at appropriate times. We get no hardware
+ * acceleration help (there isn't any for 2D on these cards), but since the
+ * framebuffer is in cached RAM, we get a useable display anyway. Also, we
+ * don't have any interaction with any hardware since Glide is the layer
+ * beneath the driver.
+ *
+ * Author:
+ * Henrik Harmsen (hch@cd.chalmers.se or Henrik.Harmsen@erv.ericsson.se)
+ *
+ * HISTORY
+ * 1999-04-05
+ * - First release for 3.9Pi
+ *
+ * 1999-04-17
+ * - Soft link to libglide2x.so instead of addition to ModulePath
+ * - Changed "EXTERN_MODULE" to EXTERN_MODULE
+ * - Uses the "GlideDevice" option instead of the "BusID" line to select
+ * which voodoo board to use.
+ * - Manpage updates
+ *
+ * 1999-06-25
+ * - Modify glideSetup to not register the driver when libglide2x.so
+ * cannot be loaded, and to return appropriate error codes when it fails.
+ * - Prevent GLIDEFreeScreen() from crashing if called early.
+ *
+ * 1999-08-22
+ * - Minor fixes.
+ *
+ * 1999-11-22
+ * - Minor change in GLIDE_FIND_FUNC by Loïc Grenié, grenie@math.jussieu.fr.
+ *
+ * TODO
+ * - Support for adjusting gamma correction.
+ * - Support for setting gamma individually for R,G,B when Glide 3 arrives
+ * for Linux. This will allow me to get rid of that sick green tint my
+ * voodoo2 board produces...
+ * - Support static loading.
+ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -77,51 +76,50 @@
#define TRUE 1
#define FALSE 0
-typedef signed char s8;
-typedef unsigned char u8;
-typedef signed short int s16;
+typedef signed char s8;
+typedef unsigned char u8;
+typedef signed short int s16;
typedef unsigned short int u16;
-typedef signed long int s32;
-typedef unsigned long int u32;
-typedef u8 bool;
+typedef signed long int s32;
+typedef unsigned long int u32;
+typedef u8 bool;
/* Card-specific driver information */
#define GLIDEPTR(p) ((GLIDEPtr)((p)->driverPrivate))
typedef struct {
- u8* ShadowPtr;
- u32 ShadowPitch;
- u32 SST_Index;
- CloseScreenProcPtr CloseScreen;
- Bool Blanked;
- u32 grRefreshRate;
- u32 grResolution;
- Bool OnAtExit;
- Bool GlideInitiated;
- EntityInfoPtr pEnt;
- OptionInfoPtr Options;
+ u8 *ShadowPtr;
+ u32 ShadowPitch;
+ u32 SST_Index;
+ CloseScreenProcPtr CloseScreen;
+ Bool Blanked;
+ u32 grRefreshRate;
+ u32 grResolution;
+ Bool OnAtExit;
+ Bool GlideInitiated;
+ EntityInfoPtr pEnt;
+ OptionInfoPtr Options;
} GLIDERec, *GLIDEPtr;
-static const OptionInfoRec * GLIDEAvailableOptions(int chipid, int busid);
-static void GLIDEIdentify(int flags);
-static Bool GLIDEProbe(DriverPtr drv, int flags);
-static Bool GLIDEPreInit(ScrnInfoPtr pScrn, int flags);
-static Bool GLIDEScreenInit(SCREEN_INIT_ARGS_DECL);
-static Bool GLIDEEnterVT(VT_FUNC_ARGS_DECL);
-static void GLIDELeaveVT(VT_FUNC_ARGS_DECL);
-static Bool GLIDECloseScreen(CLOSE_SCREEN_ARGS_DECL);
-static Bool GLIDESaveScreen(ScreenPtr pScreen, int mode);
-static void GLIDEFreeScreen(FREE_SCREEN_ARGS_DECL);
-static void GLIDERefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
-static Bool GLIDEModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
-static void GLIDERestore(ScrnInfoPtr pScrn, Bool Closing);
-static void GLIDERefreshAll(ScrnInfoPtr pScrn);
-
-static void GLIDEDisplayPowerManagementSet(ScrnInfoPtr pScrn,
- int PowerManagementMode,
- int flags);
-
+static const OptionInfoRec *GLIDEAvailableOptions(int chipid, int busid);
+static void GLIDEIdentify(int flags);
+static Bool GLIDEProbe(DriverPtr drv, int flags);
+static Bool GLIDEPreInit(ScrnInfoPtr pScrn, int flags);
+static Bool GLIDEScreenInit(SCREEN_INIT_ARGS_DECL);
+static Bool GLIDEEnterVT(VT_FUNC_ARGS_DECL);
+static void GLIDELeaveVT(VT_FUNC_ARGS_DECL);
+static Bool GLIDECloseScreen(CLOSE_SCREEN_ARGS_DECL);
+static Bool GLIDESaveScreen(ScreenPtr pScreen, int mode);
+static void GLIDEFreeScreen(FREE_SCREEN_ARGS_DECL);
+static void GLIDERefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
+static Bool GLIDEModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
+static void GLIDERestore(ScrnInfoPtr pScrn, Bool Closing);
+static void GLIDERefreshAll(ScrnInfoPtr pScrn);
+
+static void GLIDEDisplayPowerManagementSet(ScrnInfoPtr pScrn,
+ int PowerManagementMode,
+ int flags);
#define GLIDE_VERSION 4000
#define GLIDE_NAME "GLIDE"
@@ -137,154 +135,154 @@ static void GLIDEDisplayPowerManagementSet(ScrnInfoPtr pScrn,
* reference to this is compiled in, and this requires that the name of
* this DriverRec be an upper-case version of the driver name.
*/
-
_X_EXPORT DriverRec GLIDE = {
- GLIDE_VERSION,
- GLIDE_DRIVER_NAME,
- GLIDEIdentify,
- GLIDEProbe,
- GLIDEAvailableOptions,
- NULL,
- 0
+ GLIDE_VERSION,
+ GLIDE_DRIVER_NAME,
+ GLIDEIdentify,
+ GLIDEProbe,
+ GLIDEAvailableOptions,
+ NULL,
+ 0
};
typedef enum {
- OPTION_ON_AT_EXIT,
- OPTION_GLIDEDEVICE
+ OPTION_ON_AT_EXIT,
+ OPTION_GLIDEDEVICE
} GLIDEOpts;
static const OptionInfoRec GLIDEOptions[] = {
- { OPTION_ON_AT_EXIT, "OnAtExit", OPTV_BOOLEAN, {0}, FALSE },
- { OPTION_GLIDEDEVICE, "GlideDevice", OPTV_INTEGER, {0}, FALSE },
- { -1, NULL, OPTV_NONE, {0}, FALSE }
+ { OPTION_ON_AT_EXIT, "OnAtExit", OPTV_BOOLEAN, { 0 }, FALSE },
+ { OPTION_GLIDEDEVICE, "GlideDevice", OPTV_INTEGER, { 0 }, FALSE },
+ { -1, NULL, OPTV_NONE, { 0 }, FALSE }
};
/* Supported chipsets */
static SymTabRec GLIDEChipsets[] = {
- { 0, "Voodoo" },
- {-1, NULL }
+ { 0, "Voodoo" },
+ { -1, NULL }
};
-
#ifdef XFree86LOADER
static MODULESETUPPROTO(glideSetup);
-static XF86ModuleVersionInfo glideVersRec =
-{
- "glide",
- MODULEVENDORSTRING,
- MODINFOSTRING1,
- MODINFOSTRING2,
- XORG_VERSION_CURRENT,
- GLIDE_MAJOR_VERSION, GLIDE_MINOR_VERSION, GLIDE_PATCHLEVEL,
- ABI_CLASS_VIDEODRV, /* This is a video driver */
- ABI_VIDEODRV_VERSION,
- MOD_CLASS_VIDEODRV,
- {0,0,0,0}
+static XF86ModuleVersionInfo glideVersRec = {
+ "glide",
+ MODULEVENDORSTRING,
+ MODINFOSTRING1,
+ MODINFOSTRING2,
+ XORG_VERSION_CURRENT,
+ GLIDE_MAJOR_VERSION, GLIDE_MINOR_VERSION, GLIDE_PATCHLEVEL,
+ ABI_CLASS_VIDEODRV, /* This is a video driver */
+ ABI_VIDEODRV_VERSION,
+ MOD_CLASS_VIDEODRV,
+ { 0, 0, 0, 0 }
};
-_X_EXPORT XF86ModuleData glideModuleData = { &glideVersRec, glideSetup, NULL };
+_X_EXPORT XF86ModuleData glideModuleData = {
+ &glideVersRec,
+ glideSetup,
+ NULL
+};
static pointer
glideSetup(pointer module, pointer opts, int *errmaj, int *errmin)
{
- static Bool setupDone = FALSE;
- int errmaj2 = 0, errmin2 = 0;
-
- if (!setupDone)
- {
- setupDone = TRUE;
- /* This module should be loaded only once */
- *errmaj = LDR_ONCEONLY;
- xf86AddDriver(&GLIDE, module, 0);
-
- /*
- * The return value must be non-NULL on success even though there
- * is no TearDownProc.
- */
- return (pointer)1;
- }
- else
- {
- if (errmaj)
- *errmaj = LDR_ONCEONLY;
- return NULL;
- }
+ static Bool setupDone = FALSE;
+ int errmaj2 = 0, errmin2 = 0;
+
+ if (!setupDone) {
+ setupDone = TRUE;
+ /* This module should be loaded only once */
+ *errmaj = LDR_ONCEONLY;
+ xf86AddDriver(&GLIDE, module, 0);
+
+ /*
+ * The return value must be non-NULL on success even though there
+ * is no TearDownProc.
+ */
+ return (pointer)1;
+ }
+ else {
+ if (errmaj)
+ *errmaj = LDR_ONCEONLY;
+ return NULL;
+ }
}
-#endif /* XFree86LOADER */
+#endif /* XFree86LOADER */
static Bool
GLIDEGetRec(ScrnInfoPtr pScrn)
{
- /*
- * Allocate an GLIDERec, and hook it into pScrn->driverPrivate.
- * pScrn->driverPrivate is initialised to NULL, so we can check if
- * the allocation has already been done.
+ /*
+ * Allocate an GLIDERec, and hook it into pScrn->driverPrivate.
+ * pScrn->driverPrivate is initialised to NULL, so we can check if
+ * the allocation has already been done.
*/
- if (pScrn->driverPrivate != NULL)
- return TRUE;
+ if (pScrn->driverPrivate != NULL)
+ return TRUE;
- pScrn->driverPrivate = xnfcalloc(sizeof(GLIDERec), 1);
+ pScrn->driverPrivate = xnfcalloc(sizeof(GLIDERec), 1);
- /* Initialize it */
- /* No init here yet */
- return TRUE;
+ /* Initialize it */
+ /* No init here yet */
+
+ return TRUE;
}
static void
GLIDEFreeRec(ScrnInfoPtr pScrn)
{
- if (pScrn->driverPrivate == NULL)
- return;
- free(pScrn->driverPrivate);
- pScrn->driverPrivate = NULL;
+ if (pScrn->driverPrivate == NULL)
+ return;
+ free(pScrn->driverPrivate);
+ pScrn->driverPrivate = NULL;
}
static const OptionInfoRec *
GLIDEAvailableOptions(int chipid, int busid)
{
- return GLIDEOptions;
+ return GLIDEOptions;
}
/* Mandatory */
static void
GLIDEIdentify(int flags)
{
- xf86PrintChipsets(GLIDE_NAME, "driver for Glide devices (Voodoo cards)", GLIDEChipsets);
+ xf86PrintChipsets(GLIDE_NAME, "driver for Glide devices (Voodoo cards)",
+ GLIDEChipsets);
}
#if defined(GLIDE3)
static int
glide_get_num_boards(void)
{
- FxI32 num_sst;
- int r;
-
- r = grGet(GR_NUM_BOARDS, sizeof(num_sst), &num_sst);
- if (!r)
- {
- xf86Msg(X_ERROR, "GLIDEProbe(): Error calling grGet(GR_NUM_BOARDS)!\n");
- return -1;
- }
+ FxI32 num_sst;
+ int r;
+
+ r = grGet(GR_NUM_BOARDS, sizeof(num_sst), &num_sst);
+ if (!r) {
+ xf86Msg(X_ERROR,
+ "GLIDEProbe(): Error calling grGet(GR_NUM_BOARDS)!\n");
+ return -1;
+ }
- return num_sst;
+ return num_sst;
}
#else
static int
glide_get_num_boards(void)
{
- GrHwConfiguration hw;
- int r;
+ GrHwConfiguration hw;
+ int r;
- r = grSstQueryBoards(&hw);
- if (!r)
- {
- xf86Msg(X_ERROR, "GLIDEProbe(): Error calling grSstQueryBoards!\n");
- return -1;
- }
+ r = grSstQueryBoards(&hw);
+ if (!r) {
+ xf86Msg(X_ERROR, "GLIDEProbe(): Error calling grSstQueryBoards!\n");
+ return -1;
+ }
- return hw.num_sst;
+ return hw.num_sst;
}
#endif
@@ -292,387 +290,394 @@ glide_get_num_boards(void)
static Bool
GLIDEProbe(DriverPtr drv, int flags)
{
- int i, num_sst, sst;
- GDevPtr *devList;
- GDevPtr dev = NULL;
- int numdevList;
- Bool foundScreen = FALSE;
- ScrnInfoPtr pScrn;
- int GlideDevice;
-
- if ((numdevList = xf86MatchDevice(GLIDE_DRIVER_NAME, &devList)) <= 0)
- return FALSE;
-
- num_sst = glide_get_num_boards();
- if (num_sst < 0)
- goto cleanup;
-
- /* num_sst: number of Glide boards available */
- if (num_sst > 0 && (flags & PROBE_DETECT)) {
- /* XXX Need to call xf886AddDeviceToConfigure() here */
- return TRUE;
- }
+ int i, num_sst, sst;
+ GDevPtr *devList;
+ GDevPtr dev = NULL;
+ int numdevList;
+ Bool foundScreen = FALSE;
+ ScrnInfoPtr pScrn;
+ int GlideDevice;
+
+ if ((numdevList = xf86MatchDevice(GLIDE_DRIVER_NAME, &devList)) <= 0)
+ return FALSE;
+
+ num_sst = glide_get_num_boards();
+ if (num_sst < 0)
+ goto cleanup;
+
+ /* num_sst: number of Glide boards available */
+ if (num_sst > 0 && (flags & PROBE_DETECT)) {
+ /* XXX Need to call xf886AddDeviceToConfigure() here */
+ return TRUE;
+ }
- for (sst = 0; sst < num_sst; sst++)
- {
- for (i = 0; i < numdevList; i++)
- {
- dev = devList[i];
- GlideDevice = xf86SetIntOption(dev->options, "GlideDevice", 0);
- if (GlideDevice == sst)
- {
- int entityIndex;
- /* Match */
- entityIndex = xf86ClaimNoSlot(drv, 0, dev, TRUE);
- pScrn = NULL;
-
- /* Allocate a ScrnInfoRec and claim the slot */
- if ((pScrn = xf86AllocateScreen(drv, 0))) {
- GLIDEPtr pGlide;
-
- xf86AddEntityToScreen(pScrn, entityIndex);
-
- /* I'm not going to "claim" the glide device since no other driver than this can drive it */
- /* (A glide device is not a PCI device) */
- /* XXX Need to see how this fits in with the new RAC */
-
- /* Fill in what we can of the ScrnInfoRec */
- pScrn->driverVersion = GLIDE_VERSION;
- pScrn->driverName = GLIDE_DRIVER_NAME;
- pScrn->name = GLIDE_NAME;
- pScrn->Probe = GLIDEProbe;
- pScrn->PreInit = GLIDEPreInit;
- pScrn->ScreenInit = GLIDEScreenInit;
- pScrn->EnterVT = GLIDEEnterVT;
- pScrn->LeaveVT = GLIDELeaveVT;
- pScrn->FreeScreen = GLIDEFreeScreen;
-
- /* Allocate the GLIDERec driverPrivate */
- if (!GLIDEGetRec(pScrn))
- break;
-
- pGlide = GLIDEPTR(pScrn);
- pGlide->SST_Index = sst;
-
- /*
- * XXX This is a hack because don't have the PCI info. Set it as
- * an ISA entity with no resources.
- */
- foundScreen = TRUE;
- }
- break;
- }
+ for (sst = 0; sst < num_sst; sst++) {
+ for (i = 0; i < numdevList; i++) {
+ dev = devList[i];
+ GlideDevice = xf86SetIntOption(dev->options, "GlideDevice", 0);
+ if (GlideDevice == sst) {
+ int entityIndex;
+
+ /* Match */
+ entityIndex = xf86ClaimNoSlot(drv, 0, dev, TRUE);
+ pScrn = NULL;
+
+ /* Allocate a ScrnInfoRec and claim the slot */
+ if ((pScrn = xf86AllocateScreen(drv, 0))) {
+ GLIDEPtr pGlide;
+
+ xf86AddEntityToScreen(pScrn, entityIndex);
+
+ /* I'm not going to "claim" the glide device since no
+ * other driver than this can drive it */
+ /* (A glide device is not a PCI device) */
+ /* XXX Need to see how this fits in with the new RAC */
+
+ /* Fill in what we can of the ScrnInfoRec */
+ pScrn->driverVersion = GLIDE_VERSION;
+ pScrn->driverName = GLIDE_DRIVER_NAME;
+ pScrn->name = GLIDE_NAME;
+ pScrn->Probe = GLIDEProbe;
+ pScrn->PreInit = GLIDEPreInit;
+ pScrn->ScreenInit = GLIDEScreenInit;
+ pScrn->EnterVT = GLIDEEnterVT;
+ pScrn->LeaveVT = GLIDELeaveVT;
+ pScrn->FreeScreen = GLIDEFreeScreen;
+
+ /* Allocate the GLIDERec driverPrivate */
+ if (!GLIDEGetRec(pScrn))
+ break;
+
+ pGlide = GLIDEPTR(pScrn);
+ pGlide->SST_Index = sst;
+
+ /*
+ * XXX This is a hack because don't have the PCI info.
+ * Set it as an ISA entity with no resources.
+ */
+ foundScreen = TRUE;
+ }
+ break;
+ }
+ }
}
- }
- cleanup:
- free(devList);
- return foundScreen;
+cleanup:
+ free(devList);
+ return foundScreen;
}
/* Mandatory */
static Bool
GLIDEPreInit(ScrnInfoPtr pScrn, int flags)
{
- GLIDEPtr pGlide;
- MessageType from;
- int i;
- ClockRangePtr clockRanges;
+ GLIDEPtr pGlide;
+ MessageType from;
+ int i;
+ ClockRangePtr clockRanges;
- if (flags & PROBE_DETECT) return FALSE;
+ if (flags & PROBE_DETECT)
+ return FALSE;
- /* Check the number of entities, and fail if it isn't one. */
- if (pScrn->numEntities != 1)
- return FALSE;
+ /* Check the number of entities, and fail if it isn't one. */
+ if (pScrn->numEntities != 1)
+ return FALSE;
- /* Set pScrn->monitor */
- pScrn->monitor = pScrn->confScreen->monitor;
+ /* Set pScrn->monitor */
+ pScrn->monitor = pScrn->confScreen->monitor;
- if (!xf86SetDepthBpp(pScrn, 16, 0, 0, Support32bppFb)) {
- return FALSE;
- }
-
- /* Check that the returned depth is one we support */
- switch (pScrn->depth) {
- case 16:
- case 24:
- /* OK */
- break;
- default:
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "Given depth (%d) is not supported by this driver\n",
- pScrn->depth);
- return FALSE;
- }
- xf86PrintDepthBpp(pScrn);
-
- /*
- * This must happen after pScrn->display has been set because
- * xf86SetWeight references it.
- */
- if (pScrn->depth > 8) {
- /* The defaults are OK for us */
- rgb zeros = {0, 0, 0};
-
- if (!xf86SetWeight(pScrn, zeros, zeros)) {
- return FALSE;
- } else {
- /* XXX check that weight returned is supported */
- ;
+ if (!xf86SetDepthBpp(pScrn, 16, 0, 0, Support32bppFb))
+ return FALSE;
+
+ /* Check that the returned depth is one we support */
+ switch (pScrn->depth) {
+ case 16:
+ case 24:
+ /* OK */
+ break;
+ default:
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Given depth (%d) is not supported by this driver\n",
+ pScrn->depth);
+ return FALSE;
}
- }
+ xf86PrintDepthBpp(pScrn);
- /* Set the default visual. */
- if (!xf86SetDefaultVisual(pScrn, -1)) {
- return FALSE;
- }
- /* We don't support DirectColor at > 8bpp */
- if (pScrn->depth > 8 && pScrn->defaultVisual != TrueColor) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Given default visual"
- " (%s) is not supported at depth %d\n",
- xf86GetVisualName(pScrn->defaultVisual), pScrn->depth);
- return FALSE;
- }
+ /*
+ * This must happen after pScrn->display has been set because
+ * xf86SetWeight references it.
+ */
+ if (pScrn->depth > 8) {
Reply to: