summaryrefslogtreecommitdiff
path: root/src/dummy_dga.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dummy_dga.c')
-rw-r--r--src/dummy_dga.c175
1 files changed, 0 insertions, 175 deletions
diff --git a/src/dummy_dga.c b/src/dummy_dga.c
deleted file mode 100644
index d16d09f..0000000
--- a/src/dummy_dga.c
+++ /dev/null
@@ -1,175 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "xf86.h"
-#include "xf86_OSproc.h"
-#include "dgaproc.h"
-#include "dummy.h"
-
-static Bool DUMMY_OpenFramebuffer(ScrnInfoPtr, char **, unsigned char **,
- int *, int *, int *);
-static Bool DUMMY_SetMode(ScrnInfoPtr, DGAModePtr);
-static int DUMMY_GetViewport(ScrnInfoPtr);
-static void DUMMY_SetViewport(ScrnInfoPtr, int, int, int);
-
-static
-DGAFunctionRec DUMMYDGAFuncs = {
- DUMMY_OpenFramebuffer,
- NULL,
- DUMMY_SetMode,
- DUMMY_SetViewport,
- DUMMY_GetViewport,
- NULL,
- NULL,
- NULL,
-#if 0
- DUMMY_BlitTransRect
-#else
- NULL
-#endif
-};
-
-Bool
-DUMMYDGAInit(ScreenPtr pScreen)
-{
- ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
- DUMMYPtr pDUMMY = DUMMYPTR(pScrn);
- DGAModePtr modes = NULL, newmodes = NULL, currentMode;
- DisplayModePtr pMode, firstMode;
- int Bpp = pScrn->bitsPerPixel >> 3;
- int num = 0, imlines, pixlines;
-
- imlines = (pScrn->videoRam * 1024) /
- (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3));
-
- pixlines = imlines;
-
- pMode = firstMode = pScrn->modes;
-
- while(pMode) {
-
- newmodes = realloc(modes, (num + 1) * sizeof(DGAModeRec));
-
- if(!newmodes) {
- free(modes);
- return FALSE;
- }
- modes = newmodes;
-
- currentMode = modes + num;
- num++;
-
- currentMode->mode = pMode;
- currentMode->flags = DGA_CONCURRENT_ACCESS | DGA_PIXMAP_AVAILABLE;
- if(pMode->Flags & V_DBLSCAN)
- currentMode->flags |= DGA_DOUBLESCAN;
- if(pMode->Flags & V_INTERLACE)
- currentMode->flags |= DGA_INTERLACED;
- currentMode->byteOrder = pScrn->imageByteOrder;
- currentMode->depth = pScrn->depth;
- currentMode->bitsPerPixel = pScrn->bitsPerPixel;
- currentMode->red_mask = pScrn->mask.red;
- currentMode->green_mask = pScrn->mask.green;
- currentMode->blue_mask = pScrn->mask.blue;
- currentMode->visualClass = (Bpp == 1) ? PseudoColor : TrueColor;
- currentMode->viewportWidth = pMode->HDisplay;
- currentMode->viewportHeight = pMode->VDisplay;
- currentMode->xViewportStep = 1;
- currentMode->yViewportStep = 1;
- currentMode->viewportFlags = DGA_FLIP_RETRACE;
- currentMode->offset = 0;
- currentMode->address = (unsigned char *)pDUMMY->FBBase;
-
- currentMode->bytesPerScanline =
- ((pScrn->displayWidth * Bpp) + 3) & ~3L;
- currentMode->imageWidth = pScrn->displayWidth;
- currentMode->imageHeight = imlines;
- currentMode->pixmapWidth = currentMode->imageWidth;
- currentMode->pixmapHeight = pixlines;
- currentMode->maxViewportX = currentMode->imageWidth -
- currentMode->viewportWidth;
- currentMode->maxViewportY = currentMode->imageHeight -
- currentMode->viewportHeight;
-
- pMode = pMode->next;
- if(pMode == firstMode)
- break;
- }
-
- pDUMMY->numDGAModes = num;
- pDUMMY->DGAModes = modes;
-
- return DGAInit(pScreen, &DUMMYDGAFuncs, modes, num);
-}
-
-static DisplayModePtr DUMMYSavedDGAModes[MAXSCREENS];
-
-static Bool
-DUMMY_SetMode(
- ScrnInfoPtr pScrn,
- DGAModePtr pMode
-){
- int index = pScrn->pScreen->myNum;
- DUMMYPtr pDUMMY = DUMMYPTR(pScrn);
-
- if(!pMode) { /* restore the original mode */
- if(pDUMMY->DGAactive) {
- pScrn->currentMode = DUMMYSavedDGAModes[index];
- DUMMYSwitchMode(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode));
- DUMMYAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0));
- pDUMMY->DGAactive = FALSE;
- }
- } else {
- if(!pDUMMY->DGAactive) { /* save the old parameters */
- DUMMYSavedDGAModes[index] = pScrn->currentMode;
- pDUMMY->DGAactive = TRUE;
- }
-
- DUMMYSwitchMode(SWITCH_MODE_ARGS(pScrn, pMode->mode));
- }
-
- return TRUE;
-}
-
-static int
-DUMMY_GetViewport(
- ScrnInfoPtr pScrn
-){
- DUMMYPtr pDUMMY = DUMMYPTR(pScrn);
-
- return pDUMMY->DGAViewportStatus;
-}
-
-static void
-DUMMY_SetViewport(
- ScrnInfoPtr pScrn,
- int x, int y,
- int flags
-){
- DUMMYPtr pDUMMY = DUMMYPTR(pScrn);
-
- DUMMYAdjustFrame(ADJUST_FRAME_ARGS(pScrn, x, y));
- pDUMMY->DGAViewportStatus = 0;
-}
-
-
-static Bool
-DUMMY_OpenFramebuffer(
- ScrnInfoPtr pScrn,
- char **name,
- unsigned char **mem,
- int *size,
- int *offset,
- int *flags
-){
- DUMMYPtr pDUMMY = DUMMYPTR(pScrn);
-
- *name = NULL; /* no special device */
- *mem = (unsigned char*)pDUMMY->FBBase;
- *size = pScrn->videoRam * 1024;
- *offset = 0;
- *flags = DGA_NEED_ROOT;
-
- return TRUE;
-}