Commit Graph

99 Commits

Author SHA1 Message Date
Shelley Gong
e3769142d8 Automatically add modelines for the driver's built-in set of modes.
The driver has had a built-in set of modes for a while, but there
was nothing adding modelines to back them up, causing initial modes
to be rejected at startup with certain Xorg versions.

This change adds the actual modelines for sufficiently new versions
of the server (>= 1.2), as the necessary calls were only introduced
at that time.
2009-04-16 13:28:47 -07:00
Alan Coopersmith
3c223e8f7b Remove xorgconfig & xorgcfg from See Also list in man page 2009-01-09 16:39:07 -08:00
Philip Langdale
1bbef3aa7a Bump version for 10.16.5 release. 2008-08-19 11:23:44 -07:00
Bankim Bhavsar
6ea8e50005 Add RegionEqual function for older XFree86 versions.
Fixes bug : http://bugzilla.eng.vmware.com/show_bug.cgi?id=312853

When we added AUTOPAINT_COLORKEY capability to our VMware video driver,
region functions were used to keep track of colorkey painting.

REGION_EQUAL was one of them.

Unfortunately REGION_EQUAL was not present in regionstr.h shipped with XFree86 version
4.3.0.
This version is used by TurboLinux 10; causing X server to crash while playing videos.

REGION_EQUAL was added in revision 1.8 of regionstr.h and available for xfree86 version
4.3.99
onwards.
Reference:
http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/include/regionstr.h.diff?r1=1.7&r2=1.8

When I compiled the existing code(without my change), I see a warning was generated
indicating REGION_EQUAL is not present.
Too bad we missed it.

This patch includes
1) Slightly modified version of miRegionEqual from miRegion.c
2) Some formating cleanup.
2008-08-19 11:23:02 -07:00
Philip Langdale
0576b87c27 Prepare for 10.16.4 release. 2008-07-21 15:26:01 -07:00
Philip Langdale
ad8f17dec7 Video Overlay: Handle clipping correctly with AutoPaint colorkey.
We recently added XV_AUTOPAINT_COLORKEY attribute to the X video driver
to enable applications like Real player that rely on this attribute to
display video frames in Linux guest.

When this attribute is SET, we paint the colorkey on 1st frame and from
there on only when the video is moved.

This introduced a bug 305202 with clipping.

Consider a case when the video is playing, obscure the player window
with another window, without moving the player window, move the other
window away. The part of the window that was obscured didn't display
the video.

With this patch instead of relying on the target rectangle, we use
the clipBoxes supplied in every frame.
2008-07-21 15:23:50 -07:00
Philip Langdale
71f1ca515c Prepare for 10.16.3
Bump up version numbers.
2008-07-18 14:03:09 -07:00
Philip Langdale
e7f404938b Video Overlay: Add XV_AUTOPAINT_COLORKEY capability to the Xv extension of Linux guest driver.
Applications use XV_AUTOPAINT_COLORKEY capability to let the driver handle the painting
of colorkey.

Real Player assumes this capability as ON by default and hence prior to this patch videos
didn't play with Real player.

With this patch:
a) If AUTOPAINT_COLORKEY is SET then the driver handles the painting of the colorkey.
Painting is done on the 1st frame and from there on only if the video frame moves.

b) Adds UYVY fourcc format to keep it consistent with Windows SVGA driver and the host backends.

