[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-vmware: Changes to 'upstream-experimental'



 .cvsignore                 |   19 -
 .gitignore                 |   83 +++++-
 COPYING                    |   52 +++-
 ChangeLog                  |   95 -------
 Makefile.am                |   11 
 README                     |  553 ---------------------------------------------
 configure.ac               |   58 ++--
 man/.cvsignore             |    2 
 man/.gitignore             |    1 
 man/Makefile.am            |   59 +---
 man/vmware.man             |    2 
 src/.cvsignore             |    6 
 src/Makefile.am            |   54 ++--
 src/vmware.c               |  132 ++++++++--
 src/vmware.h               |   36 ++
 src/vmwarectrl.c           |   89 +++++--
 src/vmwarecurs.c           |   54 +++-
 src/vmwaremodes.c          |  123 ++++++++++
 src/vmwaremodule.c         |  223 ++++++++++++++++++
 src/vmwarexinerama.c       |    2 
 vmwarectrl/.gitignore      |    2 
 vmwarectrl/libvmwarectrl.c |    2 
 vmwarectrl/vmwarectrl.c    |    6 
 23 files changed, 810 insertions(+), 854 deletions(-)

New commits:
commit 456b74e8778ab0c44e8a70aa45f447ff5c562be3
Author: Adam Jackson <ajax@redhat.com>
Date:   Tue Aug 10 11:02:05 2010 -0400

    xf86-video-vmware 11.0.2
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

diff --git a/configure.ac b/configure.ac
index 388f99f..f88d376 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-vmware],
-        [11.0.1],
+        [11.0.2],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-vmware])
 AC_CONFIG_SRCDIR([Makefile.am])

commit c29d24b2ca598011b84387006f03a9360910707f
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Fri Jul 23 21:02:33 2010 -0400

    config: add AM_PROG_CC_C_O for per-target compilation flags
    
    The use of per-target compilation flags with C sources requires
    that the macro AM_PROG_CC_C_O be called from configure.ac
    
    If the C compiler does not accept the -c and -o options simultaneously,
    define NO_MINUS_C_MINUS_O. This macro actually tests both the compiler
    found by AC_PROG_CC, and, if different, the first cc in the path.
    The test fails if one fails. This macro was created for GNU Make
    to choose the default C compilation rule.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index a01b244..388f99f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -44,6 +44,9 @@ XORG_DEFAULT_OPTIONS
 AC_DISABLE_STATIC
 AC_PROG_LIBTOOL
 
+# Checks for programs.
+AM_PROG_CC_C_O
+
 AH_TOP([#include "xorg-server.h"])
 
 # Define a configure option for an alternate module directory

commit dfbef04f1ff9430a01ca0ca682be32a8606e9e13
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jul 21 16:49:04 2010 -0400

    config: add comments for main statements

diff --git a/configure.ac b/configure.ac
index 78c8e9f..a01b244 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,18 +20,18 @@
 #
 # Process this file with autoconf to produce a configure script
 
+# Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-vmware],
         [11.0.1],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-vmware])
-
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR(.)
 
+# Initialize Automake
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
-
 AM_MAINTAINER_MODE
 
 # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
@@ -40,26 +40,27 @@ m4_ifndef([XORG_MACROS_VERSION],
 XORG_MACROS_VERSION(1.8)
 XORG_DEFAULT_OPTIONS
 
-# Checks for programs.
+# Initialize libtool
 AC_DISABLE_STATIC
 AC_PROG_LIBTOOL
 
 AH_TOP([#include "xorg-server.h"])
 
+# Define a configure option for an alternate module directory
 AC_ARG_WITH(xorg-module-dir,
             AS_HELP_STRING([--with-xorg-module-dir=DIR],
                            [Default xorg module directory [[default=$libdir/xorg/modules]]]),
             [moduledir="$withval"],
             [moduledir="$libdir/xorg/modules"])
 
-# Checks for extensions
+# 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(DPMSExtension, xextproto)
 XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)
 XORG_DRIVER_CHECK_EXT(XV, videoproto)
 
-# Checks for pkg-config packages
+# Obtain compiler/linker options for the driver dependencies
 PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.1 xproto fontsproto $REQUIRED_MODULES])
 PKG_CHECK_MODULES(DRM, [libdrm])
 
