Commit Graph

1880 Commits

Author SHA1 Message Date
Adam Jackson 5ba4d9eedf Refuse to create tiny modes from EDID detailed timing. 2007-03-28 12:03:19 -04:00
Eric Anholt 6ed08949af Move libcw setup to the only renderer requiring it (XAA).
Additionally, protect libcw setup behind checks for Render, to avoid
segfaulting if Render isn't available (xnest).

The previous setup was an ABI-preserving dance, which is better nuked now.
Now, anything that needs libcw must explicitly initialize it, and
miDisableCompositeWrapper (previously only called by EXA and presumably binary
drivers) is gone.
2007-03-27 17:31:28 -07:00
Eric Anholt e76b634951 Fix indentation of fakexa help text. 2007-03-27 16:47:07 -07:00
Dave Airlie d387a3ddf7 fix loading of GLcore after recent loading changes 2007-03-27 11:00:13 +10:00
Eric Anholt 92ba435bd9 Update xorg.conf manpage for new RandR 1.2 monitor options. 2007-03-26 12:44:58 -07:00
Adam Jackson 2e3cc861f9 Since ddc, i2c, and ramdac are in core now, remove their ModuleData stubs. 2007-03-25 22:01:34 -04:00
Adam Jackson 62224e3972 Static cleanup for xf86 ddx. 2007-03-25 17:55:15 -04:00
Adam Jackson e8bc1988d9 Un-staticise VTSwitchEnabled, since kbd wants it apparently. 2007-03-25 15:13:05 -04:00
Adam Jackson f36bf1a3e4 Delete a dead file. 2007-03-25 12:28:13 -04:00
Adam Jackson 9a0f25de7c Static cleanups, dead code deletion. 2007-03-25 12:27:01 -04:00
Dave Airlie 1072b88a8f loader: fix already built-in message 2007-03-25 10:06:00 +10:00
Keith Packard 804080a709 Make pending properties force mode set. And, remove AttachScreen calls.
Yes, two changes in one commit. Sorry 'bout that.

The first change ensures that when pending property values have been
changed, a mode set to the current mode will actually do something, rather
than being identified as a no-op. In addition, the driver no longer needs to
manage the migration of pending to current values, that is handled both
within the xf86 mode setting code (to deal with non-RandR changes) as well
as within the RandR extension itself.

The second change eliminates the two-call Create/AttachScreen stuff that was
done in a failed attempt to create RandR resources before the screen
structures were allocated. Merging these back into the Create function is
cleaner.
(cherry picked from commit 57e87e0d006cbf1f5b175fe02eeb981f741d92f0)

Conflicts:

	randr/randrstr.h
	randr/rrcrtc.c

