configure.ac | 10 +++++ src/vmware.c | 93 +++++++++++++++++++++++++++++------------------------- src/vmware.h | 9 +++-- src/vmwarevideo.c | 8 +--- 4 files changed, 67 insertions(+), 53 deletions(-)
New commits: commit b53bb2ad4c6f6e378cbf82a98cac917736d62740 Author: Vinay Bondhugula <[EMAIL PROTECTED]> Date: Thu Jun 12 17:34:30 2008 -0400 Prepare for 10.16.2 Bump up version numbers. diff --git a/configure.ac b/configure.ac index 163a887..09d70f2 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-video-vmware], - 10.16.1, + 10.16.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-video-vmware) diff --git a/src/vmware.c b/src/vmware.c index f2c4515..e22c038 100644 --- a/src/vmware.c +++ b/src/vmware.c @@ -83,7 +83,7 @@ char rcsId_vmware[] = #define VMWARE_DRIVER_NAME "vmware" #define VMWARE_MAJOR_VERSION 10 #define VMWARE_MINOR_VERSION 16 -#define VMWARE_PATCHLEVEL 1 +#define VMWARE_PATCHLEVEL 2 #define VMWARE_DRIVER_VERSION \ (VMWARE_MAJOR_VERSION * 65536 + VMWARE_MINOR_VERSION * 256 + VMWARE_PATCHLEVEL) #define VMWARE_DRIVER_VERSION_STRING \ commit 1f7a8390a32852d2ff0039a7d8138a292d17b50a Author: Vinay Bondhugula <[EMAIL PROTECTED]> Date: Tue Apr 29 18:29:11 2008 -0400 Fix VMWARE_CTRL and Xinerama Initialization Move initialization code for the vmware control and xinerama extensions to VMWAREScreenInit(), so that auto-resize and multi-mon work fine after a user logs out and logs in again in a graphical display manager. diff --git a/src/vmware.c b/src/vmware.c index e4d149d..f2c4515 100644 --- a/src/vmware.c +++ b/src/vmware.c @@ -580,7 +580,6 @@ VMWAREPreInit(ScrnInfoPtr pScrn, int flags) int i; ClockRange* clockRanges; IOADDRESS domainIOBase = 0; - Bool useXinerama = TRUE; #ifndef BUILD_FOR_420 domainIOBase = pScrn->domainIOBase; @@ -895,30 +894,6 @@ VMWAREPreInit(ScrnInfoPtr pScrn, int flags) pScrn->videoRam = pVMWARE->videoRam / 1024; pScrn->memPhysBase = pVMWARE->memPhysBase; - /* - * Init xinerama preferences. - */ - useXinerama = xf86ReturnOptValBool(options, OPTION_XINERAMA, - pVMWARE->vmwareCapability & SVGA_CAP_MULTIMON); - if (useXinerama && !(pVMWARE->vmwareCapability & SVGA_CAP_MULTIMON)) { - xf86DrvMsg(pScrn->scrnIndex, X_WARNING, - "Xinerama is not safely supported by the current virtual hardware. " - "Do not request resolutions that require > 16MB of framebuffer.\n"); - } - - - if (useXinerama && xf86IsOptionSet(options, OPTION_STATIC_XINERAMA)) { - char *topology = xf86GetOptValString(options, OPTION_STATIC_XINERAMA); - if (topology) { - pVMWARE->xineramaState = - VMWAREParseTopologyString(pScrn, topology, &pVMWARE->xineramaNumOutputs); - - pVMWARE->xineramaStatic = pVMWARE->xineramaState != NULL; - - xfree(topology); - } - } - xfree(options); { @@ -983,20 +958,6 @@ VMWAREPreInit(ScrnInfoPtr pScrn, int flags) xf86LoaderReqSymLists(ramdacSymbols, NULL); } - /* Initialise VMWARE_CTRL extension. */ - VMwareCtrl_ExtInit(pScrn); - - /* Initialise Xinerama extension. */ - if (useXinerama) { - VMwareXinerama_ExtInit(pScrn); - } - - if (pVMWARE->xinerama && pVMWARE->xineramaStatic) { - xf86DrvMsg(pScrn->scrnIndex, X_INFO, pVMWARE->xineramaState ? - "Using static Xinerama.\n" : - "Failed to configure static Xinerama.\n"); - } - return TRUE; } @@ -1530,16 +1491,64 @@ VMWAREScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) ScrnInfoPtr pScrn; vgaHWPtr hwp; VMWAREPtr pVMWARE; + OptionInfoPtr options; + Bool useXinerama = TRUE; /* Get the ScrnInfoRec */ pScrn = xf86Screens[pScreen->myNum]; pVMWARE = VMWAREPTR(pScrn); + + xf86CollectOptions(pScrn, NULL); + if (!(options = xalloc(sizeof(VMWAREOptions)))) + return FALSE; + memcpy(options, VMWAREOptions, sizeof(VMWAREOptions)); + xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, options); + + /* + * Init xinerama preferences. + */ + useXinerama = xf86ReturnOptValBool(options, OPTION_XINERAMA, + pVMWARE->vmwareCapability & SVGA_CAP_MULTIMON); + if (useXinerama && !(pVMWARE->vmwareCapability & SVGA_CAP_MULTIMON)) { + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, + "Xinerama is not safely supported by the current virtual hardware. " + "Do not request resolutions that require > 16MB of framebuffer.\n"); + } + + + if (useXinerama && xf86IsOptionSet(options, OPTION_STATIC_XINERAMA)) { + char *topology = xf86GetOptValString(options, OPTION_STATIC_XINERAMA); + if (topology) { + pVMWARE->xineramaState = + VMWAREParseTopologyString(pScrn, topology, &pVMWARE->xineramaNumOutputs); + + pVMWARE->xineramaStatic = pVMWARE->xineramaState != NULL; + + xfree(topology); + } + } + + xfree(options); + + /* Initialise VMWARE_CTRL extension. */ + VMwareCtrl_ExtInit(pScrn); + + /* Initialise Xinerama extension. */ + if (useXinerama) { + VMwareXinerama_ExtInit(pScrn); + } + + if (pVMWARE->xinerama && pVMWARE->xineramaStatic) { + xf86DrvMsg(pScrn->scrnIndex, X_INFO, pVMWARE->xineramaState ? + "Using static Xinerama.\n" : + "Failed to configure static Xinerama.\n"); + } + /* * If using the vgahw module, its data structures and related * things are typically initialised/mapped here. */ - hwp = VGAHWPTR(pScrn); vgaHWGetIOBase(hwp); @@ -1572,7 +1581,6 @@ VMWAREScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) * acceptable. To deal with this, call miSetVisualTypes with * the appropriate visual mask. */ - if (pScrn->bitsPerPixel > 8) { if (!miSetVisualTypes(pScrn->depth, TrueColorMask, pScrn->rgbBits, pScrn->defaultVisual)) { @@ -1681,7 +1689,6 @@ VMWAREScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) * Install colourmap functions. If using the vgahw module, * vgaHandleColormaps would usually be called here. */ - if (!fbCreateDefColormap(pScreen)) return FALSE; commit db027200474684c0aa4b9387f3ed53b2e5f24478 Author: Vinay Bondhugula <[EMAIL PROTECTED]> Date: Tue Apr 22 14:18:45 2008 -0400 More xorg and xfree86 backwards compatibility Push most of the xorg-server version checking into the configure script. With this change, unmodified driver source compiles in the XFree86 4.3 tree. diff --git a/configure.ac b/configure.ac index 8d20681..163a887 100644 --- a/configure.ac +++ b/configure.ac @@ -58,6 +58,14 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto) PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.1 xproto fontsproto $REQUIRED_MODULES]) sdkdir=$(pkg-config --variable=sdkdir xorg-server) +PKG_CHECK_EXISTS([xorg-server >= 1.1.0], + [AC_DEFINE([HAVE_XORG_SERVER_1_1_0], 1, + [Has version 1.1.0 or greater of the Xserver])]) + +PKG_CHECK_EXISTS([xorg-server >= 1.0.99.901], + [AC_DEFINE([HAVE_XORG_SERVER_1_0_99_901], 1, + [Has version 1.0.99.901 or greater of the Xserver])]) + # Checks for libraries. # Checks for header files. diff --git a/src/vmware.h b/src/vmware.h index 63bb831..bb1234d 100644 --- a/src/vmware.h +++ b/src/vmware.h @@ -8,8 +8,12 @@ #ifndef VMWARE_H #define VMWARE_H -#include "xorgVersion.h" -#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(7, 1, 0, 0, 0) || XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(2, 0, 0, 0, 0) + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_XORG_SERVER_1_1_0 #include <string.h> #endif @@ -19,7 +23,6 @@ #include <X11/extensions/panoramiXproto.h> -#include "xorg-server.h" #ifdef XSERVER_LIBPCIACCESS #include <pciaccess.h> #endif diff --git a/src/vmwarevideo.c b/src/vmwarevideo.c index d6ff4b7..a0a7781 100644 --- a/src/vmwarevideo.c +++ b/src/vmwarevideo.c @@ -45,10 +45,6 @@ #include "svga_overlay.h" #include <X11/extensions/Xv.h> -/* - * Need this to figure out which prototype to use for XvPutImage - */ -#include "xorgVersion.h" #define MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, TRUE) @@ -170,7 +166,7 @@ typedef VMWAREVideoRec *VMWAREVideoPtr; /* * Callback functions */ -#if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(7, 0, 0, 0, 0) || XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(2, 0, 0, 0, 0) +#ifdef HAVE_XORG_SERVER_1_0_99_901 static int vmwareXvPutImage(ScrnInfoPtr pScrn, short src_x, short src_y, short drw_x, short drw_y, short src_w, short src_h, short drw_w, short drw_h, int image, @@ -968,7 +964,7 @@ static void vmwareVideoEndStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid) *----------------------------------------------------------------------------- */ -#if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(7, 0, 0, 0, 0) || XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(4, 0, 0, 0, 0) +#ifdef HAVE_XORG_SERVER_1_0_99_901 static int vmwareXvPutImage(ScrnInfoPtr pScrn, short src_x, short src_y, short drw_x, short drw_y, short src_w, short src_h, short drw_w, short drw_h, int format, -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]