I don't understand the *why* ... I just see that it works better this way for games like Quake2 through wine. It *should* be better the other way, but somehow it's not.
I guess this will go in my list of puzzles to unravel.
(cherry picked from commit 65ae2d00e1)
This patch simplifies error handling in the HAL code and fixes a
segfault if libhal_find_device_by_capability() failed.
Fixes http://bugs.gentoo.org/278760
Based on a patch by Martin von Gagern <Martin.vGagern@gmx.net>
Signed-off-by: Rémi Cardona <remi@gentoo.org>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit b1c3dc6ae2)
crtc->funcs->lock is NULL, so it's no use calling it here. Move it down so
it's actually defined before we use it.
Introduced with 6f59a81600.
Tested-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 0de58c88ab)
Signed-off-by: Keith Packard <keithp@keithp.com>
The matrix multiply to combine rotation and projective transforms was being
done in the wrong order.
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit b2bf67b61c)
Signed-off-by: Keith Packard <keithp@keithp.com>
This moves code out of each implementation of set_mode_major and back into
the X server. The real feature here is that the transform is now available
in the crtc for use by either xf86CrtcRotate or whatever the driver wants to
do. Without this change, the transform was lost for drivers providing the
set_mode_major interface.
Note that users of this API will want to stop smashing the transformPresent
field, and could also stop setting mode/x/y/rotation for new enough X servers,
but there's no reason to make that change as it will break things when
running against older X servers.
Signed-off-by: Keith Packard <keithp@keithp.com>
Acked-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit 6f59a81600)
Signed-off-by: Keith Packard <keithp@keithp.com>
Shortcut is impossible to implement this way, because we don't know for sure
whether the crtc of an output has changed or not.
(cherry picked from commit cadf65a6e1)
Signed-off-by: Keith Packard <keithp@keithp.com>
We don't return rates to randr < 1.1 clients, so don't allocate space
for them. This fixes a FatalError due to not all allocated space being
used.
X.Org bug#21861 <http://bugs.freedesktop.org/show_bug.cgi?id=21861>
Reported-by: Guillaume Quintin <coincoin169g@gmail.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
(cherry picked from commit 12e725d08b)
Signed-off-by: Keith Packard <keithp@keithp.com>
dixLookupResource attempted to automatically detect whether the caller
wanted a lookup by-type or by-class, unfortunately, it guessed wrong for
RT_NONE. Instead of trying to make the guess better, this patch just reverts
the unification and creates separate functions for each operation.
(cherry picked from commit f8dd80d13b)
Signed-off-by: Keith Packard <keithp@keithp.com>
since libXinerama commit 90d4d23bf2e94721149ddc0a80093b10a82e8845 and
xineramaproto commit 21477147613c28c968b5e1eb9d8aea7017dd399d, the
server no longer needs libXinerama.
Signed-off-by: Rémi Cardona <remi@gentoo.org>
(cherry picked from commit 2c69deb92e)
Signed-off-by: Keith Packard <keithp@keithp.com>
The main change is cleanup of the visualConfigs and setting up alpha correctly there to match the visuals being added earlier (so the default visual has a corresponding GLX visual)
This was in place to work around the issue that was correctly solved with the
previous commit (changing the Windows menu behavior). Reverting this change
no longer causes crashing, so it's safe to show the dialog now.
(cherry picked from commit 023cef31bb)
You could be more clever than this, but the wire protocol says this
really is an array of not more than 255 ARRAY8, so it's not just a
matter of changing the types.
(cherry picked from commit 0eb19f9437)