Commit Graph

1831 Commits

Author SHA1 Message Date
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
Eamon Walsh
23fc429aad Merge branch 'master' into XACE-SELINUX 2007-03-05 12:18:54 -05:00
Eamon Walsh
e684824709 devPrivates rework: redo interface and implementation. 2007-03-05 11:50:45 -05:00
Peter Hutterer
39aa791771 dix: Add GuessFreePointerDevice(). Runs through device list and tries to
find a pointer that hasn't been paired yet.

xfree86:  Use GuessFreePointerDevice() for newly connected non-sprite devices.
2007-03-05 15:31:16 +10:30
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
Peter Hutterer
1f0075786f Merge branch 'master' into mpx
Conflicts:

	configure.ac
	dix/getevents.c
	hw/xfree86/ramdac/xf86Cursor.c
	mi/mipointer.c
	xkb/xkbUtils.c
2007-03-05 12:37:17 +10:30
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
Peter Hutterer
e43b8a4e40 dix: Add ClientPointer to client, used for picking which pointer to use in
ambiguious request. PickPointer and PickKeyboard are used for getting
        the appropriate pointer when situation is unclear.
        Fix some issues with InitializeSprite.

dix, xfree86: Remove last traces of InitSprite.
2007-03-02 15:21:46 +10:30
Eamon Walsh
74f1de1de9 devPrivates rework: unhook resource system; will try a different approach. 2007-03-01 12:17:29 -05:00
Peter Hutterer
43bd35fcf8 dix: Remove InitSprite, work can be done by InitializeSprite.
Free sprite struct if a spriteOwner is paired.

xfree86: Use PairDevices instead of passing booleans around when creating a
         sprite.

Xext:    Switch back to using LookupPointer/KeyboardDevice instead of
         inputInfo.xyz.
2007-03-01 17:19:37 +10:30
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
Eamon Walsh
81372f9096 devPrivates rework: hook up new interface in resource system; add new
resource-adding function that takes an additional ScreenPtr argument.
2007-02-23 13:23:12 -05:00
Eamon Walsh
16f2b8892d devPrivates rework: add new interface implementation. 2007-02-23 13:22:46 -05:00
Peter Hutterer
bc4ae25433 xfree86: Don't initialize sprites for devices that don't own a sprite (stops
keyboard hotplug segfaults)
2007-02-23 12:06:51 +10:30
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
Eamon Walsh
04632835b7 Merge branch 'master' into my-XACE-SELINUX 2007-02-15 09:27:05 -05:00
Peter Hutterer
f6c3b9fa97 xfree86: mouse and keyboard hotplugging support. New mouse devices will get
new cursors,  keyboard devices use VCP's focus until paired.
2007-02-15 13:51:20 +10:30
Ian Romanick
c4fe1bcce1 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework 2007-02-14 15:39:52 -08:00
Ian Romanick
e540d572c5 Merge fix missed on previous commit. 2007-02-14 15:38:10 -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
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
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
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
Peter Hutterer
4aaaa70d1b Xi: Adding ChangePointerKeyboardPairing request
Adding PointerKeyboardPairingChanged event
	Correct error values for XWarpDevicePointer

dix:	Adding device argument to SendMappingNotify
	Adding spriteOwner flag to devices
2007-01-29 18:23:24 +10:30