I think master and server-1.3-branch are more in sync now.
2007-03-24 00:01:47 -07:00
Keith Packard 1f77120775 Ensure that crtc desired values track most recent mode.
desiredX and desiredY were not recorded during xf86InitialConfiguration.
desiredX, desiredY and desiredRotation were not recorded during
xf86SetSingleMode.
(cherry picked from commit 36e5227215e0912ddf8a010db042467f00efe0fc)
2007-03-23 23:44:34 -07:00
Keith Packard 7093367c39 Fix Pending property API, adding RRPostPendingProperty.
Pending Properties take effect when the driver says they do, so provide an
API to tell DIX when a property effect is made. Also, allow driver
to reject property values in RRChangeOutputProperty.
(cherry picked from commit 8eb288fbd69e2ffd02521d2c6a964c8180d08ec8)
2007-03-23 01:32:34 -07:00
Keith Packard 510eaa346e Clean up xf86CrtcRec and xf86OutputRec objects at CloseScreen.
Erase pointers to structures which are freed at server reset time.
(cherry picked from commit 492c768065f49306a2194a88edf96b85de0ff4ff)
2007-03-23 01:30:24 -07:00
Keith Packard b63e0d2545 Clean up Rotate state on server reset.
The rotation state is stored in the xf86_config structure which is not
re-initialized at server reset time. Clean it up at CloseScreen time.
(cherry picked from commit f8db7665dcd7af78ca4db2461e0bf787ec662cb1)
2007-03-23 01:30:00 -07:00
Daniel Stone 3e9f7a5504 XFree86 DGA: Guard against NULL pointer dereferences.
Ass, u, me ...
2007-03-21 02:35:31 +02:00
Adam Jackson 021fc5cb2c Static markup and dead code cull over xkb/.
The former <X11/extensions/XKBsrv.h> has been pulled into the server now as
include/xkbsrv.h, and the world updated to look for it in the new place,
since it made no sense to define server API in an extension header.  Any
further work along this line will need to do similar things with XKBgeom.h
and friends.
2007-03-20 18:37:02 -04:00
Daniel Stone 9398d62f27 XFree86 input: Add backwards compatibility for motion history
Add the old motion history API back, as a shim around the new mi API.
2007-03-21 00:18:24 +02:00
Daniel Stone 0f75c47e0c xfree86 input: Re-enable DGA support
Re-enable DGA support for relative mouse motion.
2007-03-21 00:12:02 +02:00
Keith Packard 720f302d24 Slow down DDC I2C bus using a RiseFallTime of 20us for old monitors.
This time value makes the bus run slowly enough for even the least reliable
of monitors. Thanks to Pavel Troller for finding the necessary change.
2007-03-17 23:38:53 -07:00
Keith Packard b5a8a71e64 Remove extra (and wrong) I2C ByteTimeout setting in DDC code.
The DDC code sets the I2C timeouts to VESA standards, except that it had an
extra setting of the ByteTimeout value which was wrong (off by a factor of
50). Removing this should help DDC work on many more monitors. Note that the
Intel driver duplicated these settings, along with the error. Yay for cult
and paste coding.
2007-03-17 23:38:43 -07:00
Keith Packard 9d0c3b52f2 Eliminate RRModeRec devPrivate field.
The xf86 mode setting code was mis-using this field to try and store a
pointer to a DisplayModeRec, however, each output has its own copy of every
DisplayModeRec leaving the one in in the RRModeRec devPrivate field pointing
at a random DisplayModeRec.

Instead of attempting to rectify this, eliminating the devPrivate entirely
turned out to be very easy; the DDX code now accepts an arbitrary RRModeRec
structure and set that to the hardware, converting it on the fly to a
DisplayModeRec as needed.
(cherry picked from commit 3506b9376c2b0db09bfff58d64e07af88a6e8195)
2007-03-17 23:34:58 -07:00
Keith Packard 2c93083edd Add support for user-defined modelines in RandR.
The RandR protocol spec has several requests in support of user-defined
modes, but the implementation was stubbed out inside the X server. Fill out
the DIX portion and start on the xf86 DDX portion. It might be necessary to
add more code to the DDX to insert the user-defined modes into the output
mode list.
(cherry picked from commit 63cc2a51ef87130c632a874672a8c9167f14314e)

Conflicts:

	randr/randrstr.h

Updated code to work in master with recent security API changes.
2007-03-17 23:20:07 -07:00
Keith Packard 3bffb28126 Don't wedge when rotating more than one CRTC.
Rotation block handler was re-registering the rotation damage structure,
creating an infinite loop in the damage code. Track registration of the
damage structure to avoid this.
(cherry picked from commit b14f003b0ed1252766c9e3b1c086ea2809521047)
2007-03-15 19:32:58 -07:00
Keith Packard 9562b6abe1 Allow xf86_reload_cursors during server init.
xf86_reload_cursors is supposed to be called from the crtc mode setting
commit hook; as that happens during server initialization, check for this
case.
(cherry picked from commit 5b77bf2d020b1ee56c1c5f2db089a8f7f64a76a6)
2007-03-15 19:32:48 -07:00
Matthias Hopf 2fe74ef339 Fix calculations in x86 emulator for the long long case (Andreas Schwab). 2007-03-15 16:56:01 +01:00
Keith Packard ae75019ccf Create driver-independent CRTC-based cursor layer.
This moves most of the cursor management code out of the intel driver and
into the general server code. Of course, the hope is that this code will be
useful for other driver writers as well.

