Commit Graph

1071 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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 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
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
Adam Jackson a23b0b069c Typo fix. 2007-02-12 17:50:00 -05:00
Adam Jackson 46784d24c1 Remove spurious LIBADD from xf4bpp 2007-02-12 17:18:29 -05:00
Aaron Plattner c4b7e9d1c1 Add an RDTSC implementation to the x86 emulator.
This instruction is being used in some debug VBIOSes.  This implementation
doesn't even try to be accurate.  Instead, it just increments the counter by a
fixed amount every time an rdtsc instruction in encountered, to avoid divides by
zero.
2007-02-06 15:45:05 -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
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
Jonathan Lim 1627af5449 Call linuxPciOpenFile() for r/w access if applicable.
Currently, the call to linuxPciOpenFile() is always made for read
only access which causes the subsequent mmap call to fail when the
memory is mapped read/write.

Xorg #9692
2007-01-26 13:00:45 +01:00
Alan Coopersmith cf7ca9d09c Plug memory leak in doLoadModule() 2007-01-24 20:20:48 -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
Michel Dänzer 14d6a9b327 fbdevhw: Only deal with RGB weight if default visual is True- or DirectColor. 2007-01-19 18:30:21 +01:00
Michel Dänzer 27a01e100b fbdevhw: Consider mode set equal to mode requested if virtual width is larger. 2007-01-19 18:28:05 +01:00
Alan Coopersmith 8b3a591cd3 Update pci.ids to 2007-01-18 snapshot
(includes a whole bunch of ATI device id updates)
2007-01-18 16:03:30 -08:00
Alan Coopersmith 0f0c321adf Make xf1bpp build correctly with compilers that don't support -include 2007-01-18 15:31:53 -08:00
Alan Hourihane 78f9592c11 lnx_ev56.c has to be built with -mcpu=ev56. Fix it. 2007-01-10 16:04:20 +00:00
Eric Anholt aab2ca2042 Try dlsym(RTLD_DEFAULT) first when finding symbols.
The previous mechanism failed when finding drm symbols now that libdrm has
moved to being linked by libdri instead of being linked into the server.
2007-01-04 10:16:08 -08:00
Aaron Plattner 66fa87292e Fix BSF and BSR instructions in the x86 emulator.
Patch courtesy of Michael Yaroslavtsev.
2007-01-03 13:47:01 -08:00
Michel Dänzer dc5eb45232 fbdevhw: Override RGB offsets and masks after setting initial mode.
This is a hack, but it should be a NOP for all the setups that worked before
and actually seems to fix some others...

Based on a patch by Peter Teichmann from
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338241 .
2006-12-31 17:59:44 +01:00
Michel Dänzer d077c0da47 fbdevhw: Use displayWidth for fbdev virtual width when appropriate.
The fbdev API doesn't allow setting the pitch explicitly, so we have to set
the virtual width to the pitch we're using for drawing. This fixes corruption
after changing the virtual width with RandR.
2006-12-31 17:23:31 +01:00
Michel Dänzer c385bcf0bd fbdevhw: Fix some issues with the previous commit.
Fix a TRACE_ENTER typo and only update the internal fbdev mode state cache
after actually setting a mode.
2006-12-30 16:44:31 +01:00
Michel Dänzer f6815cb68b fbdevhw: Consolidate modeset ioctl calling, report failure if it modifies mode.
The fbdev API allows the driver to 'accept' modes it doesn't really support by
modifying it to the nearest supported mode. Without this check, e.g. vesafb
would appear to accept all modes, even though it actually can't set any modes
other than the bootup mode at all.
2006-12-30 12:35:16 +01:00
Eric Anholt 083b790515 Switch the default migration heuristic for EXA to "always".
This has been what has been used the most successfully post-damagetrack.
The current thinking is that:
1) We should be able to accelerate basically everything.  So we don't need to
   try to migrate trees of pixmaps permanently out of framebuffer to speed
   CPU drawing up.
2) Migration is cheaper in the thrashing case, so we don't want to go to a lot
   of effort to try (and fail badly) to find a working set.
