summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Thompson <will@willthompson.co.uk>2012-05-01 20:24:15 +0100
committerWill Thompson <will@willthompson.co.uk>2012-05-04 11:44:23 +0100
commit3e81e6fdc0d2c15d6a45a0e7e4e6668056dd1d79 (patch)
tree0df400467801cb739ab6de8e6fd163e70a07a4c5
parentf097f82eae3a93e644ca9570ff97dc7543d16651 (diff)
Blow away DGA
-rw-r--r--src/videocore.c161
1 files changed, 1 insertions, 160 deletions
diff --git a/src/videocore.c b/src/videocore.c
index 40aa5a7..7a8ae57 100644
--- a/src/videocore.c
+++ b/src/videocore.c
@@ -56,7 +56,6 @@ static Bool FBDevPreInit(ScrnInfoPtr pScrn, int flags);
static Bool FBDevScreenInit(int Index, ScreenPtr pScreen, int argc,
char **argv);
static Bool FBDevCloseScreen(int scrnIndex, ScreenPtr pScreen);
-static Bool FBDevDGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen);
static Bool FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
pointer ptr);
@@ -170,13 +169,10 @@ struct _VideoCoreRec {
unsigned char* fbstart;
unsigned char* fbmem;
int fboff;
- int lineLength;
CloseScreenProcPtr CloseScreen;
CreateScreenResourcesProcPtr CreateScreenResources;
EntityInfoPtr pEnt;
- /* DGA info */
- DGAModePtr pDGAMode;
- int nDGAMode;
+
OptionInfoPtr Options;
};
@@ -694,8 +690,6 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Render extension initialisation failed\n");
- FBDevDGAInit(pScrn, pScreen);
-
xf86SetBlackWhitePixels(pScreen);
miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
@@ -773,11 +767,6 @@ FBDevCloseScreen(int scrnIndex, ScreenPtr pScreen)
fbdevHWRestore(pScrn);
fbdevHWUnmapVidmem(pScrn);
- if (fPtr->pDGAMode) {
- free(fPtr->pDGAMode);
- fPtr->pDGAMode = NULL;
- fPtr->nDGAMode = 0;
- }
pScrn->vtSema = FALSE;
pScreen->CreateScreenResources = fPtr->CreateScreenResources;
@@ -785,154 +774,6 @@ FBDevCloseScreen(int scrnIndex, ScreenPtr pScreen)
return (*pScreen->CloseScreen)(scrnIndex, pScreen);
}
-
-/***********************************************************************
- * DGA stuff
- ***********************************************************************/
-static Bool FBDevDGAOpenFramebuffer(ScrnInfoPtr pScrn, char **DeviceName,
- unsigned char **ApertureBase,
- int *ApertureSize, int *ApertureOffset,
- int *flags);
-static Bool FBDevDGASetMode(ScrnInfoPtr pScrn, DGAModePtr pDGAMode);
-static void FBDevDGASetViewport(ScrnInfoPtr pScrn, int x, int y, int flags);
-
-static Bool
-FBDevDGAOpenFramebuffer(ScrnInfoPtr pScrn, char **DeviceName,
- unsigned char **ApertureBase, int *ApertureSize,
- int *ApertureOffset, int *flags)
-{
- *DeviceName = NULL; /* No special device */
- *ApertureBase = (unsigned char *)(pScrn->memPhysBase);
- *ApertureSize = pScrn->videoRam;
- *ApertureOffset = pScrn->fbOffset;
- *flags = 0;
-
- return TRUE;
-}
-
-static Bool
-FBDevDGASetMode(ScrnInfoPtr pScrn, DGAModePtr pDGAMode)
-{
- DisplayModePtr pMode;
- int scrnIdx = pScrn->pScreen->myNum;
- int frameX0, frameY0;
-
- if (pDGAMode) {
- pMode = pDGAMode->mode;
- frameX0 = frameY0 = 0;
- }
- else {
- if (!(pMode = pScrn->currentMode))
- return TRUE;
-
- frameX0 = pScrn->frameX0;
- frameY0 = pScrn->frameY0;
- }
-
- if (!(*pScrn->SwitchMode)(scrnIdx, pMode, 0))
- return FALSE;
- (*pScrn->AdjustFrame)(scrnIdx, frameX0, frameY0, 0);
-
- return TRUE;
-}
-
-static void
-FBDevDGASetViewport(ScrnInfoPtr pScrn, int x, int y, int flags)
-{
- (*pScrn->AdjustFrame)(pScrn->pScreen->myNum, x, y, flags);
-}
-
-static int
-FBDevDGAGetViewport(ScrnInfoPtr pScrn)
-{
- return (0);
-}
-
-static DGAFunctionRec FBDevDGAFunctions =
-{
- FBDevDGAOpenFramebuffer,
- NULL, /* CloseFramebuffer */
- FBDevDGASetMode,
- FBDevDGASetViewport,
- FBDevDGAGetViewport,
- NULL, /* Sync */
- NULL, /* FillRect */
- NULL, /* BlitRect */
- NULL, /* BlitTransRect */
-};
-
-static void
-FBDevDGAAddModes(ScrnInfoPtr pScrn)
-{
- VideoCorePtr fPtr = VIDEOCOREPTR(pScrn);
- DisplayModePtr pMode = pScrn->modes;
- DGAModePtr pDGAMode;
-
- do {
- pDGAMode = realloc(fPtr->pDGAMode,
- (fPtr->nDGAMode + 1) * sizeof(DGAModeRec));
- if (!pDGAMode)
- break;
-
- fPtr->pDGAMode = pDGAMode;
- pDGAMode += fPtr->nDGAMode;
- (void)memset(pDGAMode, 0, sizeof(DGAModeRec));
-
- ++fPtr->nDGAMode;
- pDGAMode->mode = pMode;
- pDGAMode->flags = DGA_CONCURRENT_ACCESS | DGA_PIXMAP_AVAILABLE;
- pDGAMode->byteOrder = pScrn->imageByteOrder;
- pDGAMode->depth = pScrn->depth;
- pDGAMode->bitsPerPixel = pScrn->bitsPerPixel;
- pDGAMode->red_mask = pScrn->mask.red;
- pDGAMode->green_mask = pScrn->mask.green;
- pDGAMode->blue_mask = pScrn->mask.blue;
- pDGAMode->visualClass = pScrn->bitsPerPixel > 8 ?
- TrueColor : PseudoColor;
- pDGAMode->xViewportStep = 1;
- pDGAMode->yViewportStep = 1;
- pDGAMode->viewportWidth = pMode->HDisplay;
- pDGAMode->viewportHeight = pMode->VDisplay;
-
- if (fPtr->lineLength)
- pDGAMode->bytesPerScanline = fPtr->lineLength;
- else
- pDGAMode->bytesPerScanline = fPtr->lineLength = fbdevHWGetLineLength(pScrn);
-
- pDGAMode->imageWidth = pMode->HDisplay;
- pDGAMode->imageHeight = pMode->VDisplay;
- pDGAMode->pixmapWidth = pDGAMode->imageWidth;
- pDGAMode->pixmapHeight = pDGAMode->imageHeight;
- pDGAMode->maxViewportX = pScrn->virtualX -
- pDGAMode->viewportWidth;
- pDGAMode->maxViewportY = pScrn->virtualY -
- pDGAMode->viewportHeight;
-
- pDGAMode->address = fPtr->fbstart;
-
- pMode = pMode->next;
- } while (pMode != pScrn->modes);
-}
-
-static Bool
-FBDevDGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen)
-{
-#ifdef XFreeXDGA
- VideoCorePtr fPtr = VIDEOCOREPTR(pScrn);
-
- if (pScrn->depth < 8)
- return FALSE;
-
- if (!fPtr->nDGAMode)
- FBDevDGAAddModes(pScrn);
-
- return (DGAInit(pScreen, &FBDevDGAFunctions,
- fPtr->pDGAMode, fPtr->nDGAMode));
-#else
- return TRUE;
-#endif
-}
-
static Bool
FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op, pointer ptr)
{