c) Changes the default colorkey from a pungent GREEN to a darker shade.
Real Player sets this colorkey and it looks better when the video is moved around.
2008-07-18 13:59:34 -07:00
Vinay Bondhugula
0705e7093e Trivial fix: Delete ASSERT() statement
Delete the ASSERT() statement that got introduced in the previous check-in.
2008-07-02 21:32:44 -04:00
Vinay Bondhugula
f4b5158960 Fix video overlay offscreen allocation bug
When Kaffeine player stops a video, it sets the cleanup flag to FALSE and may
start playing the next video. In its present state the driver does not check or
clean up the offscreen area. This is a bug as the newer video might need more
offscreen space for its frame. The fix is to check for the offscreen frame size
in videoPlay and restart the stream if necessary.
2008-07-02 18:17:58 -04:00
Vinay Bondhugula
b53bb2ad4c Prepare for 10.16.2
Bump up version numbers.
2008-06-12 17:34:30 -04:00
Vinay Bondhugula
1f7a8390a3 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.
2008-04-29 18:29:11 -04:00
Vinay Bondhugula
db02720047 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.
2008-04-22 14:18:45 -04:00
Vinay Bondhugula
6849c0a5fb Change // comments to /*
This will make it easier to compile the driver against ancient versions of X.
2008-04-18 18:00:38 -04:00
Paulo Cesar Pereira de Andrade
b6c59761e2 Compile warning fixes
Major problem was prototype vmwareInitVideo not matching implementation
vmwareVideoInit. Remaining are adding an "ansification" of a function without
arguments, and removing/disabling unused variables/functions.
2008-04-17 23:04:45 -04:00
Vinay Bondhugula
7870dc715b Bump version to 10.16.1 in configure.ac
The previous change didn't bump up the version in configure.ac.
2008-04-17 20:54:23 -04:00
Vinay Bondhugula
be75c66fa7 Prepare for 10.16.1
Update the modinfo section and make a configure.ac fix.
2008-04-17 20:39:02 -04:00
Vinay Bondhugula
87e9b32618 Fix build for all modular versions of Xorg
This change makes the video driver compile with Xorg 7.0. There are a couple of
trivial changes that bring down the maximum Xserver version down to 2.0. Hacky,
but good enough for now.
2008-04-17 19:16:48 -04:00
Vinay Bondhugula
e4fa13951a Send down guest display topology
Send down the Xinerama topology from the guest down to the host, by setting
display topology registers in the SVGA device.
2008-03-26 21:32:47 -04:00
Adam Jackson
5aced9e39a vmware 10.16.0 2008-03-19 17:03:18 -04:00
Adam Jackson
cd8bb30189 Fix distcheck. 2008-03-19 17:00:41 -04:00
Bankim Bhavsar
1314a1cd22 Video Overlay: Source video parameters
This patch adds parameters to the source video frame.  Applications can request
only a subset of the source video frame to be displayed. These parameters are
srcX, srcY, srcWidth and srcHeight. width and height represent the entire
source video frame.
2008-03-14 12:42:40 -04:00
Matthieu Herrb
fdef3fd5ea Makefile.am: nuke RCS Id 2008-03-09 00:08:32 +01:00
Bankim Bhavsar
bfd8398dde Xv extension for VMware's video driver
This patch implements the Xv extension for VMware's X video driver.

The Xv specification can be found here
http://www.xfree86.org/current/DESIGN16.html

I've written a trivial offscreen memory manager that allocates memory from the
bottom part of the Video RAM and it can handle only 1 video-stream. Eventually
we intend to support upto 32 video-streams (there is already support for
multiple video streams in respective backends).
2008-01-23 22:13:07 -08:00
Vinay
a33ab73ffa Trivial libpciaccess related fix
Fix VMWAREUnmapMem to correctly unmap memory for the libpciaccess case.
2008-01-19 08:39:24 -08:00
Vinay Bondhugula
62d898669b Port to libpciaccess. 2007-10-08 10:54:04 -07:00
Philip Langdale
73db59fd82 Update for 10.15.2 release 2007-09-25 16:06:38 -07:00
Philip Langdale
ee2fe14d37 There are problems when running with old X releases with a
global symbol collision with the mouse driver.
2007-09-24 11:48:12 -07:00
Philip Langdale
cfdb0140fa Guard modinfo section against gcc. 2007-09-10 21:19:38 -07:00
Philip Langdale
e41aef1fb1 Ready 10.15.1 release.
To allow for easier detection of driver version by other VMware tools,
we are embedding the version in a .modinfo section so that the Linux
kernel 'modinfo' tool can be (ab)used to check it.
2007-09-10 21:16:04 -07:00
James Cloos
2331c7d162 Add *~ to .gitignore to skip patch/emacs droppings 2007-09-03 05:52:51 -04:00
Philip Langdale
ec4dc29434 Update copyright date. 2007-07-09 13:45:22 -07:00
Philip Langdale
0c76b95e7a Add svga_modes.h to Makefile.am 2007-02-09 15:06:17 -08:00
Philip Langdale
a283c62c1d Filter out default modes that are larger than the hardware
maxmimum size and add an explicit mode for the hardware
maximum.
2007-02-09 11:09:17 -08:00
Philip Langdale
f4540555dc Correct the incorrect 1080p resolution.
Should be 1920x1080 and not 1900x1080. Whoops.
2007-02-09 10:00:32 -08:00
Philip Langdale
eca6e9f945 Bump version to 10.15.0
This release adds truely usable resizing support by
removing the restriction that the you cannot resize
larger than the initial mode.
2007-02-08 18:22:16 -08:00
Philip Langdale
2ec8c25cc9 Fix a race condition when switching to a multihead fullscreen mode.
Due to implemtation details on the host side, switching to a multihead
fullscreen mode means multiple mode changes along the way. However,
because rrSetScreenConfig returns before the mode change completes,
we can enter a race, where a subsequent SetDisplayTopology overrides
the current pending one, leading to a mode switch where the resolution
and topology are no longer consistent.

