Commit Graph

389 Commits

Author SHA1 Message Date
Alan Coopersmith
b93c1fcbbc gitlab CI: stop requiring Signed-off-by in commits
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-02-09 12:07:01 -08:00
Peter Hutterer
f82ce27f17 Bump the version number to 13.4.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86-video-vmware-13.4.0
2023-01-24 12:03:30 +10:00
Ville Skyttä
3ec2fad6ed Man page syntax fix.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-09-29 18:05:19 -07:00
Ville Skyttä
c59c5d241a Spelling fixes.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-09-29 18:04:25 -07:00
Alan Coopersmith
f7d50aa328 Build xz tarballs instead of bzip2
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-08-23 17:51:12 +00:00
Alan Coopersmith
790d641d1d gitlab CI: add a basic build test
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-07-18 17:16:33 -07:00
Martin Krastev
ff5637a14c Garbled XvPutImage output for FOURCC_YV12 when using 3D-accel-texture adaptor
A helper for the PutImage callback in adaptor 'XA G3D Textured Video' was not
taking into account the source data pitches for YV12 format, resulting in
garbled frames for misaligned frame widths. Issue reported by Doug Brown.
This patch is based off the patch proposed by Doug.

Repro of the original issue:
gst-launch-1.0 videotestsrc ! video/x-raw,format=YV12,width=449,height=240 ! xvimagesink

Reported-by: Doug Brown <doug@schmorgal.com>
Signed-off-by: Martin Krastev <krastevm@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
2022-06-21 11:31:11 -04:00
Rudi Heitbaum
77b8183b33 vmwgfx: fix missing array notation
Fixes error identified by gcc-12.1.0 compiler

make
  CC       libvmwgfx_la-vmwgfx_tex_video.lo
