diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2008-10-12 21:49:05 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2008-10-12 21:49:05 +0000 |
commit | bb279ab75faf7372e2d7306d723521a00c7b5ea4 (patch) | |
tree | c35cb9fd37cb34107985c6bc71f94b08c78dc449 /driver | |
parent | 4b9bf55232c27c45e29a8d5a1f3f76b0753db63d (diff) |
xf86-vmware 10.16.5
Diffstat (limited to 'driver')
-rw-r--r-- | driver/xf86-video-vmware/configure | 20 | ||||
-rw-r--r-- | driver/xf86-video-vmware/configure.ac | 2 | ||||
-rw-r--r-- | driver/xf86-video-vmware/src/vmware.c | 55 | ||||
-rw-r--r-- | driver/xf86-video-vmware/src/vmware.h | 5 | ||||
-rw-r--r-- | driver/xf86-video-vmware/src/vmwarevideo.c | 114 |
5 files changed, 135 insertions, 61 deletions
diff --git a/driver/xf86-video-vmware/configure b/driver/xf86-video-vmware/configure index b35cb8b3d..df6245483 100644 --- a/driver/xf86-video-vmware/configure +++ b/driver/xf86-video-vmware/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for xf86-video-vmware 10.16.4. +# Generated by GNU Autoconf 2.59 for xf86-video-vmware 10.16.5. # # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # @@ -423,8 +423,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='xf86-video-vmware' PACKAGE_TARNAME='xf86-video-vmware' -PACKAGE_VERSION='10.16.4' -PACKAGE_STRING='xf86-video-vmware 10.16.4' +PACKAGE_VERSION='10.16.5' +PACKAGE_STRING='xf86-video-vmware 10.16.5' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' ac_unique_file="Makefile.am" @@ -974,7 +974,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xf86-video-vmware 10.16.4 to adapt to many kinds of systems. +\`configure' configures xf86-video-vmware 10.16.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1040,7 +1040,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xf86-video-vmware 10.16.4:";; + short | recursive ) echo "Configuration of xf86-video-vmware 10.16.5:";; esac cat <<\_ACEOF @@ -1193,7 +1193,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -xf86-video-vmware configure 10.16.4 +xf86-video-vmware configure 10.16.5 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1207,7 +1207,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xf86-video-vmware $as_me 10.16.4, which was +It was created by xf86-video-vmware $as_me 10.16.5, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1810,7 +1810,7 @@ fi # Define the identity of the package. PACKAGE='xf86-video-vmware' - VERSION='10.16.4' + VERSION='10.16.5' cat >>confdefs.h <<_ACEOF @@ -21333,7 +21333,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by xf86-video-vmware $as_me 10.16.4, which was +This file was extended by xf86-video-vmware $as_me 10.16.5, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21396,7 +21396,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -xf86-video-vmware config.status 10.16.4 +xf86-video-vmware config.status 10.16.5 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff --git a/driver/xf86-video-vmware/configure.ac b/driver/xf86-video-vmware/configure.ac index 7f56e955b..cb4953236 100644 --- a/driver/xf86-video-vmware/configure.ac +++ b/driver/xf86-video-vmware/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-video-vmware], - 10.16.4, + 10.16.5, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-video-vmware) diff --git a/driver/xf86-video-vmware/src/vmware.c b/driver/xf86-video-vmware/src/vmware.c index 2c8d35719..64284a0bd 100644 --- a/driver/xf86-video-vmware/src/vmware.c +++ b/driver/xf86-video-vmware/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 4 +#define VMWARE_PATCHLEVEL 5 #define VMWARE_DRIVER_VERSION \ (VMWARE_MAJOR_VERSION * 65536 + VMWARE_MINOR_VERSION * 256 + VMWARE_PATCHLEVEL) #define VMWARE_DRIVER_VERSION_STRING \ @@ -1447,6 +1447,59 @@ VMWAREAddDisplayMode(ScrnInfoPtr pScrn, } +/* + *----------------------------------------------------------------------------- + * + * vmwareIsRegionEqual -- + * + * This function implements REGION_EQUAL because older versions of + * regionstr.h don't define it. + * It is a slightly modified version of miRegionEqual from $Xorg: miregion.c + * + * Results: + * TRUE if regions are equal; FALSE otherwise + * + * Side effects: + * None. + * + *----------------------------------------------------------------------------- + */ + +Bool +vmwareIsRegionEqual(const RegionPtr reg1, + const RegionPtr reg2) +{ + int i, num; + BoxPtr rects1, rects2; + + if ((reg1->extents.x1 != reg2->extents.x1) || + (reg1->extents.x2 != reg2->extents.x2) || + (reg1->extents.y1 != reg2->extents.y1) || + (reg1->extents.y2 != reg2->extents.y2)) { + return FALSE; + } + + num = REGION_NUM_RECTS(reg1); + if (num != REGION_NUM_RECTS(reg2)) { + return FALSE; + } + + rects1 = REGION_RECTS(reg1); + rects2 = REGION_RECTS(reg2); + + for (i = 0; i < num; i++) { + if ((rects1[i].x1 != rects2[i].x1) || + (rects1[i].x2 != rects2[i].x2) || + (rects1[i].y1 != rects2[i].y1) || + (rects1[i].y2 != rects2[i].y2)) { + return FALSE; + } + } + + return TRUE; +} + + #if VMWARE_DRIVER_FUNC static Bool VMWareDriverFunc(ScrnInfoPtr pScrn, diff --git a/driver/xf86-video-vmware/src/vmware.h b/driver/xf86-video-vmware/src/vmware.h index bb1234de2..3cad89dde 100644 --- a/driver/xf86-video-vmware/src/vmware.h +++ b/driver/xf86-video-vmware/src/vmware.h @@ -243,6 +243,11 @@ DisplayModeRec *VMWAREAddDisplayMode( int height ); +Bool vmwareIsRegionEqual( + const RegionPtr reg1, + const RegionPtr reg2 + ); + /* vmwarecurs.c */ Bool vmwareCursorInit( ScreenPtr pScr diff --git a/driver/xf86-video-vmware/src/vmwarevideo.c b/driver/xf86-video-vmware/src/vmwarevideo.c index 59c25fe09..852238386 100644 --- a/driver/xf86-video-vmware/src/vmwarevideo.c +++ b/driver/xf86-video-vmware/src/vmwarevideo.c @@ -393,7 +393,8 @@ vmwareOffscreenFree(VMWAREOffscreenPtr memptr) *----------------------------------------------------------------------------- */ -Bool vmwareVideoEnabled(VMWAREPtr pVMWARE) +Bool +vmwareVideoEnabled(VMWAREPtr pVMWARE) { return ((pVMWARE->vmwareCapability & SVGA_CAP_EXTENDED_FIFO) && (pVMWARE->vmwareFIFO[SVGA_FIFO_CAPABILITIES] & @@ -418,7 +419,8 @@ Bool vmwareVideoEnabled(VMWAREPtr pVMWARE) *----------------------------------------------------------------------------- */ -Bool vmwareVideoInit(ScreenPtr pScreen) +Bool +vmwareVideoInit(ScreenPtr pScreen) { ScrnInfoPtr pScrn = infoFromScreen(pScreen); XF86VideoAdaptorPtr *overlayAdaptors, *newAdaptors = NULL; @@ -486,7 +488,8 @@ Bool vmwareVideoInit(ScreenPtr pScreen) *----------------------------------------------------------------------------- */ -void vmwareVideoEnd(ScreenPtr pScreen) +void +vmwareVideoEnd(ScreenPtr pScreen) { ScrnInfoPtr pScrn = infoFromScreen(pScreen); VMWAREPtr pVMWARE = VMWAREPTR(pScrn); @@ -526,7 +529,8 @@ void vmwareVideoEnd(ScreenPtr pScreen) *----------------------------------------------------------------------------- */ -static XF86VideoAdaptorPtr vmwareVideoSetup(ScrnInfoPtr pScrn) +static XF86VideoAdaptorPtr +vmwareVideoSetup(ScrnInfoPtr pScrn) { VMWAREPtr pVMWARE = VMWAREPTR(pScrn); XF86VideoAdaptorPtr adaptor; @@ -614,12 +618,13 @@ static XF86VideoAdaptorPtr vmwareVideoSetup(ScrnInfoPtr pScrn) *----------------------------------------------------------------------------- */ -static int vmwareVideoInitStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, - 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, - unsigned char *buf, short width, - short height, RegionPtr clipBoxes) +static int +vmwareVideoInitStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, + 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, + unsigned char *buf, short width, + short height, RegionPtr clipBoxes) { VMWAREPtr pVMWARE = VMWAREPTR(pScrn); int i; @@ -689,9 +694,10 @@ static int vmwareVideoInitStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, *----------------------------------------------------------------------------- */ -static int vmwareVideoInitAttributes(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, - int format, unsigned short width, - unsigned short height) +static int +vmwareVideoInitAttributes(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, + int format, unsigned short width, + unsigned short height) { int size; VMWAREVideoFmtData *fmtData; @@ -732,12 +738,13 @@ static int vmwareVideoInitAttributes(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, *----------------------------------------------------------------------------- */ -static int vmwareVideoPlay(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, - 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, - unsigned char *buf, short width, - short height, RegionPtr clipBoxes) +static int +vmwareVideoPlay(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, + 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, + unsigned char *buf, short width, + short height, RegionPtr clipBoxes) { VMWAREPtr pVMWARE = VMWAREPTR(pScrn); uint32 *fifoItem; @@ -823,10 +830,10 @@ static int vmwareVideoPlay(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, vmwareWriteWordToFIFO(pVMWARE, fifoItem[i]); } - /* + /* * Update the clipList and paint the colorkey, if required. */ - if (!REGION_EQUAL(pScrn->pScreen, &pVid->clipBoxes, clipBoxes)) { + if (!vmwareIsRegionEqual(&pVid->clipBoxes, clipBoxes)) { REGION_COPY(pScrn->pScreen, &pVid->clipBoxes, clipBoxes); if (pVid->isAutoPaintColorkey) { xf86XVFillKeyHelper(pScrn->pScreen, pVid->colorKey, clipBoxes); @@ -858,7 +865,8 @@ static int vmwareVideoPlay(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, *----------------------------------------------------------------------------- */ -static void vmwareVideoFlush(VMWAREPtr pVMWARE, uint32 streamId) +static void +vmwareVideoFlush(VMWAREPtr pVMWARE, uint32 streamId) { struct PACKED _body { uint32 escape; @@ -904,8 +912,9 @@ static void vmwareVideoFlush(VMWAREPtr pVMWARE, uint32 streamId) *----------------------------------------------------------------------------- */ -static void vmwareVideoSetOneReg(VMWAREPtr pVMWARE, uint32 streamId, - uint32 regId, uint32 value) +static void +vmwareVideoSetOneReg(VMWAREPtr pVMWARE, uint32 streamId, + uint32 regId, uint32 value) { struct PACKED _item { uint32 regId; @@ -960,7 +969,8 @@ static void vmwareVideoSetOneReg(VMWAREPtr pVMWARE, uint32 streamId, *----------------------------------------------------------------------------- */ -static void vmwareVideoEndStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid) +static void +vmwareVideoEndStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid) { uint32 id, colorKey, flags; Bool isAutoPaintColorkey; @@ -1019,18 +1029,20 @@ static void vmwareVideoEndStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid) */ #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, - unsigned char *buf, short width, short height, - Bool sync, RegionPtr clipBoxes, pointer data, - DrawablePtr dst) +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, + unsigned char *buf, short width, short height, + Bool sync, RegionPtr clipBoxes, pointer data, + DrawablePtr dst) #else -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, - unsigned char *buf, short width, short height, - Bool sync, RegionPtr clipBoxes, pointer data) +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, + unsigned char *buf, short width, short height, + Bool sync, RegionPtr clipBoxes, pointer data) #endif { VMWAREPtr pVMWARE = VMWAREPTR(pScrn); @@ -1066,7 +1078,8 @@ static int vmwareXvPutImage(ScrnInfoPtr pScrn, short src_x, short src_y, *----------------------------------------------------------------------------- */ -static void vmwareStopVideo(ScrnInfoPtr pScrn, pointer data, Bool Cleanup) +static void +vmwareStopVideo(ScrnInfoPtr pScrn, pointer data, Bool Cleanup) { VMWAREVideoPtr pVid = data; VMWAREPtr pVMWARE = VMWAREPTR(pScrn); @@ -1107,10 +1120,10 @@ static void vmwareStopVideo(ScrnInfoPtr pScrn, pointer data, Bool Cleanup) *----------------------------------------------------------------------------- */ -static int vmwareQueryImageAttributes(ScrnInfoPtr pScrn, int format, - unsigned short *width, - unsigned short *height, int *pitches, - int *offsets) +static int +vmwareQueryImageAttributes(ScrnInfoPtr pScrn, int format, + unsigned short *width, unsigned short *height, + int *pitches, int *offsets) { INT32 size, tmp; @@ -1184,8 +1197,9 @@ static int vmwareQueryImageAttributes(ScrnInfoPtr pScrn, int format, *----------------------------------------------------------------------------- */ -static int vmwareSetPortAttribute(ScrnInfoPtr pScrn, Atom attribute, - INT32 value, pointer data) +static int +vmwareSetPortAttribute(ScrnInfoPtr pScrn, Atom attribute, + INT32 value, pointer data) { VMWAREVideoPtr pVid = (VMWAREVideoPtr) data; Atom xvColorKey = MAKE_ATOM("XV_COLORKEY"); @@ -1223,8 +1237,9 @@ static int vmwareSetPortAttribute(ScrnInfoPtr pScrn, Atom attribute, *----------------------------------------------------------------------------- */ -static int vmwareGetPortAttribute(ScrnInfoPtr pScrn, Atom attribute, - INT32 *value, pointer data) +static int +vmwareGetPortAttribute(ScrnInfoPtr pScrn, Atom attribute, + INT32 *value, pointer data) { VMWAREVideoPtr pVid = (VMWAREVideoPtr) data; Atom xvColorKey = MAKE_ATOM("XV_COLORKEY"); @@ -1267,10 +1282,11 @@ static int vmwareGetPortAttribute(ScrnInfoPtr pScrn, Atom attribute, *----------------------------------------------------------------------------- */ -static void vmwareQueryBestSize(ScrnInfoPtr pScrn, Bool motion, - short vid_w, short vid_h, short drw_w, - short drw_h, unsigned int *p_w, - unsigned int *p_h, pointer data) +static void +vmwareQueryBestSize(ScrnInfoPtr pScrn, Bool motion, + short vid_w, short vid_h, short drw_w, + short drw_h, unsigned int *p_w, + unsigned int *p_h, pointer data) { *p_w = (drw_w + 1) & ~1; *p_h = drw_h; |