Check out xf86Crtc.h for the usage information, making sure you add the
needed hooks to the crtc funcs structure for your driver.
(cherry picked from commit 4d81c99a4660a0bf9014f789de55edabd185bd14)
2007-03-15 00:02:40 -07:00
Jay Estabrook c366b82bd5 Ensure domain is stripped from the bus ID. 2007-03-09 12:26:55 +00:00
Keith Packard 40ae4f246d Remove stale monitor data when output becomes disconnected.
Remove parsed EDID and EDID property from disconnected outputs.
(cherry picked from commit ae9d5aa479dd50cc81b755079fcf96a0d02f135a)
2007-03-07 20:53:16 -08:00
Adam Jackson a3d2c5d622 XORG_VERSION_CURRENT, not XF86_VERSION_CURRENT.
If only this was the least wrong thing in this code.
2007-03-07 11:02:47 -05:00
Keith Packard e9bfb2b3d7 Add hw/xfree86/docs/README.modes, documenting new mode setting APIs.
This document covers both API and xorg.conf usage of the new mode setting
APIs.
(cherry picked from commit a59c31b0f7b94ed1f395c7586c37ef5fe7ba2a25)
2007-03-06 23:21:05 -08:00
Keith Packard 72a23d88d7 Add xf86CrtcScreenInit to share initialization across drivers.
xf86CrtcScreenInit performs initialization that needs to happen at
ScreenInit time.
(cherry picked from commit 558a4f5588ad2ec11254e0b5d6ce9515b137369e)
2007-03-06 23:20:59 -08:00
Eamon Walsh a7cd53deb9 remove PIXPRIV checks as this flag is always set. 2007-03-06 17:05:03 -05:00
Eric Anholt 024bbc7cbb Bug #9931: Fix linear allocations with a non-1-byte granularity.
This was introduced in 83080809f9.  Instead of
aligning the offset, it doubled it.  Results were appropriately spectacular.
2007-03-06 16:20:34 -08:00
Ben Byer 9d94c13759 updated todo list 2007-03-06 11:09:30 -08:00
Ben Byer 81d581e655 Merge branch 'master' of git+ssh://bbyer@git.freedesktop.org/git/xorg/xserver 2007-03-06 10:37:29 -08:00
Ben Byer a05ffca8dd rewrote event handling, Xquartz now has working mouse and keyboard. use it\! 2007-03-06 10:36:51 -08:00
Drew Parsons d5aba03fef Xprint: shorten font filename to fit in tar length limit
The length of the Xprint font file NewCenturySchlbk-BoldItalic.pmf
pushes the full path over the traditional 100 character limit for
tarballs (when module version number is included).  Shorten it to
NewCentSchlbk-BoldItal.pmf to get back below the limit and rename
other font files in that family to match.
2007-03-07 00:02:28 +11:00
Ben Byer 3206e92258 moved new event-handling code from X11Application.m to darwinEvents.c in preparation for making all Darwin servers use it 2007-03-06 02:31:59 -08:00
Ben Byer 0ccd1443fd Merge branch 'master' of git+ssh://bbyer@git.freedesktop.org/git/xorg/xserver 2007-03-06 01:04:50 -08:00
Ben Byer ec1ef8a56d Fixed Darwin's Makefile.am to fix a problem building X11.app 2007-03-06 00:57:23 -08:00
Keith Packard 9b6bb06f13 Allow relative positions to use output names or monitor identifiers.
Previous version used monitor identifiers if present, otherwise output
names. That caused existing working configurations to break when additional
information was added to the configuration file.
(cherry picked from commit 3f5cedf00a82f08a433c95ffbb7f8ac69dcf6a50)
2007-03-05 23:50:37 -08:00
Keith Packard bed76caa6c Use EDID data to set screen physical size at server startup.
Screen physical size is set to a random value before the RandR code gets
control, override that and reset it to a value based on the compat_output
physical size (if available). If that output has no physical size, just use
96dpi as the default resolution and set the physical size as appropriate.
(cherry picked from commit 843077f23a1b49bd712d931421753e3a09d4008c)
2007-03-05 23:37:11 -08:00
Keith Packard 47f8361c3a Add xf86SetDesiredModes to apply desired modes to crtcs.
xf86SetDesiredModes applies the desired modes to each crtc (as selected by
xf86InitialConfiguration initially and modified by successful mode settings
afterwards). For crtcs without a desired mode, pScrn->currentMode is used to
select something workable.
(cherry picked from commit bcade98ccaa18298d844a606cb44271f0254c185)
2007-03-05 22:23:19 -08:00
Keith Packard 33d2cf93fb Move xf86SetSingleMode into X server from intel driver.
This function applies a single mode to the screen (as from RandR 1.1,
XFree86-VidModeExtension or XFree86-DGA) using a policy that selects one
output to reconfigure to the requested mode and then makes all other outputs
fit within that size.
(cherry picked from commit 5a595c1f767a8d666348b845d18934aee0cfe38f)
2007-03-05 20:18:56 -08:00
Ben Byer fe7b8f4237 began to factor out code to move to darwinEvents.c 2007-03-05 03:48:27 -08:00
Ben Byer 537dc5ecde started moving new input code into darwinEvents.c so that it may be shared by the three servers 2007-03-05 02:30:56 -08:00
Dave Airlie 8ba5e8d820 add a standard connector type and name for us as an output property 2007-03-05 13:46:41 +11:00
Dave Airlie 2e31872e05 modes: add commit/prepare hooks 2007-03-05 13:44:21 +11:00
Keith Packard 06b01186f6 Remove debugging ErrorF from rotation code.
(cherry picked from commit e6af7569f201842b4754aec6e72b30dc2daefdfb)
2007-03-04 17:35:04 -08:00
Keith Packard c14507b683 Handle non-zero origin rotated crtc. Damage crtc area on re-rotate.
Box transformation from source to dest area was broken, leaving the wrong
areas painted when the crtc origin was non-zero.