So, we fix this by ignoring any attempts to set the pending topology if
one is already pending.
2007-02-08 18:07:19 -08:00
Philip Langdale
a8afe781e1 Add a bunch of useful modes to the mode list.
The X server prunes modes above the initial mode and
    the number of default modes varies with distro and
    server version. As it's easy to do, let's add a bunch
    of useful versions in the driver so that users don't
    have to mess with their config files as often.
2007-02-08 17:08:08 -08:00
Philip Langdale
520f570aa3 Update man page to remove mention of the NoAccel option which
no longer exists as we don't do any 'acceleration'.
2007-02-08 13:44:57 -08:00
Philip Langdale
af8c0596a2 Remove XAA 'acceleration'.
We have a lot of stale code to 'accelerate' certain operations
through XAA. However, in practice, this acceleration is
completely unhelpful because whenever we encounter an
unaccelerated action, we have to sync and flush the fifo
which kills any performance gain.

As such, the virtual hardware doesn't even advertise these
acceleration capabilities anymore, so the code is completely
unusued.

In addition, XAA is on the way out, so there's no point
leaving in dead code which will have to go in the fairly
near future.

The one operation we can meaningfully accelerate is a
front-only fill and when we get around to implementing
that, we'll use EXA instead.
2007-02-08 13:42:31 -08:00
Philip Langdale
3dc1ebc7c2 Make resizing work once and for all.
This change removes the limitation on resizing larger than the
initial size and removes the need for pitch-locking bu resizing
the screen pixmap. Now the only limit on the screen size is
the maximum width/height reported by the virtual hardware which
is configured on the host side.
2007-02-08 10:33:14 -08:00
Eamon Walsh
188c2b44f0 Revert "Convert callers of LookupWindow() to dixLookupWindow()."
This reverts commit 1f298c24fe.
2006-12-18 14:05:19 -05:00
Eamon Walsh
1f298c24fe Convert callers of LookupWindow() to dixLookupWindow(). 2006-12-15 17:41:52 -05:00
Philip Langdale
9d41384616 Explicitly initialise buffer to NULL for parsing xinerama topologies. 2006-12-06 16:48:12 -08:00
Philip Langdale
ac2a57ea7a Update man page to document "StaticXinerama" 2006-10-31 19:17:39 -08:00
Philip Langdale
4dd038bd73 Bump version to 10.14.0 2006-10-31 19:12:29 -08:00
Philip Langdale
73945118a6 Fix more warnings. 2006-10-30 11:52:57 -08:00
Philip Langdale
e0dca2ff0b Fix some warnings noted when compiling the code against
older Xorg versions.
2006-10-30 10:53:18 -08:00
Philip Langdale
f96d120477 Refactor static Xinerama parsing. 2006-10-25 18:06:13 -07:00
Philip Langdale
57b32570f8 Add support for a static Xinerama configuration to be specified
in xorg.conf. This static configuration will always be used and
any attempts to update it will be ignored.

Note that all xinerama aware apps that I have seen will not
sanity check the xinerama extents against the screen size, so
if the screen doesn't properly enclose the xinerama extents,
expect your apps to punish you accordingly.
2006-10-25 10:49:27 -07:00