Commit Graph

6895 Commits

Author SHA1 Message Date
Luc Verhaegen
59f9fb4b8c XAA PixmapOps: Sync before accessing unwrapped callbacks.
When using any XAAPixmapOps, we call into unknown but freshly
unwrapped callbacks (like fb ones). Unlike the XAA*Fallback calls,
we did so without syncing first, exposing us to all kinds of
synchronisation issues.

I believe that the rendering errors appeared now because *PaintWindow
vanished (e4d11e58), and we just use miPaintWindow instead. This
takes a less direct route to the hw and ends up at
PolyFillRectPixmap, which very often left drawing artifacts.

We now sync accordingly, and no longer get the rendering artifacts i
was methodically reproducing on radeonhd, radeon, unichrome...

Also, in order to allow driver authors to remove extensive syncing
or flushing to hide this issue, create XAA_VERSION_ defines, put
them in xaa.h and bump the patchlevel.

(novell bug #435791)
2008-11-07 19:13:58 +01:00
Julien Cristau
991c88b754 xfree86: xf86SetDepthBpp needs to respect the driver's depth24flags
When setting the depth to 24, leave bpp unset so the logic to pick
a supported value is used instead of ignoring the driver's preference
and forcing 32 bpp.
2008-11-07 19:03:40 +01:00
Julien Cristau
d3d6be4948 mi: Fix infinite loop on regen when swrast_dri.so is missing
The swrast DRI provider gets pushed on the glx provider stack at every
server generation, so the stack turns into a circular list on regen.

X.Org bug#18388 <https://bugs.freedesktop.org/show_bug.cgi?id=18388>
2008-11-07 19:03:32 +01:00
Jeremy Huddleston
f59352881f XQuartz: Make LS parse our version properly... it didn't like our CFBundleVersion
(cherry picked from commit 980df1b4ff)
2008-11-06 14:49:54 -08:00
Alan Coopersmith
b4ca9dc239 When HAL returns a NULL property, print "(null)" instead of a NULL pointer
They've promised to fix Solaris printf soon to check for NULL pointers
instead of segfaulting, but that won't help people on existing releases.
2008-11-05 21:58:30 -08:00
George Peter Staplin
13d06f5aaf XQuartz: GL: Add capability detection for depth buffers, and multisampling.
GL/capabilities.c: Add handleDepthModes(), and extend
handleRendererDescription() for the various depth and multisampling flags.

Add initialization of the new config options to initConfig().

GL/capabilities.h: Add depth and multisample config members.

GL/visualConfigs.c: Add depth and multisampling support to the visual config
setup.
(cherry picked from commit f527381eea)
2008-11-05 19:23:48 -08:00
George Peter Staplin
34bb06b292 XQuartz: GL: Work around problems with really deep visuals.
GL/capabilities.c: #if 0 (for now) any capabilities above 8 bits per channel,
because they introduce drawing problems.

GL/indirect.c: Comment out some visual setup code that shouldn't be running, and
actually seemed to cause some problems.  The current visualConfigs.c code seems
to do a reasonable job of setting up visuals for XQuartz.

GL/visualConfigs.c: Make use of the proper visual .class.   Eliminate depth 0.
It seems we really just want 24 for now, and 0 I think was a flaw in the original
code.
(cherry picked from commit 1e5f63f15e)
2008-11-05 19:23:41 -08:00
Jeremy Huddleston
39e82a9b12 XQuartz: Replace deprecated API usage thanks to Robery Murphy
(cherry picked from commit 71dd052412)
2008-11-05 19:23:36 -08:00
Jeremy Huddleston
b4db46320a XQuartz: version string updated for 2.3.2_beta3
(cherry picked from commit 81bb412857)
2008-11-05 19:23:30 -08:00
Alan Coopersmith
c9051b684b Use OsSignal in Popen/Pclose to avoid SysV signal() stupidity 2008-11-05 18:25:57 -08:00
Alan Coopersmith
d63ea51013 Non-Linux OS'es should default to kbd driver, not now-dead keyboard driver 2008-11-05 14:52:39 -08:00
Adam Jackson
446d9443ce linux: Drain the console fd of data when using evdev for keyboards
Works around a silly bug in the kernel that causes wakeup storms after
too many keypresses.  Should fix the kernel bug too, but this at least
keeps the idle wakeup count below 1000/sec.
2008-11-05 11:51:06 -05:00
Adam Jackson
6d21fbf006 kdrive: Bye bye Xvesa 2008-11-05 11:39:46 -05:00
Egbert Eich
9a874a71a7 DDX/RandR: When positioning outputs assume width/height = 0 if no modes exist.
When a user specifies the position of an output for which no modes exist
(for whatever reason) assume that the width and height of this output
is 0. The result will be the same as if this output isn't taken into
consideration at all and thus should be sane. It will prevent a segfault
when trying to determine the width and height of a non-existent mode.
2008-11-04 21:31:27 +01:00
Michel Dänzer
a4d62bbf21 AIGLX: Reinstate call to driver texOffsetFinish hook.
It was accidentally lost when factoring out __glXDRIdoReleaseTexImage, so this
is a regression fix and should probably be backported to server-1.5-branch.
2008-11-04 11:27:53 +01:00
Michel Dänzer
27f1ad466c AIGLX: Don't truncate offset returned by driver texOffsetStart hook on 32 bit. 2008-11-04 11:26:03 +01:00
Peter Hutterer
de1a8b68eb xkb: extract the correct device in XkbFilterEvents.
If the event is an XI event, we need to work on the correct device, not on
the VCK.

Adds XIGetDevice(event) function to extract the device from an event.
2008-11-04 16:04:16 +10:30
Peter Hutterer
d972399566 Purge device-based WindowAccess code.
Really, this was a bad idea. It's not security, the UI features that would
have been cool (e.g. clicking through windows) aren't implemented anyway, and
there's nothing you can't achieve just by using plain XI anyway.

Requires inputproto 1.9.99.6.
2008-11-04 16:04:15 +10:30
Peter Hutterer
cbc6f98395 xkb: when faking mouse button events, fake them on the correct devices.
When MouseKeys are activated, keyboard devices may generate fake mouse button
events through XKB. Let's get then running through the appropriate paths, i.e.
as XI events on the correct device.

To make matters more fun, ProcessOtherEvents drops events if the DIX device
state cannot be updated accordingly, i.e. all button events from keyboard
devices.
Hence we need to get the paired MD for the device in XkbDDXFakeDeviceButton,
and post the event through the paired MD (usually the VCP).

Removes now-unused ddxFakeBtn.c.

Note: this patch only half-arsedly fixed button events, motion events are a
more complicated matter.
2008-11-04 16:04:15 +10:30
Peter Hutterer
4971315296 dix: clean up GetPointerEvents and GetKeyboardValuatorEvents.
Split into several functions, remove some stale comments.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:02:25 +10:30
Peter Hutterer
6bb0e0a536 xnest: I'm sure xfree works fine, even if we're 64 bit.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:42 +10:30
Daniel Stone
67b7e06c4f XKB: Remove pointless macros
These weren't even being used, which isn't overly surprising, given that
they were already in the struct.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:42 +10:30
Daniel Stone
d9ff20e323 DIX: Remove unnecessary prototype
We don't call XkbCopyKeymap from getevents.c anymore, so axe it.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:42 +10:30
Daniel Stone
064ee458c7 XKB: Tiny cleanups to _XkbLookupAnyDevice
A couple of coding style cleanups, a warning fix via removing a
now-unused label, and also put an else so we don't spuriously trip a
condition that should admittedly never occur anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:41 +10:30
Daniel Stone
97c9e6a713 XKB: Fix thinko, causing warning (erroneously fixed in 5544c51447)
newTypes is a local variable which always has an address.  newTypesIn,
on the other hand, might be sus.

See also 5544c51447.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:07 +10:30
Daniel Stone
caf1e6a1c9 XKB: Move XKBrules.h to the server too
Get our own local copy of this, so we don't have to define XKB_IN_SERVER
anymore.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:07 +10:30
Daniel Stone
f4036f6ace Remove XEvIE
It's unmaintained and has been broken for quite a while; MPX finally
smashed it completely.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:07 +10:30
Daniel Stone
8c3753a0b7 A bit of whitespace cleanup in include directives.
It's #include <foo>, not # include <foo>

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:07 +10:30
Daniel Stone
889a8dc02b Xi: XINPUT has been mandatory for ages
Ditch all #ifdef XINPUT, since it's always built.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04 16:01:07 +10:30
Adam Jackson
4cf2f4172a Add xf86MonitorIsHDMI() helper. 2008-11-03 14:35:03 -05:00
Michel Dänzer
a7951a4dad AIGLX: Allow 2D driver to prevent zero-copy texturing of a pixmap.
The driver can return ~0ULL to achieve this, e.g. if the pixmap doesn't fit
into offscreen storage or if its pixel format isn't supported by the 3D engine
for texturing.

See http://bugs.freedesktop.org/show_bug.cgi?id=17723 or
http://bugs.freedesktop.org/show_bug.cgi?id=12385 .
2008-11-03 10:00:54 +01:00
Jeremy Huddleston
f8af66ddb2 XQuartz: Add option to allow access to the menu in fullscreen mode
(cherry picked from commit 637a9f4bd1)
2008-10-31 20:05:39 -07:00
Jeremy Huddleston
c5086badf0 XQuartz: LP64 related casting fixes from Bob Murphy
(cherry picked from commit ea71710aaa)
2008-10-31 19:03:38 -07:00
Jeremy Huddleston
20239a4dee Rootless: LP64 related casting fixes from Bob Murphy
(cherry picked from commit 40441c4e31)
2008-10-31 19:03:32 -07:00
Jeremy Huddleston
ecd55bc859 XQuartz: displayScreenBounds uses quartzEnableRootless rather than !quartzHasRoot
(cherry picked from commit c883a78ef0)
2008-10-31 15:50:06 -07:00
Jeremy Huddleston
4e762b8aa3 Rootless: Force initialization of static variable before use.
(cherry picked from commit cece293172)
2008-10-31 15:49:59 -07:00
Jeremy Huddleston
9f49f5172d XQuartz: Silence pointer debug spam
(cherry picked from commit 9ca099e928)
2008-10-31 15:49:52 -07:00
Jeremy Huddleston
93298c7f8f XQuartz: Don't map the menu bar to the screen area.
(cherry picked from commit 1115917ada)
2008-10-31 15:49:44 -07:00
Jeremy Huddleston
31907986a6 XQuartz: Fixed Xplugin thread safety issues, so rea-enable background window check
(cherry picked from commit 5fc73b1141)
2008-10-31 15:49:32 -07:00
George Peter Staplin
227d782a1b XQuartz: GL: Mark visuals that are slower than others, due to lack of acceleration.
This is used in libGL to determine a preferred visual.  glxinfo -v will also
report "visualCaveat=Slow" for such visuals.
(cherry picked from commit d5c17f585a)
2008-10-31 15:49:25 -07:00
Jeremy Huddleston
5287602a41 XQuartz: if 0 out a block to avoid thread-unsafe lockups
(cherry picked from commit 60d7359a67)
2008-10-31 15:48:24 -07:00
Jeremy Huddleston
93d7cd31c5 XQuartz: Purge the old XQUARTZ_EXPORTS_LAUNCHD_FD option
(cherry picked from commit 490756c7fb)
2008-10-31 15:48:15 -07:00
Peter Hutterer
0a076b6a7f xkb: remove unused label "out", clean up program flow. 2008-10-31 18:36:14 +10:30
Peter Hutterer
971aef6441 dix: FreeDeviceClass() and friends can be static. 2008-10-31 18:26:18 +10:30
Peter Hutterer
3c3a47d0f5 include: remove unused declaration for RegisterPairingClient().
Matching functions got removed in 004876355b.
2008-10-31 18:26:18 +10:30
Peter Hutterer
7c5dec9f71 dix: remove unused GuessFreePointerDevice().
Not used since the MD/SD hierarchy was introduced many moons ago.
2008-10-31 18:26:18 +10:30
Peter Hutterer
12599af285 dix: NextFreePointerDevice() can be static. 2008-10-31 18:26:18 +10:30
Peter Hutterer
5d0a945a03 dix: SwitchCorePointer is long gone, bury it. 2008-10-31 17:09:13 +10:30
Peter Hutterer
eb014021c2 dix: PairDevices() can be static, remove from input.
PairDevices() is only ever called in EnableDevice().
2008-10-31 17:09:13 +10:30
Peter Hutterer
b6b26560d6 Move EXTENSION_BASE and EXTENSION_EVENT_BASE to misc.h. 2008-10-31 17:09:13 +10:30