Compare commits

..

19 Commits

Author SHA1 Message Date
Adam Jackson
44d4790006 Prep for modular builds by adding guarded #include "config.h" everywhere. 2005-07-11 02:29:47 +00:00
Adam Jackson
4d18c5309c Bug #3626: _X_EXPORT tags for video and input drivers. 2005-06-25 21:16:54 +00:00
Egbert Eich
82ab7895da Modifying X.Org Xserver DDX to allow to run X with ordinary user
permissions when no access to HW registers is required. For API changes
    which mostly involve the modifications to make the RRFunc (introduced
    with 6.8) more flexible please check Bugzilla #2407. NOTE: This patch
    applies changes to OS specific files for other OSes which I cannot
    test.
2005-01-28 16:12:59 +00:00
Markus Kuhn
077e3dbcf4 Encoding of numerous files changed to UTF-8 2004-12-04 00:43:05 +00:00
Adam Jackson
2327cdd208 Bug #1087: Make sure all the *Weak symbols are documented in the import
list, so the loader knows not to complain about unresolved symbols when
    an optional module isn't loaded. This typically manifests as warnings
    about fbdevHW symbols when the user isn't using the framebuffer
    console.
2004-08-16 09:13:13 +00:00
Adam Jackson
bd1e31bdb5 Bug #962: Remove LoaderSymbol calls introduced by the dlloader work so
DoLoadableServer NO builds work again.
2004-08-03 02:44:20 +00:00
Adam Jackson
1d3246ca0d *really* remove the last call to FillInScreenInfo. i clearly haven't had my
coffee yet this morning...
2004-08-01 18:04:07 +00:00
Adam Jackson
ce86e2a272 Kill off the last fbdevHWFillInScreenInfo user. Noticed by juergbi on IRC. 2004-08-01 16:28:57 +00:00
Adam Jackson
4c1492ac6d Change several LoaderSymbol calls introduced by the bug #400 patch to
*Weak() resolver functions.
2004-07-31 01:21:18 +00:00
Adam Jackson
64ef1f4af1 Bug #400 (partial): Driver fixes for the dlloader. When using dlloader, all
framebuffer formats except cfb and the overlay modes should work, and
    r128 and radeon need to be loaded from the ati driver (both issues to
    be fixed soon). Tested on i740, s3virge, mach64, tdfx, vesa, and vga
    drivers. elfloader users shouldn't be affected.
2004-07-30 20:30:52 +00:00
Eric Anholt
db6514cea0 DRI XFree86-4_3_99_12-merge import 2004-06-16 09:23:04 +00:00
Egbert Eich
1e80fe1bf9 Merging XORG-CURRENT into trunk 2004-04-23 19:31:36 +00:00
Egbert Eich
5d8a0a2e47 Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004 2004-03-14 08:33:20 +00:00
Egbert Eich
69d61895f3 Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004 2004-03-03 12:12:18 +00:00
Egbert Eich
806863c5f6 readding XFree86's cvs IDs 2004-02-26 13:35:52 +00:00
Egbert Eich
595a614cd9 Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004 2004-02-26 09:23:18 +00:00
Egbert Eich
62bec818a1 Importing vendor version xf86-012804-2330 on Thu Jan 29 00:06:33 PST 2004 2004-01-29 08:08:35 +00:00
Kaleb Keithley
48e31aaed2 XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks 2003-11-25 19:28:36 +00:00
Kaleb Keithley
3a00d91359 XFree86 4.3.0.1 2003-11-14 16:48:55 +00:00
2 changed files with 51 additions and 22 deletions

View File

@@ -1,4 +1,4 @@
.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.2 2001/01/27 18:20:47 dawes Exp $
.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.3 2001/10/02 15:57:32 alanh Exp $
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH FBDEV __drivermansuffix__ __vendorversion__

View File