@@ -79,7 +80,6 @@ PKG_CHECK_EXISTS([xorg-server >= 1.7.0],
                  [AC_DEFINE([HAVE_XORG_SERVER_1_7_0], 1,
                  [Has version 1.7.0 or greater of the Xserver])])
 
-
 # Checks for libraries.
 
 save_CFLAGS="$CFLAGS"

commit 0dbd97fe7d411549aa343c25dab9c70087532727
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jul 21 16:07:00 2010 -0400

    config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index f9d10eb..78c8e9f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -100,8 +100,9 @@ AC_SUBST([moduledir])
 DRIVER_NAME=vmware
 AC_SUBST([DRIVER_NAME])
 
-AC_OUTPUT([
-	Makefile
-	src/Makefile
-	man/Makefile
+AC_CONFIG_FILES([
+                Makefile
+                src/Makefile
+                man/Makefile
 ])
+AC_OUTPUT

commit dfaa0b6391ebc32f4e81d8add053eabea44d0881
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jul 21 14:37:42 2010 -0400

    config: replace deprecated AC_HELP_STRING with AS_HELP_STRING
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index 6afd678..f9d10eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,7 +47,7 @@ AC_PROG_LIBTOOL
 AH_TOP([#include "xorg-server.h"])
 
 AC_ARG_WITH(xorg-module-dir,
-            AC_HELP_STRING([--with-xorg-module-dir=DIR],
+            AS_HELP_STRING([--with-xorg-module-dir=DIR],
                            [Default xorg module directory [[default=$libdir/xorg/modules]]]),
             [moduledir="$withval"],
             [moduledir="$libdir/xorg/modules"])

commit dd0bb4ac5730331070eac2c39880718eeff3760b
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jul 21 14:05:23 2010 -0400

    config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index 48db6ce..6afd678 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,7 +27,7 @@ AC_INIT([xf86-video-vmware],
         [xf86-video-vmware])
 
 AC_CONFIG_SRCDIR([Makefile.am])
-AM_CONFIG_HEADER([config.h])
+AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR(.)
 
 AM_INIT_AUTOMAKE([foreign dist-bzip2])

commit f07d572611ba072c5952fea526e7178202d36685
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jul 21 09:27:42 2010 -0400

    config: complete AC_INIT m4 quoting
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index bfe56e7..48db6ce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,9 +22,9 @@
 
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-vmware],
-        11.0.1,
+        [11.0.1],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
-        xf86-video-vmware)
+        [xf86-video-vmware])
 
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_CONFIG_HEADER([config.h])

commit 79956ca804b4ca6227f878cf794edafefa00d25a
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jul 20 21:44:58 2010 -0400

    config: remove unrequired AC_SUBST([XORG_CFLAGS])
    
    This macro is called by PKG_CHECK_MODULES
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index aa4be37..bfe56e7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,7 +95,6 @@ fi
 
 AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
 
-AC_SUBST([XORG_CFLAGS])
 AC_SUBST([moduledir])
 
 DRIVER_NAME=vmware

commit cee7a37a38f83cd5300a19f17493e43eb532e619
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jul 20 20:24:42 2010 -0400

    config: remove unrequired AC_HEADER_STDC
    
    Autoconf says:
    "This macro is obsolescent, as current systems have conforming
    header files. New programs need not use this macro".
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index 18b9e7f..aa4be37 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,8 +82,6 @@ PKG_CHECK_EXISTS([xorg-server >= 1.7.0],
 
 # Checks for libraries.
 
-# Checks for header files.
-AC_HEADER_STDC
 save_CFLAGS="$CFLAGS"
 CFLAGS="$XORG_CFLAGS"
 AC_CHECK_DECL(XSERVER_LIBPCIACCESS,

commit 8adb672ac3f754d02e377745c16f64151b50522a
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jul 20 19:41:31 2010 -0400

    config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
    
    XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
    AC_PROG_C_C99. This sets gcc with -std=gnu99.
    If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index f93d405..18b9e7f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,7 +43,6 @@ XORG_DEFAULT_OPTIONS
 # Checks for programs.
 AC_DISABLE_STATIC
 AC_PROG_LIBTOOL
-AC_PROG_CC
 
 AH_TOP([#include "xorg-server.h"])
 

commit d867b84e425cdf66542eebaabd8adb95b8121960
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jul 20 18:45:19 2010 -0400

    config: update AC_PREREQ statement to 2.60
    
    Unrelated to the previous patches, the new value simply reflects
    the reality that the minimum level for autoconf to configure
    all x.org modules is 2.60 dated June 2006.
    
    ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index 43f53d2..f93d405 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,7 +20,7 @@
 #
 # Process this file with autoconf to produce a configure script
 
-AC_PREREQ(2.57)
+AC_PREREQ([2.60])
 AC_INIT([xf86-video-vmware],
         11.0.1,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],

commit 190a6b7e032e37e33dda42482038b8fd1fd9d8af
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jul 20 16:15:30 2010 -0400

    config: upgrade to util-macros 1.8 for additional man page support
    
    Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS
    The value of MAN_SUBST is the same for all X.Org packages.

diff --git a/configure.ac b/configure.ac
index 5b696b5..43f53d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,10 +34,10 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
 
 AM_MAINTAINER_MODE
 
-# Require xorg-macros: XORG_DEFAULT_OPTIONS
+# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
 m4_ifndef([XORG_MACROS_VERSION],
-          [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
-XORG_MACROS_VERSION(1.3)
+          [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.8)
 XORG_DEFAULT_OPTIONS
 
 # Checks for programs.
diff --git a/man/Makefile.am b/man/Makefile.am
index 8f2454b..b3688ce 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -31,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man
 
 CLEANFILES = $(driverman_DATA)
 
-SED = sed
-
-# Strings to replace in man pages
-XORGRELSTRING = @PACKAGE_STRING@
-  XORGMANNAME = X Version 11
-
-MAN_SUBSTS = \
-	-e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-	-e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-	-e 's|__xservername__|Xorg|g' \
-	-e 's|__xconfigfile__|xorg.conf|g' \
-	-e 's|__projectroot__|$(prefix)|g' \
-	-e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
-	-e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \
-	-e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
-	-e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
-	-e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
+
+# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
+
 
 SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
 
 .man.$(DRIVER_MAN_SUFFIX):
-	sed $(MAN_SUBSTS) < $< > $@
+	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@

commit e647511e4b9b924b0617171c56b3bb485674b3ff
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Jul 13 11:57:15 2010 +0100

    Don't crash the server on Xorg -configure

diff --git a/src/vmwaremodule.c b/src/vmwaremodule.c
index 3d7f666..9cc180a 100644
--- a/src/vmwaremodule.c
+++ b/src/vmwaremodule.c
@@ -172,7 +172,8 @@ vmware_chain_module(pointer opts)
 	matched = vmwlegacy_devices;
     }
 
-    for (i = 0; i < vmware_devices; i++) {
+    /* Xorg -configure returns 1 from xf86MatchDevice with NULL gdevs */
+    for (i = 0; gdevs && i < vmware_devices; i++) {
 	gdev = gdevs[i];
 	gdev->driver = driver_name;
     }

commit 0bd99bb142093c0072147ec3bb665864b4cadef5
Author: Fernando Carrijo <fcarrijo@yahoo.com.br>
Date:   Thu Jul 1 07:18:11 2010 -0300

    Purge macros NEED_EVENTS and NEED_REPLIES
    
    Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
    Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/src/vmwarectrl.c b/src/vmwarectrl.c
index d9ceaa4..d0aace5 100644
--- a/src/vmwarectrl.c
+++ b/src/vmwarectrl.c
@@ -37,8 +37,6 @@
 #include "config.h"
 #endif
 
-#define NEED_REPLIES
-#define NEED_EVENTS
 #include "dixstruct.h"
 #include "extnsionst.h"
 #include <X11/X.h>
diff --git a/src/vmwarexinerama.c b/src/vmwarexinerama.c
index 204bade..8b82eea 100644
--- a/src/vmwarexinerama.c
+++ b/src/vmwarexinerama.c
@@ -36,8 +36,6 @@
 #include "config.h"
 #endif
 
-#define NEED_REPLIES
-#define NEED_EVENTS
 #include "dixstruct.h"
 #include "extnsionst.h"
 #include <X11/X.h>
diff --git a/vmwarectrl/libvmwarectrl.c b/vmwarectrl/libvmwarectrl.c
index 4e3173c..179537b 100644
--- a/vmwarectrl/libvmwarectrl.c
+++ b/vmwarectrl/libvmwarectrl.c
@@ -32,8 +32,6 @@
  */
 
 
-#define NEED_EVENTS
-#define NEED_REPLIES
 #include <X11/Xlibint.h>
 #include "libvmwarectrl.h"
 #include "vmwarectrlproto.h"

commit f307f77a34f3a6777f74458819f6a3519c2c3f2b
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Jun 13 13:10:55 2010 -0400

    COPYING: replace stub file with actual Copyright notices.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/COPYING b/COPYING
index 7f33cbf..fce144d 100644
--- a/COPYING
+++ b/COPYING
@@ -1,12 +1,48 @@
-This is a stub file.  This package has not yet had its complete licensing
-information compiled.  Please see the individual source files for details on
-your rights to use and modify this software.
+Copyright 2006 by VMware, Inc.
+Copyright 2007 by VMware, Inc.
 
-Please submit updated COPYING files to the Xorg bugzilla:
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
 
-https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
 
-All licensing questions regarding this software should be directed at the
-Xorg mailing list:
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the copyright holder(s)
+and author(s) shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in this Software without prior written
+authorization from the copyright holder(s) and author(s).
+
+Copyright 2010 VMware, Inc.  All rights reserved.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use, copy,
+modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
 
-http://lists.freedesktop.org/mailman/listinfo/xorg

commit 423d8a069a2d86068a8f22926a73bc965670315d
Author: Michel Dänzer <daenzer@vmware.com>
Date:   Mon Mar 29 10:19:04 2010 +0200

    Fix some issues pointed out by compiler warnings.
    
    * vmware_chain_module() doesn't return any values.
    * Remove an unused local variable.

diff --git a/src/vmwaremodule.c b/src/vmwaremodule.c
index d6fcddb..3d7f666 100644
--- a/src/vmwaremodule.c
+++ b/src/vmwaremodule.c
@@ -143,7 +143,7 @@ err:
     return FALSE;
 }
 
-static Bool
+static void
 vmware_chain_module(pointer opts)
 {
     int vmwlegacy_devices;
@@ -205,7 +205,6 @@ static pointer
 vmware_setup(pointer module, pointer opts, int *errmaj, int *errmin)
 {
     static Bool setupDone = 0;
-    int ret;
 
     /* This module should be loaded only once, but check to be sure. */
     if (!setupDone) {

commit cc77a36048863640fb1fa9f82b5b0dbf41326872
Author: Jakob Bornecrantz <jakob@vmware.com>
Date:   Thu Mar 18 15:30:36 2010 +0100

    Bump for 11.0.1 release.

diff --git a/configure.ac b/configure.ac
index ab54623..5b696b5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-vmware],
-        11.0.0,
+        11.0.1,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-vmware)
 

commit a5fb3698a033bfe7789641fd6719d8d4fb054201
Author: Jakob Bornecrantz <jakob@vmware.com>
Date:   Tue Mar 9 08:37:11 2010 +0000

    Rework chainloader code to check for vmwgfx userspace driver as well

diff --git a/src/vmwaremodule.c b/src/vmwaremodule.c
index 5b7d289..d6fcddb 100644
--- a/src/vmwaremodule.c
+++ b/src/vmwaremodule.c
@@ -38,6 +38,9 @@
 #define VMWARE_DRIVER_NAME    "vmware"
 #define VMWGFX_DRIVER_NAME    "vmwgfx"
 #define VMWGFX_MODULE_NAME    "vmwgfx"
+#define VMWGFX_COMPAT_MAJOR   11
+#define VMWGFX_REQUIRED_MAJOR 11
+#define VMWGFX_REQUIRED_MINOR 0
 #define VMWLEGACY_DRIVER_NAME "vmwlegacy"
 
 #define VMW_STRING_INNER(s) #s
@@ -68,6 +71,7 @@ _X_EXPORT XF86ModuleData vmwareModuleData = {
     NULL
 };
 
+extern XF86ModuleData *VMWGFX_MODULE_DATA;
 
 /*
  * Chain loading functions
@@ -79,9 +83,13 @@ vmware_check_kernel_module()
     /* Super simple way of knowing if the kernel driver is loaded */
     int ret = drmOpen(VMWGFX_MODULE_NAME, NULL);
     if (ret < 0) {
-	fprintf(stderr,
-		"%s: Please ignore above \"FATAL: Module %s not found.\"\n",
-		VMWARE_DRIVER_NAME, VMWGFX_MODULE_NAME);
+	/* This shouldn't go in the log as the original message does not */
+	fprintf(stderr, "%s: Please ignore above \"FATAL: Module %s not found."
+		"\"\n", VMWARE_DRIVER_NAME, VMWGFX_MODULE_NAME);
+	/* This is what goes into the log on the other hand */
+	xf86DrvMsg(-1, X_PROBED, "%s: Please ignore above \"[drm] failed to "
+		   "load kernel  module \"%s\"\"\n", VMWARE_DRIVER_NAME,
+		   VMWGFX_MODULE_NAME);
 	return FALSE;
     }
 
@@ -91,6 +99,51 @@ vmware_check_kernel_module()
 }
 
 static Bool
+vmware_check_vmwgfx_driver(int matched, pointer opts)
+{
+    int major; int minor;
+    pointer module;
+    CARD32 version;
+
+    if (matched) {
+	xf86DrvMsg(-1, X_PROBED, "%s: X configured to use %s X driver assume "
+		   "who ever did that knows what they are doing\n",
+		   VMWARE_DRIVER_NAME, VMWGFX_DRIVER_NAME);
+	/* Also how did they end up here, if the configured X to use vmwgfx and
+	 * X should load that driver for that hardware. And since there is only
+	 * one SVGA device this driver shouldn't be loaded. Weird...
+	 */
+	return TRUE;
+    }
+
+    module = xf86LoadOneModule(VMWGFX_DRIVER_NAME, opts);
+    if (!module) {
+	xf86DrvMsg(-1, X_ERROR, "%s: Please ignore the above warnings about "
+		   "not being able to to load module/driver %s\n",
+		   VMWARE_DRIVER_NAME, VMWGFX_DRIVER_NAME);
+	return FALSE;
+    }
+
+    version = xf86GetModuleVersion(module);
+    major = GET_MODULE_MAJOR_VERSION(version);
+    minor = GET_MODULE_MINOR_VERSION(version);
+
+    if (major > VMWGFX_COMPAT_MAJOR ||
+	major < VMWGFX_REQUIRED_MAJOR ||
+	(major == VMWGFX_REQUIRED_MAJOR && minor < VMWGFX_REQUIRED_MINOR)) {
+	xf86DrvMsg(-1, X_PROBED, "%s: The %s X driver failed version "
+		   "checking.\n", VMWARE_DRIVER_NAME, VMWGFX_DRIVER_NAME);
+	goto err;
+    }
+
+    return TRUE;
+
+err:
+    /* XXX We should drop the reference on the module here */
+    return FALSE;
+}
+
+static Bool
 vmware_chain_module(pointer opts)
 {
     int vmwlegacy_devices;
@@ -106,10 +159,15 @@ vmware_chain_module(pointer opts)
     vmwgfx_devices = xf86MatchDevice(VMWGFX_DRIVER_NAME, NULL);
     vmwlegacy_devices = xf86MatchDevice(VMWLEGACY_DRIVER_NAME, NULL);
 
-    if (vmware_check_kernel_module()) {
+    if (vmware_check_vmwgfx_driver(vmwgfx_devices, opts) &&
+	vmware_check_kernel_module()) {
+	xf86DrvMsg(-1, X_INFO, "%s: Using %s X driver.\n",
+		   VMWARE_DRIVER_NAME, VMWGFX_DRIVER_NAME);
 	driver_name = VMWGFX_DRIVER_NAME;
-	matched = vmwgfx_devices;
+	matched = 1;
     } else {
+	xf86DrvMsg(-1, X_INFO, "%s: Using %s driver everything is fine.\n",
+		   VMWARE_DRIVER_NAME, VMWLEGACY_DRIVER_NAME);
 	driver_name = VMWLEGACY_DRIVER_NAME;
 	matched = vmwlegacy_devices;
     }

commit bf18be6f458a4612b2ebdd8d2b5894f8884891e4
Author: Roland Scheidegger <sroland@vmware.com>
Date:   Tue Mar 9 16:10:25 2010 +0100

    fix a cursor refcounting bug, leading to segfaults
    
    this is similar to what xf86_use_hw_cursor() does, which is replaced by
    vmwareUseHWCursor (otherwise, the refcount could reach zero and hence the
    cursor deallocated while xf86CursorEnableDisableFBAccess() could still bring
    it back to life from the saved cursor).
    It is probably insane to do refcounting here, but this needs a xserver fix,
    and even if that's fixed this fix here shouldn't hurt (though would be
    unnecessary).

diff --git a/src/vmware.h b/src/vmware.h
index afefd7f..a3920ab 100644
--- a/src/vmware.h
+++ b/src/vmware.h
@@ -132,6 +132,7 @@ typedef struct {
     CARD32* vmwareFIFO;
 
     xf86CursorInfoPtr CursorInfoRec;
+    CursorPtr oldCurs;
     struct {
         int bg, fg, x, y;
         int hotX, hotY;
diff --git a/src/vmwarecurs.c b/src/vmwarecurs.c
index 017af28..38c5988 100644
--- a/src/vmwarecurs.c
+++ b/src/vmwarecurs.c
@@ -113,6 +113,12 @@ vmwareUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
 {
     ScrnInfoPtr pScrn = infoFromScreen(pScreen);
     VMWAREPtr pVMWARE = VMWAREPTR(pScrn);
+    VmwareLog(("UseHWCursor new cursor %p refcnt %i old cursor %p refcnt %i\n",
+              pCurs, pCurs->refcnt, pVMWARE->oldCurs, pVMWARE->oldCurs ? pVMWARE->oldCurs->refcnt : 0));
+    pCurs->refcnt++;
+    if (pVMWARE->oldCurs)
+       FreeCursor(pVMWARE->oldCurs, None);
+    pVMWARE->oldCurs = pCurs;
 
     pVMWARE->hwcur.hotX = pCurs->bits->xhot;
     pVMWARE->hwcur.hotY = pCurs->bits->yhot;
@@ -141,6 +147,13 @@ static Bool
 vmwareUseHWCursorARGB(ScreenPtr pScreen, CursorPtr pCurs)
 {
     ScrnInfoPtr pScrn = infoFromScreen(pScreen);
+    VMWAREPtr pVMWARE = VMWAREPTR(pScrn);
+    VmwareLog(("UseHWCursorARGB new cursor %p refcnt %i old cursor %p refcnt %i\n",
+              pCurs, pCurs->refcnt, pVMWARE->oldCurs, pVMWARE->oldCurs ? pVMWARE->oldCurs->refcnt : 0));
+    pCurs->refcnt++;
+    if (pVMWARE->oldCurs)
+       FreeCursor(pVMWARE->oldCurs, None);
+    pVMWARE->oldCurs = pCurs;
 
     return pCurs->bits->height <= MAX_CURS &&
            pCurs->bits->width <= MAX_CURS &&
@@ -286,6 +299,7 @@ vmwareCursorInit(ScreenPtr pScreen)
         return FALSE;
 
     pVMWARE->CursorInfoRec = infoPtr;
+    pVMWARE->oldCurs = NULL;
 
     infoPtr->MaxWidth = MAX_CURS;
     infoPtr->MaxHeight = MAX_CURS;
@@ -332,6 +346,9 @@ vmwareCursorCloseScreen(ScreenPtr pScreen)
 #endif /* RENDER */
 
     vmwareHideCursor(pScrn);
+    if (pVMWARE->oldCurs)
+       FreeCursor(pVMWARE->oldCurs, None);
+    pVMWARE->oldCurs = NULL;
     xf86DestroyCursorInfoRec(pVMWARE->CursorInfoRec);
 }
 

commit 257614ae9bea54d6a46e4477496500a84853ee37
Author: Roland Scheidegger <sroland@vmware.com>
Date:   Tue Mar 9 16:03:59 2010 +0100

    make DEBUG_LOGGING compile

diff --git a/src/vmware.h b/src/vmware.h
index 31560b5..afefd7f 100644
--- a/src/vmware.h
+++ b/src/vmware.h
@@ -204,7 +204,7 @@ static __inline ScrnInfoPtr infoFromScreen(ScreenPtr s) {
 /*#define DEBUG_LOGGING*/
 #ifdef DEBUG_LOGGING
 # define VmwareLog(args) ErrorF args
-# define TRACEPOINT VmwareLog((__FUNCTION__ ":" __FILE__ "\n"));
+# define TRACEPOINT VmwareLog(("%s : %s\n", __FUNCTION__, __FILE__));
 #else
 # define VmwareLog(args)
 # define TRACEPOINT

commit 29f6a2dca3e680908e938767256c9b995653ca7f
Author: Jakob Bornecrantz <jakob@vmware.com>
Date:   Sun Mar 7 15:02:39 2010 +0000

    Print text about none fatal error message with Fatal in it

diff --git a/src/vmwaremodule.c b/src/vmwaremodule.c
index c512559..5b7d289 100644
--- a/src/vmwaremodule.c
+++ b/src/vmwaremodule.c
@@ -37,6 +37,7 @@
 
 #define VMWARE_DRIVER_NAME    "vmware"
 #define VMWGFX_DRIVER_NAME    "vmwgfx"
+#define VMWGFX_MODULE_NAME    "vmwgfx"
 #define VMWLEGACY_DRIVER_NAME "vmwlegacy"
 
 #define VMW_STRING_INNER(s) #s
@@ -76,9 +77,13 @@ static Bool
 vmware_check_kernel_module()
 {
     /* Super simple way of knowing if the kernel driver is loaded */
-    int ret = drmOpen("vmwgfx", NULL);
-    if (ret < 0)
+    int ret = drmOpen(VMWGFX_MODULE_NAME, NULL);
+    if (ret < 0) {
+	fprintf(stderr,
+		"%s: Please ignore above \"FATAL: Module %s not found.\"\n",
+		VMWARE_DRIVER_NAME, VMWGFX_MODULE_NAME);
 	return FALSE;
+    }
 
     drmClose(ret);
 

commit 204504861a2847734a04bd976accb0c730733523
Author: Jakob Bornecrantz <jakob@vmware.com>
Date:   Fri Feb 26 16:27:17 2010 +0100

    Don't hardcode the module version in the source
    
    As pointed out by Julien Cristau XORG_RELEASE_VERSION
    gives us that info from configure.ac.
    
    Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>

diff --git a/src/vmware.c b/src/vmware.c
index 426cb64..5e683da 100644
--- a/src/vmware.c
+++ b/src/vmware.c
@@ -83,14 +83,11 @@ char rcsId_vmware[] =
 
 #define VMWARE_NAME "vmwlegacy"
 #define VMWARE_DRIVER_NAME "vmwlegacy"
-#define VMWARE_MAJOR_VERSION	11
-#define VMWARE_MINOR_VERSION	0
-#define VMWARE_PATCHLEVEL	0
 #define VMWARE_DRIVER_VERSION \
-   (VMWARE_MAJOR_VERSION * 65536 + VMWARE_MINOR_VERSION * 256 + VMWARE_PATCHLEVEL)
+   (PACKAGE_VERSION_MAJOR * 65536 + PACKAGE_VERSION_MINOR * 256 + PACKAGE_VERSION_PATCHLEVEL)
 #define VMWARE_DRIVER_VERSION_STRING \
-    VMW_STRING(VMWARE_MAJOR_VERSION) "." VMW_STRING(VMWARE_MINOR_VERSION) \
-    "." VMW_STRING(VMWARE_PATCHLEVEL)
+    VMW_STRING(PACKAGE_VERSION_MAJOR) "." VMW_STRING(PACKAGE_VERSION_MINOR) \
+    "." VMW_STRING(PACKAGE_VERSION_PATCHLEVEL)
 
 static const char VMWAREBuildStr[] = "VMware Guest X Server "
     VMWARE_DRIVER_VERSION_STRING " - build=$Name$\n";
@@ -194,7 +191,7 @@ static XF86ModuleVersionInfo vmwlegacyVersRec = {
     MODINFOSTRING1,
     MODINFOSTRING2,
     XORG_VERSION_CURRENT,
-    VMWARE_MAJOR_VERSION, VMWARE_MINOR_VERSION, VMWARE_PATCHLEVEL,
+    PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
     ABI_CLASS_VIDEODRV,
     ABI_VIDEODRV_VERSION,
     MOD_CLASS_VIDEODRV,
diff --git a/src/vmwaremodule.c b/src/vmwaremodule.c
index d46d26d..c512559 100644
--- a/src/vmwaremodule.c
+++ b/src/vmwaremodule.c
@@ -27,6 +27,9 @@
 #include <xf86.h>
 #include <xf86drm.h>
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 /*
  * Defines and exported module info.
@@ -39,18 +42,11 @@
 #define VMW_STRING_INNER(s) #s
 #define VMW_STRING(str) VMW_STRING_INNER(str)
 
-#define VMWARE_VERSION_MAJOR 11
-#define VMWARE_VERSION_MINOR 0
-#define VMWARE_VERSION_PATCH 0
-#define VMWARE_VERSION_STRING_MAJOR VMW_STRING(VMWARE_VERSION_MAJOR)
-#define VMWARE_VERSION_STRING_MINOR VMW_STRING(VMWARE_VERSION_MINOR)
-#define VMWARE_VERSION_STRING_PATCH VMW_STRING(VMWARE_VERSION_PATCH)
-
 #define VMWARE_DRIVER_VERSION \
-   (VMWARE_VERSION_MAJOR * 65536 + VMWARE_VERSION_MINOR * 256 + VMWARE_VERSION_PATCH)
+   (PACKAGE_VERSION_MAJOR * 65536 + PACKAGE_VERSION_MINOR * 256 + PACKAGE_VERSION_PATCHLEVEL)
 #define VMWARE_DRIVER_VERSION_STRING \
-    VMWARE_VERSION_STRING_MAJOR "." VMWARE_VERSION_STRING_MINOR \
-    "." VMWARE_VERSION_STRING_PATCH
+    VMW_STRING(PACKAGE_VERSION_MAJOR) "." VMW_STRING(PACKAGE_VERSION_MINOR) \
+    "." VMW_STRING(PACKAGE_VERSION_PATCHLEVEL)
 
 /*
  * Standard four digit version string expected by VMware Tools installer.
@@ -135,7 +131,7 @@ static XF86ModuleVersionInfo vmware_version = {
     MODINFOSTRING1,
     MODINFOSTRING2,
     XORG_VERSION_CURRENT,
-    VMWARE_VERSION_MAJOR, VMWARE_VERSION_MINOR, VMWARE_VERSION_PATCH,
+    PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL,
     ABI_CLASS_VIDEODRV,
     ABI_VIDEODRV_VERSION,
     MOD_CLASS_VIDEODRV,

commit 667263d9410bd0d5832cf08a2a28841fe6326b84
Author: Jakob Bornecrantz <jakob@vmware.com>
Date:   Thu Feb 18 14:11:32 2010 +0100

    Bump major for new chainloading driver

diff --git a/configure.ac b/configure.ac
index 9099398..ab54623 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-vmware],
-        10.16.9,
+        11.0.0,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-vmware)
 
diff --git a/src/vmware.c b/src/vmware.c
index 87a4c2b..426cb64 100644
--- a/src/vmware.c
+++ b/src/vmware.c
@@ -83,9 +83,9 @@ char rcsId_vmware[] =
 
 #define VMWARE_NAME "vmwlegacy"
 #define VMWARE_DRIVER_NAME "vmwlegacy"
-#define VMWARE_MAJOR_VERSION	10
-#define VMWARE_MINOR_VERSION	16
-#define VMWARE_PATCHLEVEL	9
+#define VMWARE_MAJOR_VERSION	11
+#define VMWARE_MINOR_VERSION	0
+#define VMWARE_PATCHLEVEL	0
 #define VMWARE_DRIVER_VERSION \
    (VMWARE_MAJOR_VERSION * 65536 + VMWARE_MINOR_VERSION * 256 + VMWARE_PATCHLEVEL)
 #define VMWARE_DRIVER_VERSION_STRING \
diff --git a/src/vmwaremodule.c b/src/vmwaremodule.c
index 81081fa..d46d26d 100644
--- a/src/vmwaremodule.c
+++ b/src/vmwaremodule.c
@@ -39,9 +39,9 @@
 #define VMW_STRING_INNER(s) #s
 #define VMW_STRING(str) VMW_STRING_INNER(str)
 
-#define VMWARE_VERSION_MAJOR 10
-#define VMWARE_VERSION_MINOR 16
-#define VMWARE_VERSION_PATCH 9
+#define VMWARE_VERSION_MAJOR 11
+#define VMWARE_VERSION_MINOR 0
+#define VMWARE_VERSION_PATCH 0
 #define VMWARE_VERSION_STRING_MAJOR VMW_STRING(VMWARE_VERSION_MAJOR)
 #define VMWARE_VERSION_STRING_MINOR VMW_STRING(VMWARE_VERSION_MINOR)
 #define VMWARE_VERSION_STRING_PATCH VMW_STRING(VMWARE_VERSION_PATCH)

commit 048fe839f0d761aeba95c324f14bdc5488e9e634
Author: Jakob Bornecrantz <jakob@vmware.com>
Date:   Mon Feb 22 13:20:06 2010 +0100

    Link to drm but on for the vmware chainloader driver

diff --git a/src/Makefile.am b/src/Makefile.am
index 17677f7..0b74eca 100644


Reply to: