[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