Commit Graph

486 Commits

Author SHA1 Message Date
Adam Jackson ae7f71a8b3 Implement core protocol backing store exclusively in terms of Composite.
Composite's automatic redirection is a more general mechanism than the
ad-hoc BS machinery, so it's much prettier to implement the one in terms
of the other.  Composite now wraps ChangeWindowAttributes and activates
automatic redirection for windows with backing store requested.  The old
backing store infrastructure is completely gutted: ABI-visible structures
retain the function pointers, but they never get called, and all the
open-coded conditionals throughout the DIX layer to implement BS are gone.

Note that this is still not a strictly complete implementation of backing
store, since Composite will throw the bits away on unmap and therefore
WhenMapped and Always hints are equivalent.
2007-08-25 15:08:20 -04:00
David Nusinow bf0883ae50 Fix bug in debugging info related to pci-rework merge 2007-08-25 14:53:17 -04:00
Aaron Plattner 1ab4b3e183 Bump video driver ABI for pci-rework. 2007-08-24 16:00:31 -07:00
Ian Romanick 8b6b40b727 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/common/xf86.h
	hw/xfree86/common/xf86Init.c
	hw/xfree86/common/xf86pciBus.c
	hw/xfree86/int10/generic.c
	hw/xfree86/int10/helper_exec.c
	hw/xfree86/loader/xf86sym.c
	hw/xfree86/os-support/bus/Pci.c
	hw/xfree86/os-support/bus/Pci.h
	hw/xfree86/os-support/bus/linuxPci.c
	hw/xfree86/os-support/linux/int10/linux.c
