32 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult
fdc7401f69 replace obsolete "pointer" typedef by plain void*
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-07 18:59:35 +01:00
Enrico Weigelt, metux IT consult
80285869be drop obsolete compat macros
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-02 16:34:36 +01:00
Enrico Weigelt, metux IT consult
ea228a12f6 drop obsolete #ifdef HAVE_CONFIG_H
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-18 11:42:24 +01:00
Enrico Weigelt, metux IT consult
4dd3f86ca1 replace PictFormatShort by pixman_format_code_t
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-07 13:36:03 +02:00
Enrico Weigelt, metux IT consult
f104b52412 replace PICT_FORMAT_* by PIXMAN_FORMAT_*
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-07 13:36:03 +02:00
Enrico Weigelt, metux IT consult
dedde6b87b replace PICT_a8 by PIXMAN_a8
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-07 13:36:03 +02:00
Enrico Weigelt, metux IT consult
31238d8954 replace PICT_a1 by PIXMAN_a1
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-07 13:36:03 +02:00
Enrico Weigelt, metux IT consult
3f45b624ef drop compat with ancient xserver versions
We're relying on at least 1.18 now.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-20 18:56:37 +02:00
Enrico Weigelt, metux IT consult
92cc453414 use dixDestroyPixmap() instead of direct driver call
Direct calls to ScreenRec->DestroyPixmap() blocks cleaning up the wrapping
jungle, so use the proper dix function instead - except when calling down the
chain where we had wrapped ourselves - and protecting those against NULL, so
we can move subsys-provided functions out of that chain.

See: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1754

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-vmware/-/merge_requests/11>
2025-02-06 23:00:25 +00: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
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
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
Adam Jackson
ab5be23120 saa: Adapt to GC client clip changes in xserver 1.17
1.17 always stores the client clip as a region, so there's no longer a
clientClipType member to look at.  Change the code to just inspect
whether the clientClip is non-null, since that works both before and
after 1.17.

Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
2015-01-15 08:51:57 +01:00
Thomas Hellstrom
8e1c4e5bd5 vmware/saa: Fix saa_check_poly_fill_rect_noreadback v2
We were not clipping the dirty region correctly, Fix this.
Also actually do what the comment in the function says: If there are more than
an ad-hoc number of rectangles to read back, then revert to the default
saa_check_poly_fill_rect function that reads back the whole damage region.

v2: Fix commit log message.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-09-24 11:59:06 +02:00
Thomas Hellstrom
c23fd33d8c vmware/saa: Fix saa_check_copy_window dirty region v3
The saa_check_copy_window could dirty regions that were never touched, since
we were using the X server provided damage region rather than the more
detailed region actually copied. This would have been OK if we had first done
a read-back of the region to be dirtied, but since we want to avoid that,
instead compute the detailed destination region and use that for dirtying.

This fixes rendering glitches seen with motif applications.

v2: Fix whitespace error.
v3: Move dirty region computation.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-09-24 11:57:08 +02:00
Thomas Hellstrom
f86434ac69 Revert "vmware/saa: Disable the noreadback polyfillrect optimization"
This reverts commit 88c487cb19.

While the commit made the rendering artefacts less frequent, they didn't
disappear completely and are likely caused by something else, so revert this
commit.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Acked-by: Sinclair Yeh <syeh@vmware.com>
2014-09-23 18:15:11 +02:00
Thomas Hellstrom
88c487cb19 vmware/saa: Disable the noreadback polyfillrect optimization
It causes rendering artefacts with some motif applications due to
damage area confusion. Until that is sorted out, temporarily disable the
optimization.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-05-09 11:41:40 +02:00
Loïc Yhuel
d13a6334fe vmwgfx: Use myGlyphs to fix crashes
Tested-by: Christian Hesse <mail@eworm.de>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Signed-off-by: Loïc Yhuel <loic.yhuel@gmail.com>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
2013-04-12 11:29:26 +02:00
Zack Rusin
23d87c92b7 Kill mibstore
It was a noop for at least 5 years and it has been removed.

Signed-off-by: Zack Rusin <zackr@vmware.com>
2013-02-14 20:48:57 -08:00
Dave Airlie
61df95a86f 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 <jakob@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
2012-06-09 05:54:30 +02:00
Gaetan Nadon
04169f3860 config: include saa and vmwgfx subdirs in the tarball
Use AM_CONDITIONAL. Automake knows what to distribute.
It needs to be able to navigate down the subdirs to find what
needs to be included in the tarball.

To test reliably, create a tarball and expand it into a separate
directory and build with xatracker. Distcheck will not detect
missing code when such code is configured not to build.

The content of a tarball *must* always be identical, regardless
of the configuration options used or on which platform it was configured.

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
2012-03-13 21:37:52 +01:00
Thomas Hellstrom
49b4cbc510 saa: Try to avoid readbacks during polyFillRect
This significantly improves performance of shaped windows on top of 3D
contents

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
2012-02-07 18:14:59 +01:00
Thomas Hellstrom
59435d2d3a vmwgfx,saa: Fix a bunch of compilation warnings
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2012-01-13 16:58:16 +01:00
Thomas Hellstrom
5748c33535 saa, vmwgfx: Fix saa_copy_composite
The traditional accelerated copy methods aren't format aware.
Make saa copy format aware,and pass formats on to the driver copy function
if available. If the driver can't handle format conversions it needs to
return FALSE.

This fixes format confusion in the copy composite fastpath.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-12-15 08:32:14 +01:00
Thomas Hellstrom
f664e31d73 saa: Always read back hw contents on poly_fill_rect
The damage region may be much larger than the actual area
filled, so make sure we read back any hw contents in the damage region
since we use it to mark sw dirty.
Revisit this in the future since it may increase readbacks in an
undesired way. There are workarounds.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-12-15 08:31:16 +01:00
Thomas Hellstrom
0eef224370 saa: Only try to accelerate pixmaps that are driver pixmaps
Trying to accelerate scratch pixmaps doesn't work currently,
and I'm not sure it's a big benefit either.

This is in line with what EXA does.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrants <jakob@vmware.com>
2011-12-15 08:30:29 +01:00
Jakob Bornecrantz
b29d71e3ad saa: Remove superflouos headers includes
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
2011-07-14 00:03:11 +01:00
Thomas Hellstrom
c7e8388280 saa: Add driver composite.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-06-22 22:40:20 +02:00
Thomas Hellstrom
b2e1169710 saa: Reuse code for computing composite bounds.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-06-22 22:38:15 +02:00
Thomas Hellstrom
7966dfa47c vmwgfx, saa: Build saa as a convenience library
instead of as a shared object.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-06-17 08:21:54 +02:00
Thomas Hellstrom
d28613e557 vmwgfx: Fix up driver build process for Xserver >= 1.7.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-06-16 21:31:44 +02:00
Thomas Hellstrom
84166d4b45 vmwgfx, saa: Initial import
This imports the vmwgfx driver, based on the Gallium3D Xorg state tracker,
as well as the saa library. A "Shadow Acceleration Architecture", which is
optimized for the case where transfers between system (shadow) and hw memory
is very costly.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-06-16 16:04:47 +02:00