@@ -2,9 +2,13 @@
/*
* Authors: Alan Hourihane, <alanh@fairlite.demon.co.uk>
* Michel Dänzer, <michdaen@iiic.ethz.ch>
* Michel Dänzer, <michdaen@iiic.ethz.ch>
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
/* all driver need this */
#include "xf86.h"
#include "xf86_OSproc.h"
@@ -57,6 +61,8 @@ static void * FBDevWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, in
CARD32 *size, void *closure);
static void FBDevPointerMoved(int index, int x, int y);
static Bool FBDevDGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen);
static Bool FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
pointer ptr);
enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTATE_CCW=90 };
@@ -81,7 +87,7 @@ static int pix24bpp = 0;
#define FBDEV_MAJOR_VERSION 0
#define FBDEV_MINOR_VERSION 1
DriverRec FBDEV = {
_X_EXPORT DriverRec FBDEV = {
VERSION,
FBDEV_DRIVER_NAME,
#if 0
@@ -91,7 +97,8 @@ DriverRec FBDEV = {
FBDevProbe,
FBDevAvailableOptions,
NULL,
0
0,
FBDevDriverFunc
};
/* Supported "chipsets" */
@@ -137,7 +144,9 @@ static const char *shadowSymbols[] = {
"shadowInit",
"shadowSetup",
"shadowUpdatePacked",
"shadowUpdatePackedWeak",
"shadowUpdateRotatePacked",
"shadowUpdateRotatePackedWeak",
NULL
};
@@ -158,20 +167,23 @@ static const char *fbdevHWSymbols[] = {
"fbdevHWUnmapVidmem",
/* colormap */
"fbdevHWLoadpalette",
"fbdevHWLoadPalette",
"fbdevHWLoadPaletteWeak",
/* ScrnInfo hooks */
"fbdevHWAdjustFrame",
"fbdevHWEnterVT",
"fbdevHWLeaveVT",
"fbdevHWAdjustFrameWeak",
"fbdevHWEnterVTWeak",
"fbdevHWLeaveVTWeak",
"fbdevHWModeInit",
"fbdevHWRestore",
"fbdevHWSave",
"fbdevHWSaveScreen",
"fbdevHWSwitchMode",
"fbdevHWValidMode",
"fbdevHWSaveScreenWeak",
"fbdevHWSwitchModeWeak",
"fbdevHWValidModeWeak",
"fbdevHWDPMSSet",
"fbdevHWDPMSSetWeak",
NULL
};
@@ -186,7 +198,7 @@ static XF86ModuleVersionInfo FBDevVersRec =
MODULEVENDORSTRING,
MODINFOSTRING1,
MODINFOSTRING2,
XF86_VERSION_CURRENT,
XORG_VERSION_CURRENT,
FBDEV_MAJOR_VERSION, FBDEV_MINOR_VERSION, 0,
ABI_CLASS_VIDEODRV,
ABI_VIDEODRV_VERSION,
@@ -194,7 +206,7 @@ static XF86ModuleVersionInfo FBDevVersRec =
{0,0,0,0}
};
XF86ModuleData fbdevModuleData = { &FBDevVersRec, FBDevSetup, NULL };
_X_EXPORT XF86ModuleData fbdevModuleData = { &FBDevVersRec, FBDevSetup, NULL };
pointer
FBDevSetup(pointer module, pointer opts, int *errmaj, int *errmin)
@@ -203,7 +215,7 @@ FBDevSetup(pointer module, pointer opts, int *errmaj, int *errmin)
if (!setupDone) {
setupDone = TRUE;
xf86AddDriver(&FBDEV, module, 0);
xf86AddDriver(&FBDEV, module, HaveDriverFuncs);
LoaderRefSymLists(afbSymbols, fbSymbols,
shadowSymbols, fbdevHWSymbols, NULL);
return (pointer)1;
@@ -354,11 +366,11 @@ FBDevProbe(DriverPtr drv, int flags)
pScrn->Probe = FBDevProbe;
pScrn->PreInit = FBDevPreInit;
pScrn->ScreenInit = FBDevScreenInit;
pScrn->SwitchMode = fbdevHWSwitchMode;
pScrn->AdjustFrame = fbdevHWAdjustFrame;
pScrn->EnterVT = fbdevHWEnterVT;
pScrn->LeaveVT = fbdevHWLeaveVT;
pScrn->ValidMode = fbdevHWValidMode;
pScrn->SwitchMode = fbdevHWSwitchModeWeak();
pScrn->AdjustFrame = fbdevHWAdjustFrameWeak();
pScrn->EnterVT = fbdevHWEnterVTWeak();
pScrn->LeaveVT = fbdevHWLeaveVTWeak();
pScrn->ValidMode = fbdevHWValidModeWeak();
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"using %s\n", dev ? dev : "default device");
@@ -782,7 +794,8 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
if (fPtr->shadowFB &&
(!shadowSetup(pScreen) || !shadowAdd(pScreen, NULL,
fPtr->rotate ? shadowUpdateRotatePacked : shadowUpdatePacked,
fPtr->rotate ? shadowUpdateRotatePackedWeak()
: shadowUpdatePackedWeak(),
FBDevWindowLinear, fPtr->rotate, NULL)) ) {
xf86DrvMsg(scrnIndex, X_ERROR,
"Shadow framebuffer initialization failed.\n");
@@ -842,12 +855,13 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
return FALSE;
}
flags = CMAP_PALETTED_TRUECOLOR;
if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPalette, NULL, flags))
if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPaletteWeak(),
NULL, flags))
return FALSE;
xf86DPMSInit(pScreen, fbdevHWDPMSSet, 0);
xf86DPMSInit(pScreen, fbdevHWDPMSSetWeak(), 0);
pScreen->SaveScreen = fbdevHWSaveScreen;
pScreen->SaveScreen = fbdevHWSaveScreenWeak();
/* Wrap the current CloseScreen function */
fPtr->CloseScreen = pScreen->CloseScreen;
@@ -1093,3 +1107,18 @@ FBDevDGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen)
return (DGAInit(pScreen, &FBDevDGAFunctions,
fPtr->pDGAMode, fPtr->nDGAMode));
}
static Bool
FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op, pointer ptr)
{
xorgHWFlags *flag;
switch (op) {
case GET_REQUIRED_HW_INTERFACES:
flag = (CARD32*)ptr;
(*flag) = 0;
return TRUE;
default:
return FALSE;
}
}