.gear/rules | 2 + .../tags/3dc62f0655e607d335e9d6531a31a73c2719fee7 | 23 +++ .gear/tags/list | 1 + autogen.sh | 11 +- configure.ac | 9 -- src/Makefile.am | 5 - src/dummy.h | 22 +-- src/dummy_cursor.c | 2 - src/dummy_dga.c | 175 --------------------- src/dummy_driver.c | 43 ++--- xorg-drv-dummy.spec | 105 +++++++++++++ 11 files changed, 150 insertions(+), 248 deletions(-) diff --git a/.gear/rules b/.gear/rules new file mode 100644 index 0000000..e9f9944 --- /dev/null +++ b/.gear/rules @@ -0,0 +1,2 @@ +tar: xf86-video-dummy-@version@:. +diff: xf86-video-dummy-@version@:. . diff --git a/.gear/tags/3dc62f0655e607d335e9d6531a31a73c2719fee7 b/.gear/tags/3dc62f0655e607d335e9d6531a31a73c2719fee7 new file mode 100644 index 0000000..b39e6d3 --- /dev/null +++ b/.gear/tags/3dc62f0655e607d335e9d6531a31a73c2719fee7 @@ -0,0 +1,23 @@ +object 4a6df6b4eecae769771eba0136bf8271d01258fb +type commit +tag xf86-video-dummy-0.3.8 +tagger Julien Cristau 1481749377 +0100 + +xf86-video-dummy-0.3.8 +-----BEGIN PGP SIGNATURE----- + +iQJIBAABCAAyFiEEVXgdqzTmGgnvuIvhnbAjVVb4z60FAlhRs4EUHGpjcmlzdGF1 +QGRlYmlhbi5vcmcACgkQnbAjVVb4z60/ChAAjOW1Vuk7ocHu0sRR5Z4Ve2XkPIy9 +lQJfBrDxUBoso8VkQWAvdkswt6m4103Ax5xSvyf/Lq7EPBQQ7hZ5eP/+5C4b7Q19 +Uvs0TYWHsKsgxAjmz3JLs2b3/pvG2jihLYoVYYPm9J0Ml9YC0ML/6nvClSL6mu6e +I+ElZYLMsDB7TL9yBO091H1hksRa6/ZM73fpmp2kntUbrxwDDT5L9GtuXxq+ve67 +jNfF9K0W3BcBSrAkLwPyqL0XBLPHz9/kvHpk4mvn891jWwHa0rvCI/azTJgVEg2E +k11bH/Gdf4xDNLwxCSUc17EyP0KBuf6AB13YU9DLBdGqbIWg4gbcEpQjEquJq39D +awuQOUHC0zGqU9HChL0JVT1XlFzoMWGd/kDb+9FDsjB6CuWL/ERt3hqnArDxdcfn +yb+sLDU7TFQoMFfkCGNufgyTDde/qLrdN66SAGoalNwrvKYbe/m3Dhx+H+aMaRO2 +PLGZ0jWrh1Dw4wl9s1IvqxYFpKLZmowIL0RCxMh6ZgfffDLhWE2H0g1bzXUR4GAr +wrtLWB44UzIwRcjG+og66axKTbu3oEDSDgSX69l1V6RaAMtxzsmtyAT9/o/XLfyx +lhNv75g9fnyL66xls5q8E+zjpCtxUsQ3xXov/aRITLUrkqJD+rhYbdM+u/Qzu3WK +BP3Uy3WZOKE65g4= +=KIo6 +-----END PGP SIGNATURE----- diff --git a/.gear/tags/list b/.gear/tags/list new file mode 100644 index 0000000..610d88e --- /dev/null +++ b/.gear/tags/list @@ -0,0 +1 @@ +3dc62f0655e607d335e9d6531a31a73c2719fee7 xf86-video-dummy-0.3.8 diff --git a/autogen.sh b/autogen.sh index fc34bd5..9b9f7e7 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,14 +1,17 @@ #! /bin/sh -srcdir=`dirname $0` +srcdir=`dirname "$0"` test -z "$srcdir" && srcdir=. ORIGDIR=`pwd` -cd $srcdir +cd "$srcdir" autoreconf -v --install || exit 1 -cd $ORIGDIR || exit $? +cd "$ORIGDIR" || exit $? + +git config --local --get format.subjectPrefix >/dev/null 2>&1 || + git config --local format.subjectPrefix "PATCH xf86-video-dummy" if test -z "$NOCONFIGURE"; then - $srcdir/configure "$@" + exec "$srcdir"/configure "$@" fi diff --git a/configure.ac b/configure.ac index 4eb7fae..d44f21d 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" ]) @@ -56,14 +55,6 @@ AC_SUBST(moduledir) # Store the list of server defined optional extensions in REQUIRED_MODULES XORG_DRIVER_CHECK_EXT(RANDR, randrproto) XORG_DRIVER_CHECK_EXT(RENDER, renderproto) -XORG_DRIVER_CHECK_EXT(XV, videoproto) - -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.4.99.901] xproto fontsproto $REQUIRED_MODULES) diff --git a/src/Makefile.am b/src/Makefile.am index da1dd9a..c0d82e0 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 c3fdd6e..8e7c43b 100644 --- a/src/dummy.h +++ b/src/dummy.h @@ -28,12 +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); - -/* in dummy_video.c */ -extern void DUMMYInitVideo(ScreenPtr pScreen); - /* globals */ typedef struct _color { @@ -44,10 +38,6 @@ typedef struct _color typedef struct dummyRec { - DGAModePtr DGAModes; - int numDGAModes; - Bool DGAactive; - int DGAViewportStatus; /* options */ OptionInfoPtr Options; Bool swCursor; @@ -59,17 +49,7 @@ typedef struct dummyRec int cursorX, cursorY; int cursorFG, cursorBG; - Bool screenSaver; - Bool video; -#ifdef XvExtension - XF86VideoAdaptorPtr overlayAdaptor; -#endif - int overlay; - int overlay_offset; - int videoKey; - int interlace; - dummy_colors colors[256]; - pointer* FBBase; + dummy_colors colors[1024]; Bool (*CreateWindow)() ; /* wrapped CreateWindow */ Bool prop; } DUMMYRec, *DUMMYPtr; diff --git a/src/dummy_cursor.c b/src/dummy_cursor.c index 07a89bf..d7c67c6 100644 --- a/src/dummy_cursor.c +++ b/src/dummy_cursor.c @@ -39,8 +39,6 @@ dummySetCursorPosition(ScrnInfoPtr pScrn, int x, int y) { DUMMYPtr dPtr = DUMMYPTR(pScrn); -/* unsigned char *_dest = ((unsigned char *)dPtr->FBBase + */ -/* pScrn->videoRam * 1024 - 1024); */ dPtr->cursorX = x; dPtr->cursorY = y; } 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; -} diff --git a/src/dummy_driver.c b/src/dummy_driver.c index 2656602..b4b42f7 100644 --- a/src/dummy_driver.c +++ b/src/dummy_driver.c @@ -29,11 +29,6 @@ #include "picturestr.h" -#ifdef XvExtension -#include "xf86xv.h" -#include -#endif - /* * Driver data structures. */ @@ -44,10 +39,6 @@ #include #include "scrnintstr.h" #include "servermd.h" -#ifdef USE_DGA -#define _XF86DGA_SERVER_ -#include -#endif /* Mandatory functions */ static const OptionInfoRec * DUMMYAvailableOptions(int chipid, int busid); @@ -189,7 +180,7 @@ DUMMYGetRec(ScrnInfoPtr pScrn) if (pScrn->driverPrivate == NULL) return FALSE; - return TRUE; + return TRUE; } static void @@ -263,6 +254,9 @@ DUMMYProbe(DriverPtr drv, int flags) } } } + + free(devSections); + return foundScreen; } @@ -307,6 +301,7 @@ DUMMYPreInit(ScrnInfoPtr pScrn, int flags) case 15: case 16: case 24: + case 30: break; default: xf86DrvMsg(pScrn->scrnIndex, X_ERROR, @@ -510,7 +505,8 @@ DUMMYScreenInit(SCREEN_INIT_ARGS_DECL) DUMMYPtr dPtr; int ret; VisualPtr visual; - + void *pixels; + /* * we need to get the ScrnInfoRec for this screen, so let's allocate * one first thing @@ -520,7 +516,7 @@ DUMMYScreenInit(SCREEN_INIT_ARGS_DECL) DUMMYScrn = pScrn; - if (!(dPtr->FBBase = malloc(pScrn->videoRam * 1024))) + if (!(pixels = malloc(pScrn->videoRam * 1024))) return FALSE; /* @@ -541,7 +537,7 @@ DUMMYScreenInit(SCREEN_INIT_ARGS_DECL) * Call the framebuffer layer's ScreenInit function, and fill in other * pScreen fields. */ - ret = fbScreenInit(pScreen, dPtr->FBBase, + ret = fbScreenInit(pScreen, pixels, pScrn->virtualX, pScrn->virtualY, pScrn->xDpi, pScrn->yDpi, pScrn->displayWidth, pScrn->bitsPerPixel); @@ -568,10 +564,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"); @@ -612,14 +604,12 @@ DUMMYScreenInit(SCREEN_INIT_ARGS_DECL) if(!miCreateDefColormap(pScreen)) return FALSE; - if (!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, + if (!xf86HandleColormaps(pScreen, 1024, pScrn->rgbBits, DUMMYLoadPalette, NULL, CMAP_PALETTED_TRUECOLOR | CMAP_RELOAD_ON_MODE_SWITCH)) return FALSE; -/* DUMMYInitVideo(pScreen); */ - pScreen->SaveScreen = DUMMYSaveScreen; @@ -659,9 +649,7 @@ DUMMYCloseScreen(CLOSE_SCREEN_ARGS_DECL) ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); DUMMYPtr dPtr = DUMMYPTR(pScrn); - if(pScrn->vtSema){ - free(dPtr->FBBase); - } + free(pScreen->GetScreenPixmap(pScreen)->devPrivate.ptr); if (dPtr->CursorInfo) xf86DestroyCursorInfoRec(dPtr->CursorInfo); @@ -682,15 +670,6 @@ DUMMYFreeScreen(FREE_SCREEN_ARGS_DECL) static Bool DUMMYSaveScreen(ScreenPtr pScreen, int mode) { - ScrnInfoPtr pScrn = NULL; - DUMMYPtr dPtr; - - if (pScreen != NULL) { - pScrn = xf86ScreenToScrn(pScreen); - dPtr = DUMMYPTR(pScrn); - - dPtr->screenSaver = xf86IsUnblank(mode); - } return TRUE; } diff --git a/xorg-drv-dummy.spec b/xorg-drv-dummy.spec new file mode 100644 index 0000000..d31f459 --- /dev/null +++ b/xorg-drv-dummy.spec @@ -0,0 +1,105 @@ +Name: xorg-drv-dummy +Version: 0.3.8 +Release: alt1 +Summary: dummy video driver +License: MIT/X11 +Group: System/X11 +Url: http://xorg.freedesktop.org +Packager: Valery Inozemtsev + +Requires: XORG_ABI_VIDEODRV = %get_xorg_abi_videodrv + +Source: %name-%version.tar +Patch: %name-%version-%release.patch + +BuildRequires(Pre): xorg-sdk +BuildRequires: xorg-proto-devel + +%description +dummy is an Xorg driver for dummy video cards. + +%prep +%setup -q +%patch -p1 + +%build +%autoreconf +%configure \ + --with-xorg-module-dir=%_x11modulesdir \ + --disable-static + +%make_build + +%install +%make DESTDIR=%buildroot install + +%files +%_x11modulesdir/drivers/*.so + +%changelog +* Mon May 28 2018 Valery Inozemtsev 0.3.8-alt1 +- 0.3.8 + +* Thu Dec 01 2016 Valery Inozemtsev 0.3.7-alt4 +- requires XORG_ABI_VIDEODRV = 23.0 + +* Thu Nov 26 2015 Valery Inozemtsev 0.3.7-alt3 +- requires XORG_ABI_VIDEODRV = 20.0 + +* Fri Oct 10 2014 Valery Inozemtsev 0.3.7-alt2 +- requires XORG_ABI_VIDEODRV = 18.0 + +* Fri Jan 31 2014 Valery Inozemtsev 0.3.7-alt1 +- 0.3.7 + +* Wed Mar 06 2013 Valery Inozemtsev 0.3.6-alt3 +- requires XORG_ABI_VIDEODRV = 14.1 + +* Fri Jan 18 2013 Valery Inozemtsev 0.3.6-alt2 +- requires XORG_ABI_VIDEODRV = 13.1 + +* Mon Aug 27 2012 Valery Inozemtsev 0.3.6-alt1 +- 0.3.6 + +* Sun Mar 25 2012 Valery Inozemtsev 0.3.5-alt1 +- 0.3.5 + +* Mon Aug 29 2011 Valery Inozemtsev 0.3.4-alt4 +- requires XORG_ABI_VIDEODRV = 11.0 + +* Wed Dec 08 2010 Valery Inozemtsev 0.3.4-alt3 +- requires XORG_ABI_VIDEODRV = 9.0 + +* Sun Aug 22 2010 Valery Inozemtsev 0.3.4-alt2 +- added fake functions "glwMDrawingAreaWidgetClass" + +* Sun Aug 22 2010 Valery Inozemtsev 0.3.4-alt1 +- 0.3.4 + +* Thu Oct 08 2009 Valery Inozemtsev 0.3.2-alt2 +- requires XORG_ABI_VIDEODRV = 6.0 + +* Thu Jul 02 2009 Valery Inozemtsev 0.3.2-alt1 +- 0.3.2 + +* Wed Mar 04 2009 Valery Inozemtsev 0.3.1-alt4 +- dropped fake functions + +* Wed Mar 04 2009 Valery Inozemtsev 0.3.1-alt3 +- updated deprecated functions + +* Thu Feb 26 2009 Valery Inozemtsev 0.3.1-alt2 +- requires XORG_ABI_VIDEODRV = 5.0 + +* Mon Jan 26 2009 Valery Inozemtsev 0.3.1-alt1 +- 0.3.1 + +* Wed Aug 27 2008 Valery Inozemtsev 0.3.0-alt3 +- requires XORG_ABI_VIDEODRV = 4.1 + +* Wed Jun 04 2008 Valery Inozemtsev 0.3.0-alt2 +- renamed xorg-x11-drv-dummy to xorg-drv-dummy +- added requires XORG_ABI_VIDEODRV = 2.0 + +* Thu Mar 20 2008 Valery Inozemtsev 0.3.0-alt1 +- initial release