ChangeLog | 118 +++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 debian/changelog | 10 +++ debian/control | 1 debian/rules | 4 + saa/saa.c | 4 - saa/saa.h | 4 + saa/saa_priv.h | 1 saa/saa_render.c | 4 + src/Makefile.am | 1 src/compat-api.h | 99 +++++++++++++++++++++++++++++++++++++ src/vmware.c | 42 +++++++--------- src/vmware.h | 5 - src/vmware_common.h | 2 src/vmwarecurs.c | 17 +++--- src/vmwarevideo.c | 5 + vmwgfx/vmwgfx_crtc.c | 6 +- vmwgfx/vmwgfx_dri2.c | 4 - vmwgfx/vmwgfx_driver.c | 74 +++++++++++++--------------- vmwgfx/vmwgfx_driver.h | 7 +- vmwgfx/vmwgfx_saa.c | 4 - vmwgfx/vmwgfx_tex_video.c | 6 +- vmwgfx/vmwgfx_xa_surface.c | 2 23 files changed, 328 insertions(+), 94 deletions(-)
New commits: commit 29c81bd5f6818231001f8a487962e687112ac9dd Author: Julien Cristau <jcris...@debian.org> Date: Sun Sep 8 21:12:07 2013 +0200 Upload to unstable diff --git a/debian/changelog b/debian/changelog index e950a86..35a50b5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xserver-xorg-video-vmware (1:13.0.1-1) UNRELEASED; urgency=low +xserver-xorg-video-vmware (1:13.0.1-1) unstable; urgency=low * New upstream release @@ -6,7 +6,7 @@ xserver-xorg-video-vmware (1:13.0.1-1) UNRELEASED; urgency=low * Add build-dep on libxatracker-dev for 3d support (closes: #675977) * Disable silent build rules. - -- Timo Aaltonen <tjaal...@ubuntu.com> Thu, 02 Aug 2012 10:46:43 +0300 + -- Julien Cristau <jcris...@debian.org> Sun, 08 Sep 2013 21:11:48 +0200 xserver-xorg-video-vmware (1:12.0.2-1) unstable; urgency=low commit 2b0f354b83a4662ba575dd0974ff74472b1c188c Author: Julien Cristau <jcris...@debian.org> Date: Sun Sep 8 21:06:13 2013 +0200 Disable silent build rules. diff --git a/debian/changelog b/debian/changelog index 74d83a6..e950a86 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ xserver-xorg-video-vmware (1:13.0.1-1) UNRELEASED; urgency=low [ Julien Cristau ] * Add build-dep on libxatracker-dev for 3d support (closes: #675977) + * Disable silent build rules. -- Timo Aaltonen <tjaal...@ubuntu.com> Thu, 02 Aug 2012 10:46:43 +0300 diff --git a/debian/rules b/debian/rules index a0d81d2..304c7ee 100755 --- a/debian/rules +++ b/debian/rules @@ -2,7 +2,9 @@ # Enable unit test client tool: override_dh_auto_configure: - dh_auto_configure -- --enable-vmwarectrl-client + dh_auto_configure -- \ + --enable-vmwarectrl-client \ + --disable-silent-rules # Install in debian/tmp to retain control through dh_install: override_dh_auto_install: commit f20147ebdae0eddde361203dea81571cf2a3584a Author: Julien Cristau <jcris...@debian.org> Date: Sun Sep 8 21:04:42 2013 +0200 Add build-dep on libxatracker-dev for 3d support (closes: #675977) diff --git a/debian/changelog b/debian/changelog index 47b8eca..74d83a6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,9 @@ xserver-xorg-video-vmware (1:13.0.1-1) UNRELEASED; urgency=low * New upstream release + [ Julien Cristau ] + * Add build-dep on libxatracker-dev for 3d support (closes: #675977) + -- Timo Aaltonen <tjaal...@ubuntu.com> Thu, 02 Aug 2012 10:46:43 +0300 xserver-xorg-video-vmware (1:12.0.2-1) unstable; urgency=low diff --git a/debian/control b/debian/control index 430948e..8f000dd 100644 --- a/debian/control +++ b/debian/control @@ -19,6 +19,7 @@ Build-Depends: libdrm-dev [!hurd-i386], libxext-dev, libx11-dev, + libxatracker-dev, Standards-Version: 3.9.1 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-vmware Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-vmware.git commit 12ad0602ec3b2bc9322601c2935b413b1731685a Author: Julien Cristau <jcris...@debian.org> Date: Sun Sep 8 21:00:53 2013 +0200 Bump changelogs diff --git a/ChangeLog b/ChangeLog index accf25c..57f46d8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,59 @@ +commit b3345886332ee2b9fd1348dc2cd36257dfd71986 +Author: Jakob Bornecrantz <ja...@vmware.com> +Date: Wed Apr 17 12:03:32 2013 +0200 + + Bump the version number to 13.0.1 + +commit d13a6334fe76f4e869b2cb8c0a6a13c185b1bedd +Author: Loïc Yhuel <loic.yh...@gmail.com> +Date: Thu Apr 11 11:29:10 2013 +0200 + + vmwgfx: Use myGlyphs to fix crashes + + Tested-by: Christian Hesse <m...@eworm.de> + Reviewed-by: Jakob Bornecrantz <ja...@vmware.com> + Signed-off-by: Loïc Yhuel <loic.yh...@gmail.com> + Signed-off-by: Jakob Bornecrantz <ja...@vmware.com> + +commit 23d87c92b7211cc5249eefe4ab3a2c7f370e279e +Author: Zack Rusin <za...@vmware.com> +Date: Thu Feb 14 14:33:01 2013 -0800 + + Kill mibstore + + It was a noop for at least 5 years and it has been removed. + + Signed-off-by: Zack Rusin <za...@vmware.com> + +commit 686859fba16ed2616c38bbe5d4e38abf4c5b7ae9 +Author: Zack Rusin <za...@vmware.com> +Date: Tue Jan 15 12:05:45 2013 -0800 + + Bump the version number to 13.0.0 + + New abi and various fixes + + Signed-off-by: Zack Rusin <za...@vmware.com> + +commit adf375f3d400e51b1e445e89de6bd82be0bb4ef3 +Author: Zack Rusin <za...@vmware.com> +Date: Thu Dec 6 16:40:13 2012 -0500 + + xf86-video-vmware 12.0.99.901 + + Internal release for a round of QE testing + + Signed-off-by: Zack Rusin <za...@vmware.com> + +commit 007bed30270ca9548dfe6e359972b56cbb8e2f13 +Author: Jakob Bornecrantz <ja...@vmware.com> +Date: Tue May 29 23:01:14 2012 +0200 + + vmwgfx: Guard against null rotate pixmap in shadow destroy + + Reviewed-by: Thomas Hellström <thellst...@vmware.com> + Signed-off-by: Jakob Bornecrantz <ja...@vmware.com> + commit e5ac80d8f72963313358e31cfb1ab98583e26f23 Author: Dave Airlie <airl...@redhat.com> Date: Tue Jul 3 13:50:30 2012 +0100 diff --git a/debian/changelog b/debian/changelog index d01fe85..47b8eca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ -xserver-xorg-video-vmware (1:12.0.2+git.e5ac80d8-1) UNRELEASED; urgency=low +xserver-xorg-video-vmware (1:13.0.1-1) UNRELEASED; urgency=low - * New upstream snapshot to build against xserver 1.13. + * New upstream release -- Timo Aaltonen <tjaal...@ubuntu.com> Thu, 02 Aug 2012 10:46:43 +0300 commit b3345886332ee2b9fd1348dc2cd36257dfd71986 Author: Jakob Bornecrantz <ja...@vmware.com> Date: Wed Apr 17 12:03:32 2013 +0200 Bump the version number to 13.0.1 diff --git a/configure.ac b/configure.ac index 424fb92..0631bcc 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-vmware], - [13.0.0], + [13.0.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-vmware]) AC_CONFIG_SRCDIR([Makefile.am]) commit d13a6334fe76f4e869b2cb8c0a6a13c185b1bedd Author: Loïc Yhuel <loic.yh...@gmail.com> Date: Thu Apr 11 11:29:10 2013 +0200 vmwgfx: Use myGlyphs to fix crashes Tested-by: Christian Hesse <m...@eworm.de> Reviewed-by: Jakob Bornecrantz <ja...@vmware.com> Signed-off-by: Loïc Yhuel <loic.yh...@gmail.com> Signed-off-by: Jakob Bornecrantz <ja...@vmware.com> diff --git a/saa/saa_render.c b/saa/saa_render.c index c69f2c9..c6ce68c 100644 --- a/saa/saa_render.c +++ b/saa/saa_render.c @@ -406,6 +406,8 @@ saa_render_setup(ScreenPtr pScreen) saa_wrap(sscreen, ps, Trapezoids, saa_trapezoids); saa_wrap(sscreen, ps, Triangles, saa_triangles); saa_wrap(sscreen, ps, Composite, saa_composite); + saa_wrap(sscreen, ps, Glyphs, miGlyphs); + saa_wrap(sscreen, ps, UnrealizeGlyph, miUnrealizeGlyph); } } @@ -419,6 +421,8 @@ saa_render_takedown(ScreenPtr pScreen) saa_unwrap(sscreen, ps, Trapezoids); saa_unwrap(sscreen, ps, Triangles); saa_unwrap(sscreen, ps, Composite); + saa_unwrap(sscreen, ps, Glyphs); + saa_unwrap(sscreen, ps, UnrealizeGlyph); } } #endif commit 23d87c92b7211cc5249eefe4ab3a2c7f370e279e Author: Zack Rusin <za...@vmware.com> Date: Thu Feb 14 14:33:01 2013 -0800 Kill mibstore It was a noop for at least 5 years and it has been removed. Signed-off-by: Zack Rusin <za...@vmware.com> diff --git a/saa/saa_priv.h b/saa/saa_priv.h index 6652054..5d81453 100644 --- a/saa/saa_priv.h +++ b/saa/saa_priv.h @@ -48,7 +48,6 @@ #include "pixmapstr.h" #include "windowstr.h" #include "servermd.h" -#include "mibstore.h" #include "colormapst.h" #include "gcstruct.h" #include "input.h" diff --git a/src/vmware.c b/src/vmware.c index 41201f1..6b74e14 100644 --- a/src/vmware.c +++ b/src/vmware.c @@ -23,7 +23,6 @@ char rcsId_vmware[] = #include "xf86Pci.h" /* pci */ #include "mipointer.h" /* sw cursor */ -#include "mibstore.h" /* backing store */ #include "micmap.h" /* mi color map */ #include "vgaHW.h" /* VGA hardware */ #include "fb.h" @@ -1483,7 +1482,6 @@ VMWAREScreenInit(SCREEN_INIT_ARGS_DECL) * If backing store is to be supported (as is usually the case), * initialise it. */ - miInitializeBackingStore(pScreen); xf86SetBackingStore(pScreen); xf86SetSilkenMouse(pScreen); diff --git a/vmwgfx/vmwgfx_driver.c b/vmwgfx/vmwgfx_driver.c index 9959ffb..7863ba2 100644 --- a/vmwgfx/vmwgfx_driver.c +++ b/vmwgfx/vmwgfx_driver.c @@ -1036,7 +1036,6 @@ drv_screen_init(SCREEN_INIT_ARGS_DECL) (ms->only_hw_presents) ? "enabled" : "disabled"); } - miInitializeBackingStore(pScreen); xf86SetBackingStore(pScreen); xf86SetSilkenMouse(pScreen); miDCInitialize(pScreen, xf86GetPointerScreenFuncs()); commit 686859fba16ed2616c38bbe5d4e38abf4c5b7ae9 Author: Zack Rusin <za...@vmware.com> Date: Tue Jan 15 12:05:45 2013 -0800 Bump the version number to 13.0.0 New abi and various fixes Signed-off-by: Zack Rusin <za...@vmware.com> diff --git a/configure.ac b/configure.ac index 444e3fb..424fb92 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-vmware], - [12.0.99.901], + [13.0.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-vmware]) AC_CONFIG_SRCDIR([Makefile.am]) commit adf375f3d400e51b1e445e89de6bd82be0bb4ef3 Author: Zack Rusin <za...@vmware.com> Date: Thu Dec 6 16:40:13 2012 -0500 xf86-video-vmware 12.0.99.901 Internal release for a round of QE testing Signed-off-by: Zack Rusin <za...@vmware.com> diff --git a/configure.ac b/configure.ac index d57a3c1..444e3fb 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-vmware], - [12.0.2], + [12.0.99.901], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-vmware]) AC_CONFIG_SRCDIR([Makefile.am]) commit 007bed30270ca9548dfe6e359972b56cbb8e2f13 Author: Jakob Bornecrantz <ja...@vmware.com> Date: Tue May 29 23:01:14 2012 +0200 vmwgfx: Guard against null rotate pixmap in shadow destroy Reviewed-by: Thomas Hellström <thellst...@vmware.com> Signed-off-by: Jakob Bornecrantz <ja...@vmware.com> diff --git a/vmwgfx/vmwgfx_crtc.c b/vmwgfx/vmwgfx_crtc.c index eaf87b2..fec04c0 100644 --- a/vmwgfx/vmwgfx_crtc.c +++ b/vmwgfx/vmwgfx_crtc.c @@ -250,8 +250,12 @@ crtc_shadow_create(xf86CrtcPtr crtc, void *data, int width, int height) static void crtc_shadow_destroy(xf86CrtcPtr crtc, PixmapPtr rotate_pixmap, void *data) { - ScreenPtr pScreen = rotate_pixmap->drawable.pScreen; + ScreenPtr pScreen; + if (rotate_pixmap == NULL) + return; + + pScreen = rotate_pixmap->drawable.pScreen; pScreen->DestroyPixmap(rotate_pixmap); } commit 405d30c7312a1e46a7a87de36f762b7918084908 Author: Timo Aaltonen <Timo Aaltonen tjaal...@cc.hut.fi> Date: Thu Aug 2 11:08:55 2012 +0300 fix the revision diff --git a/debian/changelog b/debian/changelog index 2b49a76..d01fe85 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xserver-xorg-video-vmware (1:12.0.2+git.e5ac80d8-1ubuntu1) UNRELEASED; urgency=low +xserver-xorg-video-vmware (1:12.0.2+git.e5ac80d8-1) UNRELEASED; urgency=low * New upstream snapshot to build against xserver 1.13. commit a97b93e5437a9a3df4c8d6f09419727419704477 Author: Timo Aaltonen <Timo Aaltonen tjaal...@cc.hut.fi> Date: Thu Aug 2 11:05:11 2012 +0300 update the changelogs diff --git a/ChangeLog b/ChangeLog index 2a5d2ce..accf25c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,65 @@ +commit e5ac80d8f72963313358e31cfb1ab98583e26f23 +Author: Dave Airlie <airl...@redhat.com> +Date: Tue Jul 3 13:50:30 2012 +0100 + + vmware: avoid warnings about shadowing 'i' + + Signed-off-by: Dave Airlie <airl...@redhat.com> + +commit 46c0862d205eefa985e36a74391ca392640cb898 +Author: Dave Airlie <airl...@redhat.com> +Date: Sat Jun 16 14:43:52 2012 +0100 + + vmware: drop infoFromScreen inline in favour of new interface + + This also should fix the build regression introduced with the fix + for this macro. + + Signed-off-by: Dave Airlie <airl...@redhat.com> + +commit 50c01998c7800bc02fd6656cc14efa715bf63e08 +Author: Robert Hooker <sarv...@ubuntu.com> +Date: Fri Jun 15 11:56:59 2012 -0400 + + vmware: Fix up some warnings after new compat API change. + + Fixes multiple instances of these warnings on x86_64: + ../../src/vmware.h:180:5: warning: implicit declaration of function 'xf86ScreenToScrn' [-Wimplicit-function-declaration] + ../../src/vmware.h:180:5: warning: nested extern declaration of 'xf86ScreenToScrn' [-Wnested-externs] + ../../src/vmware.h:180:5: warning: return makes pointer from integer without a cast [enabled by default] + Function `xf86ScreenToScrn' implicitly converted to pointer at ../../src/vmware.h:180 + + Reviewed-by: Jakob Bornecrantz <ja...@vmware.com> + Signed-off-by: Robert Hooker <sarv...@ubuntu.com> + Signed-off-by: Jakob Bornecrantz <ja...@vmware.com> + +commit 61df95a86f4997e342d50d7779b00aba2e8849a6 +Author: Dave Airlie <airl...@redhat.com> +Date: Wed Jun 6 09:58:01 2012 +0100 + + vmware: port vmware driver to new compat API + + This is a port of the vmware driver to the new compat API. + + Tested-by: Jakob Bornecrantz <ja...@vmware.com> + Reviewed-by: Jakob Bornecrantz <ja...@vmware.com> + Signed-off-by: Dave Airlie <airl...@redhat.com> + Signed-off-by: Jakob Bornecrantz <ja...@vmware.com> + +commit 46cdf0ed0ad9df66f36f95e27b209d454f67d526 +Author: Brian Paul <bri...@vmware.com> +Date: Fri Apr 20 14:24:26 2012 -0600 + + vmwgfx: set the XA_FLAG_SHARED flag for composite dest surfaces + + This fixes a failed assertion in the gallium/svga driver in the + svga_texture_get_handle() function. The texture resource wasn't + getting created with the PIPE_BIND_SHARED flag so the !cachable + assertion would fail and the X session would abort. This didn't + happen with release builds. + + Reviewed-by: Jakob Bornecrantz <ja...@vmware.com> + commit 4d76cfe5e8e5d594ec357b0ef3339f56eeca9c64 Author: Jakob Bornecrantz <ja...@vmware.com> Date: Tue Mar 20 22:05:30 2012 +0100 diff --git a/debian/changelog b/debian/changelog index 5546265..2b49a76 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xserver-xorg-video-vmware (1:12.0.2+git.e5ac80d8-1ubuntu1) UNRELEASED; urgency=low + + * New upstream snapshot to build against xserver 1.13. + + -- Timo Aaltonen <tjaal...@ubuntu.com> Thu, 02 Aug 2012 10:46:43 +0300 + xserver-xorg-video-vmware (1:12.0.2-1) unstable; urgency=low * New upstream release: commit e5ac80d8f72963313358e31cfb1ab98583e26f23 Author: Dave Airlie <airl...@redhat.com> Date: Tue Jul 3 13:50:30 2012 +0100 vmware: avoid warnings about shadowing 'i' Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/src/compat-api.h b/src/compat-api.h index 6bc946f..205ac59 100644 --- a/src/compat-api.h +++ b/src/compat-api.h @@ -46,7 +46,7 @@ #define SCREEN_ARG_TYPE int #define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)] -#define SCREEN_INIT_ARGS_DECL int i, ScreenPtr pScreen, int argc, char **argv +#define SCREEN_INIT_ARGS_DECL int scrnIndex, ScreenPtr pScreen, int argc, char **argv #define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask #define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask commit 46c0862d205eefa985e36a74391ca392640cb898 Author: Dave Airlie <airl...@redhat.com> Date: Sat Jun 16 14:43:52 2012 +0100 vmware: drop infoFromScreen inline in favour of new interface This also should fix the build regression introduced with the fix for this macro. Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/src/vmware.h b/src/vmware.h index be113bb..028dff3 100644 --- a/src/vmware.h +++ b/src/vmware.h @@ -18,8 +18,6 @@ #include "xf86.h" #include "xf86_OSproc.h" -#include "compat-api.h" - #include <X11/extensions/panoramiXproto.h> #ifdef XSERVER_LIBPCIACCESS @@ -177,10 +175,6 @@ typedef struct { #define VMWAREPTR(p) ((VMWAREPtr)((p)->driverPrivate)) -static __inline ScrnInfoPtr infoFromScreen(ScreenPtr s) { - return xf86ScreenToScrn(s); -} - #define MIN(a,b) ((a)<(b)?(a):(b)) #define MAX(a,b) ((a)>(b)?(a):(b)) #define ABS(x) (((x) >= 0) ? (x) : -(x)) diff --git a/src/vmwarecurs.c b/src/vmwarecurs.c index 2e2effb..93dacc0 100644 --- a/src/vmwarecurs.c +++ b/src/vmwarecurs.c @@ -12,6 +12,7 @@ char rcsId_vmwarecurs[] = #endif #include "vmware.h" +#include "vmware_common.h" #include "bits2pixels.h" static void VMWAREGetImage(DrawablePtr src, int x, int y, int w, int h, @@ -110,7 +111,7 @@ vmwareSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg) static Bool vmwareUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs) { - ScrnInfoPtr pScrn = infoFromScreen(pScreen); + ScrnInfoPtr pScrn = xf86ScreenToScrn(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)); @@ -145,7 +146,7 @@ vmwareLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src ) static Bool vmwareUseHWCursorARGB(ScreenPtr pScreen, CursorPtr pCurs) { - ScrnInfoPtr pScrn = infoFromScreen(pScreen); + ScrnInfoPtr pScrn = xf86ScreenToScrn(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)); @@ -283,7 +284,7 @@ Bool vmwareCursorInit(ScreenPtr pScreen) { xf86CursorInfoPtr infoPtr; - VMWAREPtr pVMWARE = VMWAREPTR(infoFromScreen(pScreen)); + VMWAREPtr pVMWARE = VMWAREPTR(xf86ScreenToScrn(pScreen)); Bool ret; TRACEPOINT @@ -330,7 +331,7 @@ vmwareCursorInit(ScreenPtr pScreen) void vmwareCursorCloseScreen(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = infoFromScreen(pScreen); + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); VMWAREPtr pVMWARE = VMWAREPTR(pScrn); #ifdef RENDER PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); @@ -356,7 +357,7 @@ vmwareCursorCloseScreen(ScreenPtr pScreen) void vmwareCursorHookWrappers(ScreenPtr pScreen) { - VMWAREPtr pVMWARE = VMWAREPTR(infoFromScreen(pScreen)); + VMWAREPtr pVMWARE = VMWAREPTR(xf86ScreenToScrn(pScreen)); #ifdef RENDER PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); #endif @@ -382,7 +383,7 @@ VMWAREGetImage(DrawablePtr src, int x, int y, int w, int h, unsigned int format, unsigned long planeMask, char *pBinImage) { ScreenPtr pScreen = src->pScreen; - VMWAREPtr pVMWARE = VMWAREPTR(infoFromScreen(src->pScreen)); + VMWAREPtr pVMWARE = VMWAREPTR(xf86ScreenToScrn(src->pScreen)); BoxRec box; Bool hidden = FALSE; @@ -412,7 +413,7 @@ static void VMWARECopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) { ScreenPtr pScreen = pWin->drawable.pScreen; - VMWAREPtr pVMWARE = VMWAREPTR(infoFromScreen(pWin->drawable.pScreen)); + VMWAREPtr pVMWARE = VMWAREPTR(xf86ScreenToScrn(pWin->drawable.pScreen)); BoxPtr pBB; Bool hidden = FALSE; @@ -448,7 +449,7 @@ VMWAREComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, CARD16 width, CARD16 height) { ScreenPtr pScreen = pDst->pDrawable->pScreen; - VMWAREPtr pVMWARE = VMWAREPTR(infoFromScreen(pScreen)); + VMWAREPtr pVMWARE = VMWAREPTR(xf86ScreenToScrn(pScreen)); PictureScreenPtr ps = GetPictureScreen(pScreen); BoxRec box; Bool hidden = FALSE; diff --git a/src/vmwarevideo.c b/src/vmwarevideo.c index 71f21fe..745c71f 100644 --- a/src/vmwarevideo.c +++ b/src/vmwarevideo.c @@ -39,6 +39,7 @@ #endif #include "vmware.h" +#include "vmware_common.h" #include "xf86xv.h" #include "fourcc.h" #include "svga_escape.h" @@ -435,7 +436,7 @@ vmwareVideoEnabled(VMWAREPtr pVMWARE) Bool vmwareVideoInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = infoFromScreen(pScreen); + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); XF86VideoAdaptorPtr *overlayAdaptors, *newAdaptors = NULL; XF86VideoAdaptorPtr newAdaptor = NULL; int numAdaptors; @@ -504,7 +505,7 @@ vmwareVideoInit(ScreenPtr pScreen) void vmwareVideoEnd(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = infoFromScreen(pScreen); + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); VMWAREPtr pVMWARE = VMWAREPTR(pScrn); VMWAREVideoPtr pVid; int i; commit 50c01998c7800bc02fd6656cc14efa715bf63e08 Author: Robert Hooker <sarv...@ubuntu.com> Date: Fri Jun 15 11:56:59 2012 -0400 vmware: Fix up some warnings after new compat API change. Fixes multiple instances of these warnings on x86_64: ../../src/vmware.h:180:5: warning: implicit declaration of function 'xf86ScreenToScrn' [-Wimplicit-function-declaration] ../../src/vmware.h:180:5: warning: nested extern declaration of 'xf86ScreenToScrn' [-Wnested-externs] ../../src/vmware.h:180:5: warning: return makes pointer from integer without a cast [enabled by default] Function `xf86ScreenToScrn' implicitly converted to pointer at ../../src/vmware.h:180 Reviewed-by: Jakob Bornecrantz <ja...@vmware.com> Signed-off-by: Robert Hooker <sarv...@ubuntu.com> Signed-off-by: Jakob Bornecrantz <ja...@vmware.com> diff --git a/src/vmware.h b/src/vmware.h index 4818e16..be113bb 100644 --- a/src/vmware.h +++ b/src/vmware.h @@ -18,6 +18,7 @@ #include "xf86.h" #include "xf86_OSproc.h" +#include "compat-api.h" #include <X11/extensions/panoramiXproto.h> commit 61df95a86f4997e342d50d7779b00aba2e8849a6 Author: Dave Airlie <airl...@redhat.com> Date: Wed Jun 6 09:58:01 2012 +0100 vmware: port vmware driver to new compat API This is a port of the vmware driver to the new compat API. Tested-by: Jakob Bornecrantz <ja...@vmware.com> Reviewed-by: Jakob Bornecrantz <ja...@vmware.com> Signed-off-by: Dave Airlie <airl...@redhat.com> Signed-off-by: Jakob Bornecrantz <ja...@vmware.com> diff --git a/saa/saa.c b/saa/saa.c index 173c090..f2d68e9 100644 --- a/saa/saa.c +++ b/saa/saa.c @@ -594,7 +594,7 @@ saa_set_fallback_debug(ScreenPtr screen, Bool enable) * screen private, before calling down to the next CloseScreen. */ Bool -saa_close_screen(int i, ScreenPtr pScreen) +saa_close_screen(CLOSE_SCREEN_ARGS_DECL) { struct saa_screen_priv *sscreen = saa_screen(pScreen); struct saa_driver *driver = sscreen->driver; @@ -624,7 +624,7 @@ saa_close_screen(int i, ScreenPtr pScreen) free(sscreen); - return (*pScreen->CloseScreen) (i, pScreen); + return (*pScreen->CloseScreen) (CLOSE_SCREEN_ARGS); } struct saa_driver * diff --git a/saa/saa.h b/saa/saa.h index c7aa3b6..4e5ced5 100644 --- a/saa/saa.h +++ b/saa/saa.h @@ -44,6 +44,8 @@ #include <damage.h> #include <picturestr.h> +#include "../src/compat-api.h" + #define SAA_VERSION_MAJOR 0 #define SAA_VERSION_MINOR 1 @@ -173,7 +175,7 @@ extern _X_EXPORT RegionPtr saa_bitmap_to_region(PixmapPtr pPix); extern _X_EXPORT Bool -saa_close_screen(int i, ScreenPtr pScreen); +saa_close_screen(CLOSE_SCREEN_ARGS_DECL); extern _X_EXPORT Bool saa_gc_reads_destination(DrawablePtr pDrawable, GCPtr pGC); diff --git a/src/Makefile.am b/src/Makefile.am index 04c9e0d..b0dd147 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -37,6 +37,7 @@ endif vmware_drv_la_SOURCES = \ bits2pixels.c \ bits2pixels.h \ + compat-api.h \ guest_os.h \ includeCheck.h \ svga_escape.h \ diff --git a/src/compat-api.h b/src/compat-api.h new file mode 100644 index 0000000..6bc946f --- /dev/null +++ b/src/compat-api.h @@ -0,0 +1,99 @@ +/* + * Copyright 2012 Red Hat, Inc. + * + * 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 (including the next + * paragraph) 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. + * + * Author: Dave Airlie <airl...@redhat.com> + */ + +/* this file provides API compat between server post 1.13 and pre it, + it should be reused inside as many drivers as possible */ +#ifndef COMPAT_API_H +#define COMPAT_API_H + +#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR +#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum] +#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p +#endif + +#ifndef XF86_HAS_SCRN_CONV +#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum] +#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex] +#endif + +#ifndef XF86_SCRN_INTERFACE + +#define SCRN_ARG_TYPE int +#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)] + +#define SCREEN_ARG_TYPE int +#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)] + +#define SCREEN_INIT_ARGS_DECL int i, ScreenPtr pScreen, int argc, char **argv + +#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask +#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask + +#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen +#define CLOSE_SCREEN_ARGS scrnIndex, pScreen + +#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags +#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0 + +#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags +#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0 + +#define FREE_SCREEN_ARGS_DECL int arg, int flags + +#define VT_FUNC_ARGS_DECL int arg, int flags +#define VT_FUNC_ARGS pScrn->scrnIndex, 0 + +#define XF86_SCRN_ARG(x) ((x)->scrnIndex) +#else +#define SCRN_ARG_TYPE ScrnInfoPtr +#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1) + +#define SCREEN_ARG_TYPE ScreenPtr +#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1) + +#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + +#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask +#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask + +#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen +#define CLOSE_SCREEN_ARGS pScreen + +#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y +#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y + +#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode +#define SWITCH_MODE_ARGS(arg, m) arg, m + +#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg + +#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg +#define VT_FUNC_ARGS pScrn + +#define XF86_SCRN_ARG(x) (x) + +#endif + +#endif diff --git a/src/vmware.c b/src/vmware.c index e3892f1..41201f1 100644 --- a/src/vmware.c +++ b/src/vmware.c @@ -901,8 +901,8 @@ VMWAREModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool rebuildPixmap) pScrn->pScreen->rootDepth), (pointer)(pVMWARE->FbBase + pScrn->fbOffset)); - (*pScrn->EnableDisableFBAccess)(pScrn->pScreen->myNum, FALSE); - (*pScrn->EnableDisableFBAccess)(pScrn->pScreen->myNum, TRUE); + (*pScrn->EnableDisableFBAccess)(XF86_SCRN_ARG(pScrn), FALSE); + (*pScrn->EnableDisableFBAccess)(XF86_SCRN_ARG(pScrn), TRUE); } vgaHWProtect(pScrn, FALSE); @@ -1018,7 +1018,7 @@ vmwareNextXineramaState(VMWAREPtr pVMWARE) } static void -VMWAREAdjustFrame(int scrnIndex, int x, int y, int flags) +VMWAREAdjustFrame(ADJUST_FRAME_ARGS_DECL) { /* FIXME */ } @@ -1089,9 +1089,9 @@ VMWAREStopFIFO(ScrnInfoPtr pScrn) } static Bool -VMWARECloseScreen(int scrnIndex, ScreenPtr pScreen) +VMWARECloseScreen(CLOSE_SCREEN_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); VMWAREPtr pVMWARE = VMWAREPTR(pScrn); ScreenPtr save = &pVMWARE->ScrnFuncs; @@ -1119,7 +1119,7 @@ VMWARECloseScreen(int scrnIndex, ScreenPtr pScreen) pScrn->DriverFunc = NULL; #endif - return (*pScreen->CloseScreen)(scrnIndex, pScreen); + return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS); } static Bool @@ -1296,16 +1296,14 @@ vmwareIsRegionEqual(const RegionPtr reg1, } static Bool -VMWAREScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) +VMWAREScreenInit(SCREEN_INIT_ARGS_DECL) { - ScrnInfoPtr pScrn; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); vgaHWPtr hwp; VMWAREPtr pVMWARE; OptionInfoPtr options; Bool useXinerama = TRUE; - /* Get the ScrnInfoRec */ - pScrn = xf86Screens[pScreen->myNum]; pVMWARE = VMWAREPTR(pScrn); @@ -1381,7 +1379,7 @@ VMWAREScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) VMWAREModeInit(pScrn, pScrn->currentMode, FALSE); /* Set the viewport if supported */ - VMWAREAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); + VMWAREAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0)); /* * Setup the screen's visuals, and initialise the framebuffer @@ -1582,10 +1580,9 @@ VMWAREScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) } static Bool -VMWARESwitchMode(int scrnIndex, DisplayModePtr mode, int flags) - +VMWARESwitchMode(SWITCH_MODE_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SCRN_INFO_PTR(arg); ScreenPtr pScreen = pScrn->pScreen; pScreen->mmWidth = (pScreen->width * VMWARE_INCHTOMM + @@ -1597,9 +1594,9 @@ VMWARESwitchMode(int scrnIndex, DisplayModePtr mode, int flags) } static Bool -VMWAREEnterVT(int scrnIndex, int flags) +VMWAREEnterVT(VT_FUNC_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SCRN_INFO_PTR(arg); VMWAREPtr pVMWARE = VMWAREPTR(pScrn); /* @@ -1616,9 +1613,9 @@ VMWAREEnterVT(int scrnIndex, int flags) } static void -VMWARELeaveVT(int scrnIndex, int flags) +VMWARELeaveVT(VT_FUNC_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SCRN_INFO_PTR(arg); VMWAREPtr pVMWARE = VMWAREPTR(pScrn); /* @@ -1631,17 +1628,18 @@ VMWARELeaveVT(int scrnIndex, int flags) } static void -VMWAREFreeScreen(int scrnIndex, int flags) +VMWAREFreeScreen(FREE_SCREEN_ARGS_DECL) { + SCRN_INFO_PTR(arg); /* * If the vgahw module is used vgaHWFreeHWRec() would be called * here. */ - VMWAREFreeRec(xf86Screens[scrnIndex]); + VMWAREFreeRec(pScrn); } static ModeStatus -VMWAREValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) +VMWAREValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags) -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1vikeu-00014g...@vasks.debian.org