2007-08-23 18:19:17 -07:00
Julien Cristau 13949f9972 Get rid of the type1 font module.
It is completely replaced by freetype these days.
2007-08-23 11:27:33 +02:00
David Nusinow c839859d1b Move module defaults from the header to the source file.
This is where they should have been in the first place. All the rest of
the code in the server defines such things in the source files, not the
headers.
2007-08-20 21:09:27 -04:00
Daniel Stone 0e0174d45e XFree86: Allow disabling of HAL
If NoAutoAddDevices is given as a server flag, then no devices will be added
from HAL events at all.  If NoAutoEnableDevices is given, then the devices will
be added (and the DevicePresenceNotify sent), but not enabled, thus leaving
policy up to the client.
2007-08-01 03:33:06 +03:00
Daniel Stone cd8e99e56e Input: Don't enable devices when we open them
Thanks to Xi's braindead design, it's otherwise impossible to query input
devices without enabling them.  Hurrah.
2007-08-01 03:33:06 +03:00
Daniel Stone 89f628394f XFree86: Input: Fix whitespace 2007-08-01 03:33:05 +03:00
Daniel Stone a93033b0bc XFree86: Module: Bump input version
config_info changes the size (and ordering) of DeviceIntRec, so bump the
input major.
2007-08-01 01:53:31 +03:00
Daniel Stone 7c9e8fd56e Input: Allow enabling and disabling of devices
Add DEVICE_ENABLE to KDrive and XFree86 to allow us to enable and disable
devices on the fly.
2007-08-01 01:53:31 +03:00
Daniel Stone 4d3379d418 Fonts: Fix builtin fonts
Make sure the font path is always 'built-ins' when we use built-in fonts,
rather than having it as a fixed path for a while, then clobbering it
halfway through startup.
2007-08-01 01:53:31 +03:00
Adam Jackson 21bbd7d64b Delete some pre-dlloader debugging scaffolding.
If your loader is as bad as elfloader, then it makes sense for the
server to have some stubs for you to assign to / break on.  However it
is no longer 1996.
2007-07-18 15:45:11 -04:00
Adam Jackson 1f71f0c057 Remove (long-)deprecated xf86EnablePciBusMaster. 2007-07-18 15:44:45 -04:00
Adam Jackson 0a63d874e9 Always normalize the module name. 2007-07-18 15:44:45 -04:00
Adam Jackson 9a1c6afd12 Remove dead code for screen crossing. 2007-07-18 15:44:44 -04:00
Adam Jackson 8ca2fe8914 Delete dead module test code. 2007-07-18 15:44:44 -04:00
Adam Jackson e2413cc7ca Remove MEMDEBUG
This existed (but may not have worked) in the monolith, but is gone now.
2007-07-18 15:43:40 -04:00
Adam Jackson d1d65a8415 Dead ifdefs for BITMAP_SCANLINE_UNIT == 64
This appears to be a legacy of cfb24 not being smart enough to deal with this
case.  But since cfb24 unexists, die die die.
2007-07-18 15:42:30 -04:00
Adam Jackson cbe74394a5 Nuke dead X -configure code. 2007-07-18 15:39:44 -04:00
Keith Packard ac979c1651 MakeAtom needs length without trailing NUL. sizeof("string") includes NUL.
I made a mistake in some new code using MakeAtom, passing the size of the
string instead of the length of the string. Figuring there might be other
such mistakes, I reviewed the server code and found four bugs of the same
form.
2007-07-14 12:13:17 -07:00
Keith Packard 881a620b4d When sync'ing logfile, also flush it.
When the logfile is set to sync, the actual sync occurs whenever the log
file is flushed. If the log file is not also set to flush, no syncing
occurs.
2007-07-14 09:03:46 -07:00
Alan Coopersmith 031b009ea6 Use %S instead of %s for strftime seconds when printing build time 2007-07-13 14:54:45 -07:00
Alan Coopersmith 6b4231e3b5 Use kbd driver when xorg.conf specifies "keyboard" or "Keyboard" (bug #11301)
X.Org Bug #11301 <https://bugs.freedesktop.org/show_bug.cgi?id=11301>
Sun Bug #6560332 <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6560332>
2007-07-12 16:36:27 -07:00
Adam Jackson e316fa59fe Add per-monitor config file option for maximum pixel clock. 2007-07-10 14:20:55 -04:00
Adam Jackson 4d76075dbb Death to RCS tags. 2007-06-29 14:06:52 -04:00
Adam Jackson f7f3fe7fe7 Remove the remnants of OS/2 support.
This has never worked in any modular server release, and as far as I know
was never tested in 6.7 through 6.9.
2007-06-28 18:59:05 -04:00
Tiago Vignatti 38f8e53668 Janitor work. Remove 'defined but not used' warnings from xorg and other cosmetic. 2007-06-27 03:19:37 -03:00
Peter Hutterer 4c601b904e configFiles(): don't return anything when declared as void. 2007-06-25 10:53:05 +09:30
Peter Hutterer bec4e47d12 NULL-terminate device list when synthesizing core devices.
This fix is required for 93ca526892 to work.
2007-06-25 10:51:42 +09:30
Peter Hutterer 93ca526892 Split up memory for devices configured in the config file.
If we're using a continuous block here, we segfault when a device removal
triggers an xfree call.
2007-06-25 09:35:30 +09:30
Ian Romanick ab7a6d860d Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/os-support/bus/Pci.c
	hw/xfree86/os-support/bus/linuxPci.c
2007-06-18 16:51:13 -07:00
Lennart Buytenhek 831d3b7f8d Compile fixes for Linux ARM platforms. 2007-06-18 12:05:55 -04:00
Zephaniah E. Hull 562ca3f2f9 In NewInputDeviceRequest, only call EnableDevice if xf86Screens[0]->vtSema is
true, preventing unwanted behavior in the case where a device is added while
the user is in a different VT.
2007-06-18 12:00:49 -04:00
Clark Rawlins 8d5f4368ea Really make sure BUILD_TIME doesn't have a leading zero.
date +'%k%M%S' still gives a leading zero in the hour after midnight...

Add a leading 1 and remove it in xf86PrintBanner().
2007-06-11 16:53:38 +02:00
Zephaniah E. Hull 75dece08fb xf86PostMotionEvents[P] calls xf86SendDragEvents, xf86SendDragEvents
unconditionally checks device->button->buttonsDown.

Let's make it possible to have a device with motion, but no buttons.

Without segfaulting.
2007-06-04 09:09:20 -04:00
Zephaniah E. Hull fbb9b20395 Let's not do a calloc and a free on every call to xf86PostMotionEvents. 2007-06-04 06:59:42 -04:00
Zephaniah E. Hull 3f4295e643 Add xf86PostMotionEventP, takes a pointer instead of a variable number of
arguments.

Bump input ABI to 1.1 since we export this.
2007-06-04 06:48:06 -04:00
Zephaniah E. Hull 0cbc3a4da2 Print the build time as well as the date if we can. 2007-06-04 02:03:44 -04:00
Daniel Stone 9a7aaeb3f6 XFree86: Input: Assume core events per default
Assume that a device will be sending core events, unless explicitly
specified otherwise.
2007-06-03 18:38:53 +03:00
Daniel Stone 94361cbba7 XFree86: Input: Perform case-insensitive comparisons on option names 2007-06-03 18:38:42 +03:00
Adam Jackson 90eb22656c Minor cleanup/robustification to config parsing. 2007-06-02 16:49:26 -04:00
Adam Jackson f6a983533b Don't warn about default behaviour when autoconfigging. 2007-06-02 16:37:39 -04:00
Henry Zhao 66702f3c1c Need to use minPitch in miScanLineWidth() to get the shrinked
linePitch.
2007-06-01 23:55:40 -07:00
Matthieu Herrb ee20c481ee Remove wscons keyboard handling stuff that doesn't belong there anymore. 2007-05-29 14:54:27 -06:00
Bastian Blank 2267bf48b3 Fixes for s390 2007-05-28 21:55:05 -04:00
Keith Packard 6a870992d8 xf86XVFillKeyHelper assumed root clip never changed.
When the root window changed size, xf86XVFillKeyHelper would not revalidate
the GC, leaving the clip at the old size causing lossage (and possibly
memory corruption if the screen and frame buffer shrank).

Fixed by just using a scratch GC; saving memory, eliminating bugs and
shrinking the code.
2007-05-25 20:33:18 -07:00
Michel Dänzer 649e7f82d8 Consolidate portPriv->pDraw assignments into xf86XVEnlistPortInWindow.
This avoids a crash in xf86XVReputVideo and also cleans up the code slightly.
2007-05-24 12:10:05 +02:00
David Nusinow ff2eae86b6 Fix boolean thinko that prevented working without a server layout 2007-05-21 22:10:55 -04:00
David Nusinow 021e5df85d Add more informative logging for module default loading
When the modules section is parsed, if a module is set to be loaded by
default, this will be logged. If it is redundantly specified in xorg.conf,
this will also be noted. None of this logging will happen if the xorg.conf
lacks a modules section.
2007-05-07 21:09:01 -04:00
David Nusinow 030a578391 Provide UseDefaultFontPath option
This provides a new option, UseDefaultFontPath. This option is enabled by
default, and causes the X server to always append the default font path
(defined at compile time) to the font path for the server. This will allow
people to specify additional font paths if they want without breaking
their font path, thus hopefully avoiding ye olde "fixed front" problem.

Because this option is a ServerFlag option, the ServerFlags need to be
processed before the files section of the config file, so swap the order
that they are processed.
2007-05-03 22:51:32 -04:00
David Nusinow e91b9ddc7a Improve modules loading defaults
Provide default modules that may be overrided easily. Previously the
server would load a set of default modules, but only if none were
specified in the xorg.conf, or if you didn't have a xorg.conf at all. This
patch provides a default set and you can add only the "Load" instructions
to xorg.conf that you want without losing the defaults. Similarly, if you
don't want to load a module that's loaded by default, you can add "Disable
modulename" to your xorg.conf (see man xorg.conf in this release for
details). This allows for a minimal "Modules" section, where the user only
need specify what they want to be different. See bug #10541 for more.

