Commit Graph

6024 Commits

Author SHA1 Message Date
Adam Jackson 718652eaf9 Bug #13104: Don't let XAA glyph pixmaps anywhere near video memory.
Since glyphs are stored in pixmaps now, they can make their way into VRAM,
which invalidates a bunch of fast-path assumptions in the XAA code.  Thus
you end up doing color-expands or WriteBitmap from la-la land and your
aliased glyphs go all funny.

Since XAA isn't ever growing the ability to do sane glyph accel, just force
glyph pixmaps into host memory by catching them at CreatePixmap time.
2008-05-06 17:52:37 -04:00
Jeremy Huddleston a85d3ac87c XQuartz: Fixed typo
(cherry picked from commit 56b7988d2662caa4d31094695b414080e4470ed4)
2008-05-06 03:04:13 -07:00
Jeremy Huddleston 077ced6384 XQuartz: Added uncommitted files
(cherry picked from commit e414ec462cfc63f8eb7f504f526f5a2c73f51e69)
2008-05-06 03:04:09 -07:00
Jeremy Huddleston 80e502c5d1 Fixed up dist
(cherry picked from commit f225222ba2bf4f03425107f258d60b73c88efaec)
2008-05-06 03:04:04 -07:00
Jeremy Huddleston 7295e54433 XQuartz: Move server bits into bundle and setup stub in /usr/X11/bin/Xquartz in prep for startup rewrite
(cherry picked from commit 453a982e6382cff06ea27abba225440b07068f50)
2008-05-06 02:49:48 -07:00
Ben Byer d41d677ab4 Xquartz: experimental embedding of Sparkle.framework
(cherry picked from commit b7a1a640cef8c69442859cbf89034ad362a19684)
2008-05-06 02:49:41 -07:00
Peter Hutterer 9e0d73fd8a xfree86: call SetCursor for the VCP when switching between SW/HW rendering.
We need a manual call to SetCursor when we switch from SW to HW rendering and
the other way round. This way we display the new cursor after removing the old
one.
In addition, we only update the internal state for the VCP's sprite. This way,
when we switch back to HW rendering the state is up-to-date and wasn't
overwritten with the other sprite's state.

The second part is a hack. It would be better to keep a state for each sprite,
but then again we don't have hardware that can render multiple cursors so we
might as well do with the hack.
2008-05-06 17:52:15 +09:30
Dave Airlie e4ebfed178 xf86edid: fix typo in debug output 2008-05-06 16:47:18 +10:00
Peter Hutterer b9c1a57e7a xfree86: switch between to SW cursors if more than 1 sprite is available.
Switches back to HW cursors when sprites other than the VCP are removed.
The current state requires the cursor to change shape once before it updates
to SW / HW rendering (whatever is appropriate), e.g. by moving into a
different window. Until this is done, the cursor is invisible.
2008-05-06 14:51:23 +09:30
Peter Hutterer 3df88c17e3 xfree86: re-enable hardware cursor (for a single cursor)
This commit enables HW rendering for cursors again, but only for a single
cursor. Other cursors can be created, however they will not be visible.
2008-05-06 11:50:20 +09:30
Jeremy Huddleston 6acc2acd0d Rootless: mi doesn't let us resize root, so we need to do it ourselves...
(cherry picked from commit c1ec36e28cff857664090cc8792db1ae93b783fa)
2008-05-05 15:34:10 -07:00
Keith Packard efa65a0317 Rework composite overlay window code to fix several resource management bugs.
The composite overlay window code had several misunderstandings of the
workings of the X server, in particular error handling paths would often
double-free objects. Clean all of this up by using resource destruction as
the sole mechanism for freeing resource-based objects.
2008-05-04 21:54:27 -07:00
Keith Packard 6c1accce87 Empty the borderClip of manual redirect windows. (bug 15823)
Thanks to Owen Taylor for root-causing this one.