vmwgfx_tex_video.c: In function 'stop_video':
vmwgfx_tex_video.c:240:20: error: the comparison will always evaluate as 'true' for the address of 'yuv' will never be NULL [-Werror=address]
  240 |                if (priv->yuv[i]) {
      |                    ^~~~
2022-05-08 03:00:10 +00:00
Martin Krastev
50ab008cb9 vmwgfx: Change header inclusion order to avoid xorg headers catching stdbool.h
libdrm commit e641e2a632d779f638ac2ba983b9fceb20b3fac4 added
stdbool.h to the library headers which conflicts with xorg headers.

Signed-off-by: Martin Krastev <krastevm@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
Signed-off-by: Zack Rusin <zackr@vmware.com>
2021-11-30 15:48:18 -05:00
Thomas Hellstrom
5569f16a14 vmwgfx: Unify style in scanout_update and present functions
Since the functions are pretty similar, Make them look more similar in terms
of memory allocation methods and variable names

Reported-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2019-01-28 14:47:55 +01:00
Thomas Hellstrom
0a7c3570c9 vmwgfx: Limit the number of cliprects in a drm present_readback command v3
The drm present readback command number of cliprects should not exceed
DRM_MODE_FB_DIRTY_MAX_CLIPS. If that number is exceeded, split
the command up.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com> #v1
2019-01-28 14:47:55 +01:00
Thomas Hellstrom
357ce6e48c vmwgfx: Limit the number of cliprects in a drm present command v3
The drm present command number of cliprects should not exceed
DRM_MODE_FB_DIRTY_MAX_CLIPS. If that number is exceeded, split
the command up.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com> #v2
Reviewed-by: Deepak Rawat < drawat@vmware.com> #v1
2019-01-28 14:47:55 +01:00
Thomas Hellstrom
86189966c3 vmwgfx: Limit the number of cliprects in a drm dirtyfb command v3
The drm dirtyfb command would error if the number of cliprects were larger
than DRM_MODE_FB_DIRTY_MAX_CLIPS. If that number is exceeded, split the
command up.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com> #v2
Reviewed-by: Deepak Rawat <drawat@vmware.com> #v1
2019-01-28 14:47:55 +01:00
Thomas Hellstrom
ba4ef498fd vmwgfx: Don't exceed the device command size limit v3
With a huge number of DMA clip rects we could exceed the device command
buffer command size limit. Fix this by sending multiple DMA commands
when we exceed the limit.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com> #v1
2019-01-28 14:47:55 +01:00
Thomas Hellstrom
d31e8e77e1 vmwgfx: Fix invalid memory accesses in CloseScreen
Some of the CloseScreen callbacks were referencing XA objects so move the
destruction of the XA state tracker to the end of drv_close_screen to avoid
referencing freed resources.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-11-29 10:18:46 +01:00
Thomas Hellstrom
79d066da48 saa: Make sure damage destruction happens at the correct location
Incorrect DestroyPixmap wrapping previously made the destruction of damage
objects typically happen in damageDestroyPixmap(), leaving a dangling
damage pointer in saa_destroy_pixmap() which was only cleared. However in
some cases that caused us to leak damage objects.

Rework saa initialization somewhat to make sure saa_destroy_pixmap happens
before damageDestroyPixmap and destroy the damage object in saa_destroy_pixmap.
Also add a damage object destruction notifier callback that clears the
saa pixmap damage pointer should the damage object destruction accidentally
happen elsewhere.

This makes sure we don't leak damage objects.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-11-29 10:18:39 +01:00
Thomas Hellstrom
53e87117bb vmwgfx: Use libdrm to obtain the drm device node name v2
We were relying on a linux-specific way to do this. Now that the code is
used also on FreeBSD and there is functionality in libdrm to do this,
Use that functionality.

v2:
Remove unused variable warning in the !VMWGFX_LIBDRM_DEVICENAME case.

Co-authored-by: Johannes Lundberg <johalun0@gmail.com>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com> #v1
2018-11-29 10:17:38 +01:00
Thomas Hellstrom
0b34df288f vmwgfx: Fix a memory leak
We were leaking a pointer to a drm encoder.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2018-11-28 09:26:15 +01:00
Thomas Hellstrom
4ec3d67da8 vmwgfx: Fix XVideo memory leaks
We were not properly freeing the port privates.
In order to access those at CloseScreen time, don't free the adaptor pointers
at XV screen init, but hold on to them until CloseScreen.

Also properly free the new_adaptors pointer.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2018-11-28 09:25:39 +01:00
Alan Coopersmith
71c85a70f1 Remove obsolete B16 & B32 tags in struct definitions
They were defined as empty strings on all platforms except for the
long unsupported Cray systems which needed to use bitfields to define
any type smaller than 64-bits.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
2018-11-12 13:35:21 +01:00
Thomas Hellstrom
a5815ba3eb Bump version number for release
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-05-17 09:19:12 +02:00
Thomas Hellstrom
7b163c018b Require at least XA version 2.4 to enable dri3
The XA version was bumped from 2.3 to 2.4 to signal that there were no
significant correctness or performance regressions when running dri3
compared to dri2 on the vmware driver stack.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-05-17 09:17:45 +02:00
Thomas Hellstrom
6b7dc2f930 vmwgfx: Clear the DRM mode before use
Avoid sending partially uninitialized data to the kernel.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
2018-04-26 11:48:37 +02:00
Adam Jackson
0f90e2ed52 saa: Build compatibility with xserver 1.20
fbGetRotatedPixmap went away with 24bpp support, just treat it as NULL
and we'll do the right thing.

Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2018-03-14 21:49:14 +01:00
Thomas Hellstrom
3cdeaa5db7 Fix a couple of shadowed declaration warnings
In some enviroments, "index", "y1" and "y2" are defined globally causing
warnings about shadowed declarations. Fix this.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
2018-02-20 09:36:20 +01:00
Thomas Hellstrom
4ea5c4d5fa Build fixes
A couple of more build fixes for older X servers.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
2018-02-20 09:35:41 +01:00
Thomas Hellstrom
1899b0896d vmwgfx: Fix server termination due to a mesa loader bug
Some versions of the Gallium loader close our drm file descriptor if
xa_tracker_create() fails (typically 2D VMs.) While this is mostly fixed
everywhere, we implement a workaround to avoid tracking down the same bug
again and again on those setups where this is not fixed in mesa.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-02-15 08:33:48 +01:00
Thomas Hellstrom
ea77ce3a20 legacy: Silence a warning about an unused constant
VMWAREBuildStr was only used in the !LIBPCIACCESS path.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-02-15 08:32:38 +01:00
Thomas Hellstrom
7503135a72 legacy: Avoid using the xf86[Un]blockSigio functions
They have been deprecated since mouse doesn't use SIGIO anymore.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-02-15 08:31:27 +01:00
Thomas Hellstrom
69632d06e2 vmwgfx: Fix potential libudev include and link failures
We were not including the proper include- and link flags for libudev.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-02-15 08:30:05 +01:00
Thomas Hellstrom
dc85a6da15 Fix a number of compilation warnings
There are a number of compilation warnings caused by const char pointers
being either explicitly or implicitly cast to char pointers. There
are a number of ABI differences that have hindered this so far, but
make a new attempt using the common_compat.h defines.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-02-15 08:27:30 +01:00
Thomas Hellstrom
98199b4c0a vmwgfx: Remove old XWayland and XMir drivers
Old-style XWayland and XMir aren't available anymore.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-02-15 08:26:26 +01:00
Thomas Hellstrom
943548ac76 vmwgfx: Fix compilation failure if dri3 is not available
Compilation on CentOS failed due to some code not being conditioned on
DRI3 headers being present.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-02-15 08:25:57 +01:00
Thomas Hellstrom
2d769dc01e saa: Fix an include path
Fix compilation failure on CentOS 6.5 due to an incorrect include path.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
2018-02-15 08:05:37 +01:00
Thomas Hellstrom
c0a2f40d97 Bump version number for release candidate
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2018-01-03 21:28:56 +01:00
Thomas Hellstrom
1674782e35 Add the common_compat.h source file for distribution
The common_compat.h source file was missing from Makefile.am causing
"make distcheck" to fail.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2018-01-03 21:26:22 +01:00
Thomas Hellstrom
08ad438e27 vmwgfx: Support DRI3 v2
Add server-side DRI3 support

Currently DRI3 introduces extra latency with gnome-shell for
the following reasons:
1) We enable GLX_EXT_buffer_age. Causes gnome-shell to post fullscreen damage.
2) We enable GLX_OML_sync_control. Cases additional slowdown.
Not exactly sure why.