2006-12-28 13:21:25 -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
Alan Coopersmith e437f357b6 xorg.conf man page should say "XFree86-DGA", not "Xorg-DGA" 2006-12-19 16:38:34 -08:00
Alan Coopersmith 1b029fd896 Xorg & Xserver man page updates for 1.2 release
- Added -extension & +extension to Xserver man page
- Changed Xorg synopsis from X11R6 to X11R7
- Clarified Xorg ancestry description
- Moved Solaris to free/Open Source OS list
- Removed references to MetroLink module loader & getconfig
- Converted (1) to (__appmansuffix__) in a few more places
- Replaced http://www.freedesktop.org/cvs/ with http://gitweb.freedesktop.org/
2006-12-18 14:51:04 -08:00
Eamon Walsh f11dafaafc Convert callers of SecurityLookupDrawable() to dixLookupDrawable(). 2006-12-15 16:51:58 -05:00
Eamon Walsh 60cdc592fe Add new, combined dix lookup functions. 2006-12-14 14:46:03 -05:00
Eamon Walsh 6c46645cfc Naming change: Security*Access -> Dix*Access 2006-12-14 14:45:42 -05:00
Alan Hourihane b88ad820fa Set Int10Current->Tag for the linux native int10 module
Fixes bug #9296
(cherry picked from 731952c561a3972d09d1315f4fd31466e459ccb9 commit)
2006-12-13 12:18:22 +00:00
Adam Jackson fb8364bca3 Accept EDID > 1.3 but < 2.0 if we find it, assume it's compatible. 2006-12-10 11:24:05 -05:00
Jeremy C. Reed d56249a15e Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2006-12-08 15:52:37 -06:00
Jeremy C. Reed f1f8df1889 For MANDEFS, also replace __mandir__ for $(mandir) which includes
the prefix. Noticed wrong path to man pages on both Ubuntu and on
NetBSD with pkgsrc.
2006-12-08 15:51:44 -06: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
Daniel Stone d17ec01e83 remove CID support (bug #5553)
Remove CID from all our fontpaths.
(cherry picked from 69820a10e33e4582c192360996e866007114639d commit)
2006-12-06 23:24:23 +02:00
Alan Coopersmith abe5e079af Update pci.ids to 2006-12-06 from pciids.sf.net 2006-12-06 07:58:03 -08: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
Alan Coopersmith 82912ad770 Make solaris version of xf86OSRingBell return void like other OS'es 2006-11-30 20:13:52 -08:00
Aaron Plattner ee9bdd3f4a Add DIX_CFLAGS to util builds.
Fixes a build breakage when $(top_srcdir) != $(top_builddir) because
-I$(top_srcdir)/include is missing for the cvt, ioport, pcitweak, and scanpci
builds.

Signed-off-by: Adam Jackson <ajax@nwnk.net>
2006-11-29 12:02:38 -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 f62ac3ec39 Separate DDC mode list creation from MonPtr creation.
This will be used by the intel driver, and likely other RandR 1.2 drivers.
2006-11-28 11:13:43 -08:00
Eric Anholt fbd0944338 Replace bad mode name-setting code with xf86SetModeDefaultName(). 2006-11-28 11:13:43 -08:00
Eric Anholt 4ad0bde661 Clean up a bunch of long lines and trailing whitespace. 2006-11-28 11:13:43 -08:00
Eric Anholt 05778432dc Move code to get a mode list from EDID data from ddcProperty.c to edid_modes.c. 2006-11-28 11:13:42 -08:00
Eric Anholt 38ecc66cd9 Typo that was missed in testing. 2006-11-28 11:13:42 -08: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
Aaron Plattner 64de3baf85 Add a -showDefaultLibPath option.
A corollary to the previous change, this option prints $libdir.
2006-11-22 14:46:51 -08:00
Aaron Plattner 0a2a6e4070 Add a -showDefaultModulePath option.
As discussed on the mailing list, people would rather have an X command-line
option to print the module path so installers can know where to put modules,
rather than the installers using `pkg-config --variable=moduledir xorg-server`,
since some distros choose not to install xorg-server.pc.
2006-11-22 14:43:37 -08:00
Dave Airlie e2f6dacc73 dri: setup libdrm hooks as early as possible.
This is due to radeon doing drm stuff before DRI extension gets initialised
2006-11-18 11:29:00 +11:00
Bjorn Helgaas ae3c9ad4ab Bug 9041: Check the return code in xf86MapDomainMemory(). 2006-11-16 17:29:06 +01:00
Eric Anholt 6ff7f2ad6a Fix build on FreeBSD after input-hotplug.
(cherry picked from commit 4e6e4baead)
2006-11-15 15:35:22 -08:00
Matthias Hopf 26d2e45bdb Bug #9023: Only check mice for "mouse" or "void" if identifier is != NULL. 2006-11-14 15:33:07 +01:00
Jeremy C. Reed a724b7f130 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2006-11-13 20:32:26 -06:00
Jeremy C. Reed 6facd958c2 On DragonFLy, default to /dev/sysmouse (just like on FreeBSD).
TODO: use autoconf to handle this so the code is not platform
based but feature based.
2006-11-13 20:23:06 -06:00
George Sapountzis 5bfe7f4dfc DRI: call drmSetServerInfo() before drmOpen().
Also, remove some libdrm remnants.
2006-11-13 01:54:32 +02:00
Eric Anholt 28337cc106 Fix typo before the last commit. 2006-11-09 19:51:17 -08:00
Eric Anholt e1720b1089 Bug #8868: Remove drm from SUBDIRS now that the directory is gone. 2006-11-09 18:53:37 -08:00
Keith Packard ec77a95a02 Allow RandR objects to be created before the associated ScreenRec.
xf86 drivers need to create RandR object in the PreInit stage,
before the ScreenRec is allocated. Changing the RandR DIX code
to permit this required the addition of functions that later associate the
objects with the related screen.

An additional change is that modes are now global, and no longer associated
with a specific screen. This change actually makes mode management cleaner
as there is no more per-screen list of modes to deal with.

This changes the RandR 1.2 ABI/API for drivers.
2006-11-08 21:36:35 -08:00
Dave Airlie fd91630b73 make X server use system libdrm - this requires libdrm >= 2.3.0
This patch blacklists the load "drm" line, moves some functions in dri module
links dri module against libdrm, and removes the X copy of libdrm
2006-11-09 09:30:33 +11:00
Adam Jackson 0409e1627a 'make dist' fixes. 2006-11-08 16:17:20 -05:00
Bram Verweij 0567a6337b xfree86/linux acpi: fix tokenising
Split on a space, rather on the 'video' string, as strtok takes a char,
not a string.
2006-11-08 18:00:52 +02:00
Daniel Stone e7900d68c3 remove trailing whitespace
Whitespace police in full effect.
2006-11-08 15:36:47 +02:00
Daniel Stone 2035f115b7 xfree86: remove xf86Keymap.h 2006-11-08 15:30:03 +02:00
Daniel Stone 809e2841aa xfree86: add general handler, port ACPI to it (bug #5665)
Add 'general' handler registration, which will not trigger DPMS when an
event comes in.
Make ACPI use this.
2006-11-08 15:30:03 +02:00