[PATCH xf86-video-dummy 4/6] Remove DGA support
Bob Terek
xorg at esoterek.com
Sat Dec 10 02:38:19 UTC 2016
On 01/24/2015 03:08 PM, Aaron Plattner wrote:
> DGA was so 2004.
>
> Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
Applied patch to current dummy driver, built, started server and a few
simple clients, used x11vnc to interact with it, so:
Reviewed-by: Bob Terek <xorg at esoterek.com>
Tested-by: Bob Terek <xorg at esoterek.com>
Cheers,
Bob Terek
> ---
> configure.ac | 8 ---
> src/Makefile.am | 5 --
> src/dummy.h | 7 ---
> src/dummy_dga.c | 175 -----------------------------------------------------
> src/dummy_driver.c | 8 ---
> 5 files changed, 203 deletions(-)
> delete mode 100644 src/dummy_dga.c
>
> diff --git a/configure.ac b/configure.ac
> index e6e00433d69f..cc25cfdff335 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -46,7 +46,6 @@ AC_PROG_LIBTOOL
> AH_TOP([#include "xorg-server.h"])
>
> # Define a configure option for an alternate module directory
> -AC_ARG_ENABLE(dga, AS_HELP_STRING([--disable-dga], [Build DGA extension (default: yes)]), [DGA=$enableval], [DGA=yes])
> AC_ARG_WITH(xorg-module-dir, [ --with-xorg-module-dir=DIR ],
> [ moduledir="$withval" ],
> [ moduledir="$libdir/xorg/modules" ])
> @@ -57,13 +56,6 @@ AC_SUBST(moduledir)
> XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
> XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
>
> -if test "x$DGA" = xyes; then
> - XORG_DRIVER_CHECK_EXT(XFreeXDGA, xf86dgaproto)
> - AC_DEFINE(USE_DGA, 1, [Support DGA extension])
> -fi
> -AC_SUBST([DGA])
> -AM_CONDITIONAL([DGA], [test "x$DGA" = xyes])
> -
> # Obtain compiler/linker options for the driver dependencies
> PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto fontsproto $REQUIRED_MODULES)
>
> diff --git a/src/Makefile.am b/src/Makefile.am
> index da1dd9a9abe6..c0d82e0a585a 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -37,8 +37,3 @@ dummy_drv_la_SOURCES = \
> dummy_cursor.c \
> dummy_driver.c \
> dummy.h
> -
> -if DGA
> -dummy_drv_la_SOURCES += \
> - dummy_dga.c
> -endif
> diff --git a/src/dummy.h b/src/dummy.h
> index 705b9e5ed8b9..f902fa607fce 100644
> --- a/src/dummy.h
> +++ b/src/dummy.h
> @@ -28,9 +28,6 @@ extern Bool DUMMYCursorInit(ScreenPtr pScrn);
> extern void DUMMYShowCursor(ScrnInfoPtr pScrn);
> extern void DUMMYHideCursor(ScrnInfoPtr pScrn);
>
> -/* in dummy_dga.c */
> -Bool DUMMYDGAInit(ScreenPtr pScreen);
> -
> /* globals */
> typedef struct _color
> {
> @@ -41,10 +38,6 @@ typedef struct _color
>
> typedef struct dummyRec
> {
> - DGAModePtr DGAModes;
> - int numDGAModes;
> - Bool DGAactive;
> - int DGAViewportStatus;
> /* options */
> OptionInfoPtr Options;
> Bool swCursor;
> diff --git a/src/dummy_dga.c b/src/dummy_dga.c
> deleted file mode 100644
> index d16d09f1bfc8..000000000000
> --- 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;
> -}
> diff --git a/src/dummy_driver.c b/src/dummy_driver.c
> index 4d833f90cc63..194b39fca817 100644
> --- a/src/dummy_driver.c
> +++ b/src/dummy_driver.c
> @@ -39,10 +39,6 @@
> #include <X11/Xproto.h>
> #include "scrnintstr.h"
> #include "servermd.h"
> -#ifdef USE_DGA
> -#define _XF86DGA_SERVER_
> -#include <X11/extensions/xf86dgaproto.h>
> -#endif
>
> /* Mandatory functions */
> static const OptionInfoRec * DUMMYAvailableOptions(int chipid, int busid);
> @@ -569,10 +565,6 @@ DUMMYScreenInit(SCREEN_INIT_ARGS_DECL)
>
> xf86SetBlackWhitePixels(pScreen);
>
> -#ifdef USE_DGA
> - DUMMYDGAInit(pScreen);
> -#endif
> -
> if (dPtr->swCursor)
> xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Using Software Cursor.\n");
>
>
More information about the xorg-devel
mailing list