When rotating from left to right, the pixmap doesn't get reallocated, and so
no damage was left in the pixmap from xf86RotatePrepare. Separately damage
the whole crtc area when this occurs to repaint the area.
(cherry picked from commit 2a50ca2160bc05af1c24421ec079e902ff730277)
2007-03-04 17:34:54 -08:00
Drew Parsons 97978b515b Xprint: fix font symlinks
Change symlinks to Xprint base fonts in model/PSdefault using local
relative links.  This facilitates moving the Xprint config files, for
instance for FHS compliance placing data files in /usr/share rather
than /usr/lib.  Also ensures NewCenturySchlbk-BoldItalic.pmf is
installed.
2007-03-04 21:05:12 +11:00
Ben Byer 215e3691b7 stopped using XTrans internals in X11.app because they're apparently no longer public 2007-03-03 21:52:56 -08:00
Ben Byer ea8dcc458e Makefile fix for X11.app 2007-03-03 21:51:20 -08:00
Ben Byer 1850821259 fixed X11.xcodeproj to get CFLAGS and LDFLAGS from autoconf script 2007-03-03 21:41:33 -08:00
Ben Byer 7f2b9f3790 autoconf fixes for XDarwin (created DARWIN_LIBS) 2007-03-03 19:27:53 -08:00
Aaron Plattner ea1a72946d Add a canGrow argument to xf86InitialConfiguration.
canGrow indicates to the DDX that the driver can enlarge the desktop via the
xf86_config->funcs->resize hook.  If so, xf86InitialConfiguration will set
virtual[XY] to match the configuration it chooses and will leave the crtc config
size ranges alone.  If FALSE, it will bloat the screen to fit the largest probed
mode and also set the crtc config max size to limit the desktop to the initial
virtual[XY] size.
2007-03-02 12:06:54 -08:00
Aaron Plattner 04d15da95d Add a screen resize hook to xf86CrtcConfigRec.
This hook is called when the DDX needs to resize the screen.  The driver is
responsible for changing virtualX and virtualY, along with any other related
screen properties (devPrivate.ptr, devKind, displayWidth, etc.).

