Commit Graph

1873 Commits

Author SHA1 Message Date
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 a59c31b0f7)
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 558a4f5588)
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 3f5cedf00a)
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 843077f23a)
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 bcade98cca)
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 5a595c1f76)
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
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 e6af7569f2)
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 2a50ca2160)
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
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
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
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
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
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 5f6f8616d8)
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
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
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
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
Daniel Stone
17d85387d1 dmx, vfb, xnest: fix fbcmap compilation
Don't always define XFree86Server, but only for damn fbcmap.c.
Split fbcmap.c into its own library to achieve this.
2007-02-05 03:43:10 +02:00
Alan Coopersmith
5dcad9e9d7 Fix bus error on startup in 64-bit Xephyr
hostx_get_visual_masks takes unsigned long * arguments, but was being
passed pointers to CARD32's.
2007-02-02 14:45:16 -08:00
George Sapountzis
cf5b29d75d dmx: drop leftover __GLXdrawablePrivateRec struct. 2007-02-02 12:57:38 +02: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
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
Peter Hutterer
15a81b6325 Merge branch 'master' 2007-01-28 17:18:57 +10:30
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
Peter Hutterer
a7ab793293 xfree86: fix XI86_SHARED_POINTER flag setting 2007-01-08 17:31:16 +10:30
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