Probably we want to implement workarounds in mesa so that we don't enable
these extensions for gnome-shell. That can be done with driconf, using some
trickery.

v2: Verify that sharing an ARGB surface as XRGB works before enabling
DRI3.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
2017-08-21 11:33:43 +02:00
Thomas Hellstrom
c8b8b2ee4a Revert "vmware/vmwgfx: Support multiple dri driver names"
This reverts commit d5550b7f83.

The commit was intended to support video drivers, but has the side effect
that GLX thinks our driver supports more than it does.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
2017-08-21 11:33:34 +02:00
Deepak Singh Rawat
3aff4ee5ca vmware/vmwgfx: Wrap deprecated
Deprecated with 43dbc556f3a4d743b9121d6cfc21961be4a9da56

Signed-off-by: Deepak Rawat <drawat@vmware.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
2017-08-07 16:12:56 -07:00
Deepak Singh Rawat
d8c2f85013 vmware: Fix build warnings
Due to following commit in xserver there were
build warnings, as variables now declared const.

d89b42bda46d36fc0879611cc3b3566957ce36d0
e1e01d2e33c632e395d7e396f73fba8ae606b15a

Added a compat header file.

Signed-off-by: Deepak Rawat <drawat@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>:q
2017-08-07 15:57:56 -07:00
Sinclair Yeh
ed0fd2f282 Revert "Revert "vmware/vmwgfx: Support multiple dri driver names""
This reverts commit ea94dc5708.

Temporarily revert this for internal testing.
2017-07-13 20:27:40 +02:00
Sinclair Yeh
1388a1592c Revert "vmwgfx: Support DRI3 v2"
This reverts commit d0d5cf3e35.

Temporarily revert this for internal testing.
2017-07-13 20:27:29 +02:00
Thomas Hellstrom
d0d5cf3e35 vmwgfx: Support DRI3 v2
Add server-side DRI3 support

Currently DRI3 introduces extra latency with gnome-shell for
the following reasons:
1) We enable GLX_EXT_buffer_age. Causes gnome-shell to post fullscreen damage.
2) We enable GLX_OML_sync_control. Cases additional slowdown.
Not exactly sure why.

Probably we want to implement workarounds in mesa so that we don't enable
these extensions for gnome-shell. That can be done with driconf, using some
trickery.

v2: Verify that sharing an ARGB surface as XRGB works before enabling
DRI3.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
2017-05-11 07:34:52 -07:00
Thomas Hellstrom
ea94dc5708 Revert "vmware/vmwgfx: Support multiple dri driver names"
This reverts commit d5550b7f83.

The commit was intended to support video drivers, but has the side effect
that GLX thinks our driver supports more than it does.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
2017-05-11 07:34:19 -07:00
Mihail Konev
ed9d2a3fde autogen: add default patch prefix
Signed-off-by: Mihail Konev <k.mvc@ya.ru>
2017-01-26 14:00:22 +10:00
Emil Velikov
fa4998d1b9 autogen.sh: use quoted string variables
Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
fall-outs, when they contain space.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-01-26 11:26:29 +10:00
Peter Hutterer
4a96179cdb autogen.sh: use exec instead of waiting for configure to finish
Syncs the invocation of configure with the one from the server.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-01-26 11:23:47 +10:00
Alan Coopersmith
670db8dbf2 autogen.sh: Honor NOCONFIGURE=1
See http://people.gnome.org/~walters/docs/build-api.txt

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2017-01-26 11:16:38 +10:00
Alan Coopersmith
91881a6619 configure: Drop AM_MAINTAINER_MODE
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2017-01-26 11:16:37 +10:00
Thomas Hellstrom
fade4f46e8 vmware/vmwgfx: Add a missing source file for distribution
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
2016-11-16 12:54:35 +07:00