Use the size range from the crtc config instead of randrp->virtual[XY] when
reporting the min and max screen sizes to the DDX.
2007-03-02 12:06:54 -08:00
Ben Byer 2dafc46e3d Fixed pointer events in Xquartz -- Keyboard events work, but
the keycodes are incorrect.
2007-03-01 17:44:39 -08:00
Ben Byer 39ecd6fff4 Rewrote parts of the Xquartz event-handling code (thanks daniels and whot!)
It should still be considered a work in progress, but mouse events almost work.
2007-03-01 01:45:19 -08:00
Jay Cotton 90ca76ba28 Add sun_apm.c for Suspend-and-Resume support on Solaris
<http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6205248>
2007-02-28 17:40:58 -08:00
Ben Byer d9bcb22d19 Merge branch 'master' of git+ssh://bbyer@git.freedesktop.org/git/xorg/xserver 2007-02-27 16:28:20 -08:00
Ben Byer 272d9341d0 fix for hw/darwin/Makefile.am to properly use XSERVER_LIBS 2007-02-27 16:27:26 -08:00
Eamon Walsh c16343ac2c Make mfb, cfb, and afb support configurable at build-time. 2007-02-27 14:14:47 -05:00
Alan Coopersmith 5680efc0d2 Sun bug 6529003: Xorg should not be including <sys/immu.h> on Solaris
<sys/immu.h> was removed from the latest Solaris Nevada build, but it's
been useless to Xorg for a long time (it only declared a couple of kernel
variables)
<http://bugs.opensolaris.org/view_bug.do?bug_id=6529003>
2007-02-27 09:56:40 -08:00
Ben Byer ab0fc8c1ad verbiage corrected per daniels 2007-02-27 00:14:35 -08:00
Ben Byer cdd4c84572 added hw/darwin/README.apple file with some todo items and props. 2007-02-26 23:57:02 -08:00
Ben Byer 776d4d6587 X11.app now builds correctly 2007-02-26 23:40:00 -08:00
Ben Byer 154d2c13f4 more changes for X11.app 2007-02-26 19:39:26 -08:00
Ben Byer fa06e11f97 added hw/darwin/apple directory, which contains source and data files to build
a version of the X11.app shipped with Mac OS X, using the X.org server.
2007-02-26 17:06:53 -08:00
Jay Estabrook a16360733e Fix root bus/domain selection on alpha 2007-02-25 21:00:25 +00:00
Adam Jackson 566610680c Don't install libi2c.a 2007-02-23 15:20:35 -05:00
Michel Dänzer 3344a4eda7 DRI: Make sure number of DRI windows is accurate in driver ClipNotify hook.
Always call DRI{De,In}creaseNumberVisible (which in turn calls
DRIDriverClipNotify) after updating pDRIPriv->nrWindows.
2007-02-20 19:21:25 +01:00
Michel Dänzer 3c7a27dc77 DRI: New ClipNotify driver hook.
The hook is called whenever the clipList of any DRI window changes, be it via
DRIClipNotify, DRICreateDrawable or DRIDrawablePrivDelete. This allows the
driver to keep track of which DRI windows are visible where.
2007-02-20 19:21:25 +01:00
Michel Dänzer eedf148e5a Track number of visible DRI windows separately for transitions.
This allows e.g. doing page flipping with multiple DRI windows as long as
only one of them is visible.
2007-02-20 19:21:25 +01:00
Keith Packard 5631a67f64 Don't set subpixel order during startup; the screen won't be ready.
in xf86CrtcSetMode, scrn->pScreen will be NULL during server startup time,
so don't try to set the subpixel order. subpixel order will be set in the
randr initialization anyways.
(cherry picked from commit 5f6f8616d862ce4a37f6d3df4bdbc44fd21cc82a)
2007-02-17 17:40:35 -08:00
Keith Packard 096965ec9c Ensure drivers can use new modes header files.
New modes header files required a few minor changes to be used by external
drivers, the most notable of which is the publication of the config file
parser header files.
2007-02-17 15:16:44 -08:00
Keith Packard 55797dd252 Respect rotation in initial screen size computation. 2007-02-17 15:16:34 -08:00
Keith Packard e4507825bf Enable startup-time rotation; change rotation pixmap creation API.
Add monitor "Rotate" option taking one of "normal", "left", "inverted" or
"right". However, because initial mode selection is made before the screen
is completely initialized, we cannot create the shadow pixmap object at this
point. Pend the shadow pixmap creation until the block handler.