If a TreatAsTransparent window has any area in the borderClip, that will be
added to the totalClip region for use by other windows. That's wrong.
Instead, simply empty the borderClip for TreatAsTransparent windows right up
front.
2008-05-04 21:54:22 -07:00
Aaron Plattner d500eeb945 Xephyr: Handle depth 30 and reject higher depths rather than crashing. 2008-05-04 10:26:25 -07:00
Jeremy Huddleston f4a68f3701 XQuartz: Fix mouse input offsets earlier since GetPointerEvents does not like negative (x,y) values
(cherry picked from commit 8d9eab3a2ec5955cc2698fdcb1fa6ed12b2aadb7)
2008-05-02 17:42:41 -07:00
Jeremy Huddleston 96fa7da3b8 XQuartz: Avoid a possible crash at startup due to unfavorable context switching.
(cherry picked from commit ff10c37bdd09656cf2f7ee9577f5552caa1ffdb8)
2008-05-02 17:42:36 -07:00
Peter Hutterer 6f63724b28 xfree86: don't try to repaint the cursor before cursors exist. 2008-05-02 14:56:58 +09:30
Peter Hutterer 3344569529 Merge branch 'master' into mpx
Conflicts:

	Xi/exevents.c
	dix/devices.c
2008-05-02 11:00:14 +09:30
Jeremy Huddleston a338007be6 XQuartz: Adjust the screen origin offset properly for multimonitor setups
(cherry picked from commit f2020b9836bacd0593ac0b4c8541e32714ab02a9)
2008-05-01 18:04:18 -07:00
Peter Hutterer 8e56fd9728 dix: continue to check for invalid valuator ranges.
In an ideal world, the drivers would init all axes with NO_AXIS_LIMIT. In the
real world, this is an ABI break, so let's just leave the old check in.
2008-05-02 10:22:06 +09:30
Michel Dänzer 3b8d53452c EXA: Fall back in CompositeRects if the driver can't accelerate Composite.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=15780 .
2008-05-01 15:10:52 +02:00
Paulo Cesar Pereira de Andrade 01c61f3d97 xorgcfg: Fix a crash if xorg.conf doesn't have a Files section.
This patch only creates a Files section if required, so if no entries are
added, an empty Files section will not be created.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-05-01 15:55:15 +09:30
Paulo Cesar Pereira de Andrade 6899ff81e8 Fix an off by one read error in drmSIGIOHandler().
Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-05-01 10:14:30 +09:30
Jeremy Huddleston ec0419b505 XQuartz: Moved some relevant stuff from darwin.h to darwinEvents.h
(cherry picked from commit 1fcf74a436f2e19cceb3f285b89859025d94c040)
2008-04-30 17:33:11 -07:00
Jeremy Huddleston 28d1e21f15 Dix: Cleaned up sanity checking in Get{Pointer,Keyboard}Events
XQuartz was crashing because the Appkit thread was trying to GetXXXEvents while the Xserver thread was exiting.
This adds some more sanity checks and avoids that crash
(cherry picked from commit 34ec4bd6acb834c0e3f9a5042a0cc3f52c6f3a68)
2008-04-30 17:33:07 -07:00
Kazuhiro Inaoka ce36ae526d Add M32R architecture support (bug #10020)
Still needs autotools support, so this won't actually _build_: it's just
a starting point.
2008-04-30 11:58:32 +03:00
Peter Hutterer a0e6a7d4f5 dix: resize EQ to minimum size to avoid reallocs during SIGIO.
When a new device is added, calculate the event size needed if a DCCE event is
sent and set the EQ's event size to this minimum. This avoids reallocs when a
event is sent (which may happen during a SIGIO).
2008-04-30 17:57:48 +09:30
Ben Byer b71b51c982 xquartz: created darwinTablet, to represent tablet events
(cherry picked from commit 50641bce730ee03738fa0c4beb8125b34fda556f)
2008-04-29 23:59:34 -07:00
Ben Byer 519581b0ba xquartz: remove unused params from DarwinEQInit
(cherry picked from commit 299a056737168ca1faefd675dce6d6ab13176be9)
2008-04-29 23:59:31 -07:00
Jeremy Huddleston d70487a4c0 XQuartz: Fix to tablet-event handling code; we now scale
more conservatively (to match Linux's Wacom driver) and
we now receive all tablet-related events.
(cherry picked from commit 588683cecca2cfc65a28de035cd6ee3d64ff59d2)
2008-04-29 23:59:26 -07:00
Peter Hutterer fea39c94bc dix: fix typo from last commit. 2008-04-30 13:17:14 +09:30
Peter Hutterer ffaccc2dc9 input: replace -1 as default axis limit with NO_AXIS_LIMIT define.
This allows easier refacturing of the coordinate limit handling. Grepping for
-1 is boring.
2008-04-30 11:49:11 +09:30
Peter Hutterer 00acb40f2b dix: fix typo in clipAxis.
Check needs to be (min_axis < max_axis), not (min_axis < min_axis)
2008-04-30 11:29:03 +09:30
Hong Liu f65a1a62f9 Keep rotation wrappers in place while transforms are in use
LeaveVT/EnterVT cycles will free/realloc shadow frame buffers. Because of
this, the presense/absence of that data is insufficient to know whether
the screen function wrappers are necessary. Instead, the 'transform_in_use'
flag should be used.

This patch also adds 'xf86RotateFreeShadow' for drivers to use at LeaveVT
time to free the rotation data; it will be reallocated on EnterVT.
2008-04-29 09:00:11 -07:00
Peter Hutterer 18b33dd4ff Xi: stop excessive use of _X_EXPORT. 2008-04-29 15:24:55 +09:30
Peter Hutterer 2b179c32ac include: add declaration for CopyGetMasterEvent to shut up compiler warning. 2008-04-29 15:15:16 +09:30
Peter Hutterer ff36753755 mi: call the custom event handlers for both MD and SD. 2008-04-29 14:53:41 +09:30
Peter Hutterer ec2fca7e6f xfree86: DGA needs to call into Xi.
Two steps: first use UpdateDeviceState() instead of replicating the device
changing code. And emulate XI events instead of core events.
2008-04-29 14:53:20 +09:30
Peter Hutterer 8208b842b7 Xi: add IEventBase global variable. Stores event base for X Input events. 2008-04-29 14:19:42 +09:30
Peter Hutterer 46340b7406 Xi: change UpdateDeviceState to be _X_EXPORT. 2008-04-29 14:17:48 +09:30
Peter Hutterer 3a922c5d07 Xi: apply ValuatorEvent data to the device's valuators.
After UpdateDeviceState, the device has the current position in absolute
coordinates, the event has the correct valuator data to be delivered to the
client.
2008-04-29 11:18:35 +09:30
Peter Hutterer f2a20294fe dix: store all valuators as they come from the device in the valuator events.
The event's sequenceNumber is mis-used to determine whether the values are
relative or absolute.
2008-04-29 11:18:35 +09:30
Jeremy Huddleston d5ab89f4f1 XQuartz: Unset CFProcessPath... blech
(cherry picked from commit ce4fbfbc75c62a092214d140c7550279aebe69ef)
2008-04-28 15:55:01 -07:00
Jeremy Huddleston 0c2312b21b XQuartz: xprIsX11Window can be called from the Appkit thread (see X11Application.m)
(cherry picked from commit 22cf72437601c07b8a6c744b4f2f1f4cd6713e60)
2008-04-28 15:42:12 -07:00
Jeremy Huddleston c3dc4bdbb0 XQuartz: Disabled DPMS extension
(cherry picked from commit 1448fed9b6d484f471b9b2982c76ca921a9273b9)
2008-04-28 15:42:02 -07:00
Jeremy Huddleston 07382a70c7 XQuartz: Added thread debugging to xprFrame.c
(cherry picked from commit 41542502b321c697271c1752525b600872b6df96)
2008-04-28 15:40:22 -07:00
Michel Dänzer 8349732a67 EXA: Try to accelerate non-antialiased text via the glyph cache as well.
Treat 1 bit glyphs and masks as PICT_a8 in the glyph cache. We're not able to
accelerate them otherwise.
2008-04-28 21:09:35 +02:00
Michel Dänzer a65d530040 EXA: Accumulate glyphs whenever possible, for full benefits of the glyph cache. 2008-04-28 21:03:12 +02:00
Michel Dänzer e7eaac59c4 EXA: Glyph cache upload tweaks.
Track damage after using UploadToScreen directly.

Don't waste any effort on empty glyphs.
2008-04-28 21:00:55 +02:00
Owen Taylor cc08c06665 EXA: Use UploadToScreen() for uploads to glyph cache
When possible, use UploadToScreen() rather than CompositePicture()
to upload glyphs onto the glyph cache pixmap. This avoids allocating
offscreen memory for each glyph making management of offscreen
areas much more efficient.
2008-04-28 21:00:55 +02:00