The list of default modules is taken from the set loaded by default when
there was a xorg.conf containing no "Modules" section.

A potential problem for some users is that some users disable a module,
most notably DRI, by commenting out the "Load" line in their xorg.conf.
This needs to be changed to an uncommented "Disable" line, as DRI is
loaded by default.
2007-05-03 22:00:23 -04:00
Peter Hutterer 09436fb7c3 Disable devices before removing, remove unrecoverable devices. 2007-04-24 23:11:44 +09:30
Peter Hutterer c7e2ba0c9b Use DevicePresence events to tell the client about enabled/disabled devices.
Include the device id in the event sent to the client.
2007-04-24 23:11:44 +09:30
Daniel Stone 33a5d9605e XFree86: DGA: Don't call ProcessInputEvents from CloseScreen
By the time CloseScreen gets called, we can't call ProcessInputEvents, as
the event queue will get unhappy.  So just unregister our hooks instantly,
and hope that they don't get called.
2007-04-11 18:28:57 +03:00
Remigiusz Marcinkiewicz aecbc71214 Input: Allow a pointer to a device to be returned in NIDR
Allow a pointer to the first device added to be returned, so we know which
device(s) were added by the NIDR call.
2007-04-11 00:38:16 +03:00
Magnus Vigerlöf 82962bbae2 Input: Add DeleteInputDeviceRequest
Add DIDR, which asks the DDX to remove a device, analogous to
NewInputDeviceRequest.  Only implemented for XFree86 at the moment.
2007-04-10 23:58:20 +03:00
Magnus Vigerlöf 7b82a836c6 XFree86: Fix memory leaks, option parsing, in NewInputDeviceRequest
Plugged some possible memory leaks, and added some more checks on the
options, particular for driver/identifier.  Added an unwind.
2007-04-10 23:58:20 +03:00
Magnus Vigerlöf 4771fa8747 XFree86: Fix memory leak in option parsing
Fix option parsing functions and callers thereof to not leak memory.
2007-04-10 23:58:20 +03:00
Daniel Stone 4beeab8424 XFree86: Treat evdev and vmmouse as mouse drivers (bug #10512, #10559)
When we see an evdev or vmmouse section, assume that it's a mouse, and
don't add a default mouse device.  This will break users who have an
evdev keyboard section but no mouse, and want the mouse to get added
by default.
2007-04-08 13:39:06 +03:00
Aaron Plattner 5257b32e49 Bump video driver ABI to 2.0 for cw change (commit 6ed08949af). 2007-03-30 17:07:44 -07:00
Ian Romanick 2c6d471088 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/Makefile.am
	hw/xfree86/dri/dri.c
2007-03-28 08:08:04 -07: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 9a0f25de7c Static cleanups, dead code deletion. 2007-03-25 12:27:01 -04: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
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 cf4994b0db dix mods for Darwin 2007-02-17 01:21:43 -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
Ian Romanick 16eb7254f8 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework 2007-02-09 12:38:49 -08:00
Eric Anholt 8bce182568 Restore a few important lines killed in the previous commit.
Typical results were failure to sync, and a black screen.
2007-01-29 17:30:59 -08:00
Ian Romanick 3814862a86 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/os-support/bus/linuxPci.c
2007-01-29 15:14:31 -08:00
Eric Anholt 31f2d4a57e Bug #9680: Remove bogus blank length limiting in xf86SetModeCrtc().
Our modes typically come from EDID or default modes, and when the monitor
asks for a specific mode, deciding to tweak it usually results in incorrect
display.  And if the user is specifying a mode by hand, tweaking it then is
still pretty rude.

Reviewed by: ajax
2007-01-29 09:45:33 -08:00
Ian Romanick 39b51e1bfc Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework 2007-01-23 13:25:56 -08:00
Michel Dänzer 788cfce911 Bump video driver ABI version to 1.2.
This is necessary because server-1.2-branch bumped to 1.1 for xf86CVTMode and
we have xf86XVFillKeyHelperDrawable on top of that.
2007-01-23 10:15:22 +01:00
Ian Romanick 637b19b3ee Eliminate pciControlBridge, pciGetBridgeBuses, and pciGetBridgeResources. 2007-01-22 09:58:33 -08:00
Ian Romanick 88f248e671 Replace PciBusId with 'struct pci_device *'
There's no need to store the slot information for a PCI device as its
ID.  Instead, skip the middle man and just store a pointer to the
pci_device structure.
2007-01-17 14:04:43 -08:00
Ian Romanick 0361611080 Convert xf86IsolateDevice to a 'struct pci_slot_match'.
This change was accidentally not committed on the previous commit.
2007-01-17 13:06:04 -08:00
Ian Romanick c1808f1484 Convert xf86IsolateDevice to a 'struct pci_slot_match'. 2007-01-17 13:02:27 -08:00
Ian Romanick d2f8c42c48 Convert xf86FindPrimaryDevice to use a static buffer and snprintf.
Rather than allocate a 9 byte buffer on each invocation, use a static
16 byte buffer.  Use snprintf for safety.  This commit should probably
be cherry-picked to the trunk.
2007-01-17 12:59:17 -08:00
Ian Romanick 28976bebec Eliminate unused fields in pciAccRec. 2007-01-17 12:15:09 -08:00
Ian Romanick 31bd8d1507 Fix domain insanity.
Eliminate xf86GetPciDomain.  The domain from libpciaccess is the
domain.  Period.  This means that 0 is a valid domain.  Make sure that
INCLUDE_XF86_NO_DOMAIN is *not* set.  Always run in "domain mode,"
even if the only domain possible is 0.
2007-01-15 15:19:30 -08:00
Ian Romanick d8bd0c41de Convert to new pci_device_cfg_write_u* interface. 2007-01-15 11:38:22 -08:00
Ian Romanick 3936caa005 Refactor pciTagConvertRange2Host and pciConvertRange2Host. 2007-01-12 10:59:35 -08:00
Ian Romanick 60c5e023e8 Eliminate some dead code. 2007-01-12 10:24:03 -08:00
Ian Romanick dd12a94885 Eliminate xf86GetPciEntity from public interface.
xf86GetPciEntity was folded into the only place (xf86CheckPciSlot) in
the tree that still called it.
2007-01-12 10:21:25 -08:00
Ian Romanick da09964a93 Merge branch 'origin' into pci-rework
Conflicts:

	hw/xfree86/int10/generic.c
2007-01-09 15:27:34 -08:00
Marc Aurele La France 83080809f9 xfree86: deal with pitch that isn't a multiple of the granularity
When the pitch isn't a multiple of the granularity, allocate more space to
compensate.
2006-12-24 06:28:52 +02:00
Ian Romanick e1f73d2208 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/common/xf86Configure.c
	hw/xfree86/common/xf86Helper.c
	hw/xfree86/common/xf86pciBus.c
	hw/xfree86/int10/helper_exec.c
	hw/xfree86/os-support/bus/Pci.c
	hw/xfree86/os-support/bus/linuxPci.c
	hw/xfree86/os-support/linux/lnx_pci.c
	hw/xfree86/scanpci/Makefile.am
	hw/xfree86/utils/pcitweak/Makefile.am
	hw/xfree86/utils/scanpci/Makefile.am
2006-12-08 17:24:15 -08:00
Daniel Stone e59aeac1ff xfree86: remove stray debug line 2006-12-08 21:31:50 +02:00
Michel Dänzer 729fca33a4 Revert "xfree86 DDX: Delete DDX screens in ddxGiveUp()."
This reverts commit a6381e6984.

See https://bugs.freedesktop.org/show_bug.cgi?id=9224 .
2006-12-07 12:09:18 +01:00
Daniel Stone 8884a73a3f xfree86/input: re-add support for disabling drag events 2006-12-06 23:24:24 +02:00
Alan Coopersmith f9f7d7f3be Check for __sparc as well as __sparc__ for compatibility with Sun cc
(gcc defines __sparc__, Sun cc defines __sparc)
2006-12-04 13:36:30 -08:00
Michel Dänzer a6381e6984 xfree86 DDX: Delete DDX screens in ddxGiveUp().
This allows video drivers to clean up in the FreeScreen hook things they set up
in the PreInit hook.
2006-11-29 19:25:09 +01:00
Eric Anholt 16f8f10dc2 Move mode handling helpers from ddcProperty.c to xf86Mode.c. 2006-11-27 16:21:31 -08:00
Eric Anholt b4b0d901d9 Merge branch 'randr-1.2'
Conflicts:

	dix/events.c
	dix/getevents.c
	hw/xfree86/common/xf86Mode.c
	hw/xfree86/dri/Makefile.am
	hw/xfree86/os-support/drm/xf86drm.c
	hw/xfree86/os-support/xf86drm.h
2006-11-27 15:43:15 -08:00
Eric Anholt d6cd0313c7 Add some mode helper functions from the intel driver.
This also removes static from some other functions that had been copied out
to at least the intel driver, but perhaps others that were doing mode list
handling.
2006-11-27 14:46:50 -08:00