Note that this code is not completely functional yet.
2007-02-17 15:16:20 -08:00
Ben Byer 81876bc5dd oops, missed a spot 2007-02-17 04:07:11 -08:00
Ben Byer d287b76471 cleaned up some linking ugliness in hw/darwin/quartz 2007-02-17 03:47:42 -08:00
Ben Byer 81444486be autoconf goodness for XDarwin, courtesy of pogma 2007-02-17 02:23:11 -08:00
Ben Byer cf4994b0db dix mods for Darwin 2007-02-17 01:21:43 -08:00
Ben Byer 93777c7b96 more patches to make the Quartz part of XDarwin work again
(thanks Peter and Torrey!)
2007-02-17 00:22:39 -08:00
Ben Byer 612144c811 More build fixes / updates for XDarwin:
quartz/cr: "Cocoa Rootless" support (deprecated in favor of xpr?)
   quartz/fullscreen: Fullscreen support using Xplugin (not yet functional)
2007-02-17 00:09:58 -08:00
Daniel Stone 68d39d8571 kdrive/ephyr: fix keysym type confusion once and for all
Take keysyms in as an XID in hostx_load_keymap() and explicitly
convert them to CARD32 for loading into the server.  Fixes Xephyr on
AMD64, wa-hey.
2007-02-16 23:02:46 +02:00
Daniel Stone 5507cb885d kdrive: delete input debugging, yet again ...
I have no idea how this keeps on coming back.
2007-02-16 23:02:45 +02:00
Ben Byer 84efe23ae8 updated darwin/quartz/xpr (libXplugin interface for Mac OS X) support 2007-02-16 04:37:38 -08:00
Keith Packard f350909d16 Kludge around duplicate code added in hw/xfree86/modes.
Code added in hw/xfree86/modes came from the server-1.3-branch.
Portions of this code had previously been integrated into xf86Mode.c
and edid_modes.c.

To preserve hw/xfree86/modes as much as possible, the duplicate code from
the other files has been disabled; a more careful review would figure out
where that code actually belonged.
2007-02-15 21:50:48 -08:00
Keith Packard 258beebc77 Report correct RandR 1.0 sizeID. Report correct subpixel order.
RandR 1.0 sizeID must be computed the same way every time, so when reporting
it in the ScreenChangeNotify event, just construct the usual 1.0 data block
and use that.

subpixel geometry information can be computed by looking at the connected
outputs and finding any with subpixel geometry and using one of those for
the global screen subpixel geometry. This might be improved by reporting
None if more than one screen has information and they conflict.
2007-02-15 20:37:44 -08:00
Keith Packard ef6b1235fd Allow new modes code to build inside drivers as well as server.
Use config.h for driver builds where xorg-config.h isn't available.
2007-02-15 20:37:19 -08:00
Tilman Sauerbeck 3dbe8f6b6e Distribute hw/xfree86/modes. 2007-02-15 20:37:09 -08:00
Keith Packard d4eb4d0650 Merge crtc/output-based mode selection code.
This code comes from the intel driver, so there's no history in this tree.

As the crtc/output-based mode selection code uses ddc, the ddc and i2c
modules have been merged into the server. Attempts to load them are safely
ignored now.
2007-02-15 20:36:20 -08:00
Daniel Stone 0f6dd4aea6 kdrive/ephyr: free screen struct
Free screen->driver on screenFini, instead of just leaking it.
2007-02-15 16:14:57 +02:00
Ben Byer 9ecf79ca01 Beginnings of an update Darwin driver 2007-02-15 05:22:21 -08:00
Ben Byer 136bb4874a iokit support for XDarwin 2007-02-15 05:14:38 -08:00
Ben Byer 3ead1afe78 Beginning of patches to add XDarwin support to the modular tree;
special thanks to Torrey Lyons and Peter O'Gorman for making this possible.

This is the automake framework for the XDarwin.app interface files.
2007-02-15 05:09:29 -08:00
Alan Coopersmith a492d494f5 Update Xvfb man page: remove monolith build instructions, use /var/tmp instead of /usr/tmp 2007-02-13 18:32:59 -08:00
Adam Jackson a23b0b069c Typo fix. 2007-02-12 17:50:00 -05:00