Commit Graph

2681 Commits

Author SHA1 Message Date
Otavio Salvador 863ba390e9 kdrive/fbdev: use operating system input devices 2007-12-14 13:15:27 +02:00
Arkadiusz Miskiewicz ca59d3f7bd Xprint: Clean up generated files
Remember to clean generated wrapper files.
2007-12-14 13:15:26 +02:00
Eamon Walsh a2df51f8e9 Bump video driver ABI and extension ABI for devPrivates rework. 2007-12-14 00:53:54 -05:00
Eamon Walsh 86b2e59bfb Merge branch 'master' into XACE-SELINUX
Conflicts:

	configure.ac

This is the last pull before merging to master.
2007-12-14 00:32:24 -05:00
Eamon Walsh 1c1a4bc970 devPrivates rework: more cleanup from previous merge operation. 2007-12-13 19:51:40 -05:00
Jeremy Huddleston cb0d7e2c26 Xquartz: Don't hardcode libexec dir
(cherry picked from commit 67b479ef80cb740a24981335eb8d596744168a62)
2007-12-13 16:29:40 -08:00
Jeremy Huddleston c39212fd73 Xquartz: Don't hardcode LaunchAgents dir
(cherry picked from commit 07a12d71fefd78c380078efa835700f2868ab204)
2007-12-13 16:29:09 -08:00
Ben Byer 82e1aff9fb Modified X11 plist to use x11-exec
(cherry picked from commit 7d9a11329e476f45e4d9f9aebcb43469321347c7)
2007-12-13 16:28:35 -08:00
Ben Byer 1a5910588a created x11-exec wrapper, which uses LaunchServices to find
(and then exec) X11.app
(cherry picked from commit fc04c9759b30d062111d4a7f3f411ed0f18cbde4)
2007-12-13 16:28:30 -08:00
Eamon Walsh c8feb73f58 Merge branch 'master' into XACE-SELINUX
Conflicts:

	Xext/EVI.c
	Xext/bigreq.c
	Xext/cup.c
	Xext/dpms.c
	Xext/fontcache.c
	Xext/mitmisc.c
	Xext/xcmisc.c
	Xext/xf86bigfont.c
	Xext/xtest.c
	configure.ac
	dbe/dbe.c
	hw/darwin/darwin.h
	hw/darwin/darwinEvents.c
	hw/darwin/iokit/xfIOKit.h
	hw/darwin/iokit/xfIOKitCursor.c
	hw/darwin/quartz/fullscreen/fullscreen.c
	hw/darwin/quartz/fullscreen/quartzCursor.c
	hw/darwin/quartz/quartz.c
	hw/darwin/quartz/quartzCommon.h
	hw/darwin/quartz/quartzCursor.c
	hw/darwin/quartz/xpr/dri.c
	hw/darwin/quartz/xpr/dristruct.h
	hw/darwin/quartz/xpr/xprCursor.c
	hw/darwin/quartz/xpr/xprFrame.c
	hw/xfree86/modes/xf86RandR12.c
	include/cursor.h
	miext/rootless/rootlessCommon.h
	miext/rootless/rootlessScreen.c
	miext/rootless/rootlessWindow.c
	render/picturestr.h

Trying to pick up the pieces from the darwin churn here...
2007-12-13 18:38:25 -05:00
Adam Jackson efcdc0d701 Correct the documentation comments in xf86Modes.c
Most of those functions do not, in fact, work with circular mode lists,
and by this point the API isn't really "proposed" anymore.
2007-12-13 15:38:41 -05:00
Adam Jackson 1768af38c7 Add infrastructure for validating modes by memory bandwidth. 2007-12-13 15:06:18 -05:00
Adam Jackson 4359193aaa Explain a confusing #ifdef. 2007-12-13 10:59:48 -05:00
Adam Jackson 8cedbb0a53 Clean up some #if 0. 2007-12-13 10:57:35 -05:00
Aaron Plattner a125ce4a84 Fix dist by including modeline2c.awk.
This was broken by commit cb44b6121c, which
removed modeline2c.pl from EXTRA_DIST without adding modeline2c.awk.
2007-12-12 12:24:29 -08:00
Aaron Plattner 6715923437 Get rid of xf86DefModes.c.
It's out of date and not included in the build.  Instead, xf86DefModeSet.c is
built from vesamodes and extramodes using modeline2c.awk and *that's* what gets
built.
2007-12-12 10:59:15 -08:00
Jeremy Huddleston eab0c4e490 Xquartz: Pre-process Xquartz man page
(cherry picked from commit dec2633c41dd0adf73264afdf251a6522d6ae76a)
2007-12-10 21:03:37 -08:00
Jeremy Huddleston 1ff945a8e4 Xquartz: Make Alt work with Xmodmap again
(cherry picked from commit 0e017177dcca7185716ca760dcce9ddedc7bfef9)
2007-12-10 21:03:30 -08:00
Jeremy Huddleston 7d61893b49 Xquartz: Removed Xplugin.h from EXTRA_DIST
(cherry picked from commit a746383eca77c9b9ea2cba0cf1c8fc39c0f7d536)
2007-12-10 20:34:40 -08:00
Ben Byer 8f2eff643b remove Xplugin.h, because we should use the one in /usr/include
(cherry picked from commit 3e881032f35f774ff9638678d7e3f77c81f62976)
2007-12-09 12:03:22 -08:00
Jeremy Huddleston 7b573ed436 Xquartz: Added missing link to libconfig.a
(cherry picked from commit 14ec1cf1cb7ebc183c05e13f9c2b4b4eed679ff3)
2007-12-09 12:02:15 -08:00
Jeremy Huddleston 020b0e92b0 Xquartz Added quartzKeyboard.h to EXTRA_DIST
(cherry picked from commit 37c9781fdb672229ceab101b080762e15512943f)
2007-12-08 11:49:55 -08:00
Ben Byer 5e016fa9b2 Added darwinEvents.h to EXTRA_DIST
(cherry picked from commit 45e5247564c423a2bf02cfec1993155858c91a14)
2007-12-08 11:33:54 -08:00
Jeremy Huddleston 6bb5dacc17 Xquartz: Actually add quartzForeground.[hc]
Sorry for the commit spam... I'm tired and was overly quick to commit... forgot to include a neccessary file.
(cherry picked from commit e564b7aeaab63e4c943445275af680b3b5898a94)
2007-12-08 01:42:03 -08:00
Jeremy Huddleston 02df036670 Xquartz: Actually, it should be org.x.X11 for case-sensitive FS
(cherry picked from commit c5ccb98d5d461c8a22fc0f3942a607ac90e1e37e)
2007-12-08 01:28:49 -08:00
Jeremy Huddleston 740cc54f08 Xquartz: Use org.x.X11 instead of com.apple.X11 for preferences
Fixed inconsistency so preferences get read from the correct source.
(cherry picked from commit a74c38bd9f28735acd602d359d7ca6357aed1e93)
2007-12-08 01:25:13 -08:00
Jeremy Huddleston 41a0aeaae9 XQuartz: Fixed "Multiple Dock Icons"
BAM!
(cherry picked from commit d0dca8a88506f50b51f41f99a2f1feb6954c8a31)
(cherry picked from commit 0502955a2af487b51bf22916ac02e497c2d96aba)
2007-12-08 00:35:14 -08:00
Jeremy Huddleston a1b0346853 XQuartz: Cleaned up configure, X11.app path in launchd script
Don't hardcode X11.app's path in the launchd plist.
Only install the launchd plist if we --enable-launchd.
(cherry picked from commit 6b74c535dc331d1d621b2541492a3336f69d70a2)
2007-12-07 23:26:11 -08:00
Jeremy Huddleston 0ad1c359c5 Darwin: Use __APPLE__ instead of __DARWIN__
(cherry picked from commit 54654815fa5e59b25cfd1fa72610120b72c10175)
2007-12-07 18:54:58 -08:00
Brice Goglin 85ed0bb440 Add a missing linebreak after LoadModule: "foo"
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=454742
2007-12-08 02:53:51 +01:00
Jeremy Huddleston c238ef06a2 Darwin: Dead coded removal
Kill off assert macro
(cherry picked from commit d6493abedb2caf03b2bc3a6440b637df67eff081)
2007-12-07 14:08:31 -08:00
Jeremy Huddleston 8a8239f2e2 Darwin: Renamed DarwinModeBlah to QuartzBlah
(cherry picked from commit 08ebf86d379b1ddfb08df65d29aea5df66de4327)
2007-12-05 21:26:16 -08:00
Jeremy Huddleston bc65a24393 Darwin: Flattened quartz into darwin, renamed darwin xquartz
Leaving xpr unflattened since we want modularity to replace that with xpc (XPluginComposite) at some point
(cherry picked from commit 48e6a75fbdd0fee86e364f02ace83f20b312a2b2)
2007-12-05 20:32:40 -08:00
Jeremy Huddleston e00f7061b2 Darwin: Cleaned up keyboard interface headers
(cherry picked from commit 141f69dc3d8d6e7d8ff65607f43700ac11243041)
2007-12-05 20:31:36 -08:00
Andrew Oakley cb44b6121c Fix commit aa0dfb3f42
From bugzilla bug 13467¹:

Currently the xserver fails to build without this (now deleted) file, as the
Makefile tries to distribute it.  The patch simply removes the reference to
modeline2c.pl.

1] http://bugs.freedesktop.org/show_bug.cgi?id=13467

Signed-off-by: James Cloos <cloos@jhcloos.com>
2007-12-05 20:23:05 -05:00
Daniel Stone 320abd7d1d XKB: Actions: Don't run certain actions on the core keyboard
Don't run VT switches, terminations, or anything, on the core keyboard: only
run actions which affect the keyboard state.  If we get an action such as VT
switch, just swallow the event.
2007-12-05 19:37:48 +00:00
Hong Liu c6cfcd408d Bug 13308: Verify and reject obviously broken modes. 2007-12-05 17:48:28 +01:00
Jeremy Huddleston 8d0efe4c2a Darwin: Rework build system to more accurately reveal code infrastructure and facilitate future modularity.
(cherry picked from commit e8399fd4d66a2b77b770c277e2fa424229a721b2)
2007-12-04 18:00:28 -08:00
Jeremy Huddleston cc98a8e241 Darwin: RIP dumpkeymap, cr, and fullscreen
Taking out the trash.
We don't need dumpkeymap since we'll be getting keymaps straight from the OS. .Xmodmap should be sufficient for any user-needed changes.  If this is not
the case, please let us know, so we can address any problems you have.
fullscreen never worked AFAIK
cr isn't being used and xpr is much better.
(cherry picked from commit e41af2967e885466c4d194fa4c3b358e6be37c30)
2007-12-04 16:41:57 -08:00
Adam Jackson 13af2d1efc Restore xf86getsecs() as not having an ANSI equivalent. 2007-12-04 17:36:21 -05:00
Jeremy Huddleston f8d7729df3 Darwin: Combine launcher and server X11.app
This should hopefully eliminate confusion some people have over which X11.app is which.
Now BOTH are in /A/U/X11.app and we intelligently determine whether to execute our app_to_run
or launch the server.  If arguments are given, we launch the server.  Otherwise if we can
connect to an X DISPLAY, we execute app_to_run.  Otherwise, we launch the server.

(cherry picked from commit e7026216ccaa8e4fb073800ba947c9909d4faada)
2007-12-03 20:22:01 -08:00
Dave Airlie 678f786715 xf86crtc: oh mon could be NULL, so check before quirks 2007-12-04 12:24:47 +11:00
Dave Airlie a9df4bb555 xf86Crtc: pass correct parameter.
quite how this has worked I've no idea.
2007-12-04 12:17:29 +11:00
Adam Jackson fe25f897c6 xf86getpagesize -> getpagesize elsewhere in os-support/ 2007-12-03 18:34:40 -05:00
Alan Coopersmith b84f2833a6 xf86getpagesize() -> getpagesize() in os-support/solaris/sun_bios.c 2007-12-03 14:52:46 -08:00
James Cloos aa0dfb3f42 Remove Perl dependency from the build
From bugzilla bug 13467¹:

The modeline2c script is the only part of the Xorg server that requires Perl.
[This] is a simpler replacement that works with any normal AWK.

1] http://bugs.freedesktop.org/show_bug.cgi?id=13467

Bug was posted by Joerg Sonnenberger <joerg@NetBSD.org>.
2007-12-03 16:57:58 -05:00
Alan Coopersmith b77ca7cc9c Use _X_EXPORT instead of __attribute__((visibility("default"))) 2007-12-03 11:31:21 -08:00
Adam Jackson 1faba797cb Death to libcwrapper.
This has been deprecated since 1.1.  Since we're breaking ABI again anyway,
remove it entirely.
2007-12-03 14:12:58 -05:00
Ben Byer 83ba1e167c added missing call to xcb_connect()
(cherry picked from commit dc2fb323ee11f081d447605be151024f9e2487f9)
2007-12-01 19:04:06 -08:00
Jeremy Huddleston 9ad4560b3c Darwin: Alt is Mode_switch Switching to Mode_switch to maintain compatibility with Tiger X11.
(cherry picked from commit 8a76c99c0ebbaf7375f3a9c75c4f7921a79024da)
2007-12-01 17:27:36 -08:00
Jeremy Huddleston f83d758dcc Darwin: properly implemented xcb check for stale sockets
(cherry picked from commit f543cb8fbb3d9213cb03396f4252ab9821319993)
2007-11-30 16:11:15 -08:00
Jeremy Huddleston f54b28eeba Darwin: Undo focus-hack which didn't work right. 2007-11-30 16:09:23 -08:00
Dave Airlie f30abe30c5 edid quirk for MAX 0x77e monitor
From RH bugzilla 306441
2007-11-30 13:53:21 +10:00
Jeremy Huddleston 8a079be0dd Darwin: #ifdefs around dix-config.h include and NDEBUG/assert.h workaround.
(cherry picked from commit d2b768890f0878ae4e3fec8f7219e82b79256133)
2007-11-29 02:21:16 -08:00
Jeremy Huddleston 3839756061 Darwin: Removed support for darwinSwapAltMeta
(cherry picked from commit 3d153c8fa40986d194b7701f5eafa0080e32399a)
2007-11-29 02:21:16 -08:00
Dave Airlie 89c3dfe41e modes: use xf86RandR12Index to stop illegal access
xf86RandR12Index set to -1, and if initialised it gets 0 or higher.
This allows the server to start with xinerama turned on with only one head
2007-11-29 19:57:24 +11:00
Dave Airlie 725710fd0b randr: make randr code not segfault when xinerama set 2007-11-29 19:40:53 +11:00
Adam Jackson 23b8ca8a37 RANDR 1.2: Only enable unknown outputs if there are no connected outputs.
Otherwise you end up with a confusing initial geometry, and xscreensaver
and friends get very angry.
2007-11-27 13:20:40 -05:00
Jeremy Huddleston 601307615e Darwin,Rootless: Makefile cleanup
(cherry picked from commit 9c6d8a035b712b219833653ac637b89703a9b0c3)
2007-11-26 14:49:32 -08:00
Eamon Walsh 54cb729ecc registry: Add a call for DTRACE compatibility. 2007-11-26 15:59:01 -05:00
Eamon Walsh decd5a7c60 registry: Rebase registry to use the server config file of protocol names. 2007-11-26 15:26:49 -05:00
Adam Jackson a344920ae8 Allow Virtual to be specified globally in the Screen section.
The Display subsections are optional, and it's confusing to need to create
them just to set a Virtual size.
2007-11-26 11:53:08 -05:00
Matthias Hopf c6c284e64b Initialize Mode with 0 in xf86RandRModeConvert.
Asking for trouble if non-initialized values contain random data.
2007-11-26 15:39:42 +01:00
Matthias Hopf f6401f944d Don't segfault if referring to a relative output where no modes survived. 2007-11-23 16:14:48 +01:00
Matthias Hopf fa19e84714 Fix initial placement of LeftOf and Above. 2007-11-23 16:14:48 +01:00
Matthias Hopf 184e571957 Adjust offsets of modes that do not fit virtual screen size.
Fixes memory corruption if a too small "Virtual" was specified in xorg.conf
for the selected multi-monitor configuration.
2007-11-23 16:14:48 +01:00
Jeremy Huddleston 63351df0ee Darwin: Fix compilation/linking problems 2007-11-22 18:02:07 -08:00
Jeremy Huddleston bf4ef4da75 Darwin: Remove the PaintWindow optimization which snuck back in. 2007-11-22 17:45:15 -08:00
Jeremy Huddleston 59c7ca6586 Darwin: Added missing Makefile.am 2007-11-22 13:29:15 -08:00
Jeremy Huddleston 23596291c3 Darwin: More syncing witn xorg-server-1.2-apple 2007-11-22 13:17:44 -08:00
Jeremy Huddleston ed9524d36e Darwin: Copied over missing file (Localizable.strings) from xorg-server-1.2-apple 2007-11-22 01:07:02 -08:00
Jeremy Huddleston 4d9cef197b Darwin: Misc cleanups to line up with xorg-server-1.2-apple 2007-11-22 00:35:09 -08:00
Jeremy Huddleston 5e950123da Darwin: Removed cvs tags from Xquartz man page 2007-11-21 23:32:00 -08:00
Jeremy Huddleston 3a2f714eea Darwin: Removed .svn dir 2007-11-21 23:30:37 -08:00
Jeremy Huddleston 602de4f70b Darwin: Use UTF8String since lossyCString is deprecated
(cherry picked from commit 1786f9464af51ff606a612aec6fe420fa9688a28)
2007-11-21 23:27:17 -08:00
Ben Byer 13666e287c Darwin: Added some DEBUG_LOG sauce to the XP_EVENT handling code
(cherry picked from commit ec84a4cef66a2b46ed71f9758c434ea629d2f270)
2007-11-21 23:26:15 -08:00
Ben Byer 829b6641bd Darwin: Disabled ALT_IS_MODE_SWITCH
(cherry picked from commit fd181254f85543558190140787dc7b41f6cf90db)
2007-11-21 23:23:44 -08:00
Ben Byer 8486f8af91 Darwin: Added a lightweight debugging facility to support troubleshooting
(for example) the stuck modifier key issue
(cherry picked from commit 0e0b452d10c0af55497c3299b5f3db45d5b381cb)
2007-11-21 23:18:46 -08:00
Ben Byer 8358334180 Darwin: Fixed the call to xp_init so that we now receive Motion notifications even
if X is not the active application.
fixes <rdar://problem/5167664> xeyes dead until window activation
(cherry picked from commit c7573379a85a1480cc51650075078e41dafe56af)
2007-11-21 23:16:27 -08:00
Ben Byer 512dee9087 Darwin: fix for spurious "Are you sure you want to quit?" message
(cherry picked from commit 30cbfc786e4fedda3fe070bacceabe1d9212d00b)
2007-11-21 23:15:26 -08:00
Ben Byer 28e73e99a9 Darwin: Adding "fake RandR" support from old X11.app
(cherry picked from commit 633490c4e8dab30af7ecbe1bef076c22ad5f5da9)
2007-11-21 23:14:21 -08:00
Ben Byer 01b70afaac Darwin: Initial support for Spaces -- if you use Expose to drag an X11
window to another Space, it will work correctly (as opposed
to just leaving a ghost window).  We accomplish this by listening
for the notification from Xplugin that our window has been moved,
and then we ask X11 to move the window to the new location.
(cherry picked from commit 2d50ea8013e7c1639d570e227b53b037fb567565)
2007-11-21 23:13:48 -08:00
Ben Byer b39edc01a6 Darwin: Swap modifier keys for buttons 2 and 3 -- now Option-click is the middle click
(cherry picked from commit 0aa61293b62aeb69a93b2035d0aef8644343eed3)
2007-11-21 23:12:15 -08:00
Ben Byer 606a8dc73d Darwin: Trap Deactivate messages and release modifiers to avoid "stuck shift lock" (etc) bugs
(cherry picked from commit 2b189a99330eb465fa0d17020fb1db1e38829151)
2007-11-21 23:12:01 -08:00
Ben Byer 4c18ef4331 Darwin: Workaround for a bug where the holding down Command to make a "fake"
button 2 click would actually result in a Command-2 chord.
(I.e. it wasn't releasing Command before clicking the fake button.)
(cherry picked from commit 0d5dd5dffa4c5ce3f54dfe53720a39d524dc8e37)
2007-11-21 23:11:38 -08:00
Jeremy Huddleston 7f2972d47a Darwin: Really add launcher this time 2007-11-21 21:59:59 -08:00
Jeremy Huddleston bcbaf2a0ce Darwin: Dead code removal, Code cleanup, Added launcher
Imported changes from xorg-server-1.2-apple to make master more current wrt
file layout, build system changes, and dead code removal.
2007-11-21 19:52:11 -08:00
Alan Coopersmith a55ec1a9f4 Restore checks for __i386 where needed for Sun compilers on Solaris 2007-11-20 18:31:07 -08:00
Eamon Walsh a541e826c9 Revert "registry: Register WINDOWSWM extension protocol names."
This reverts commit 4c3285c883.

Moving all the names into dix/registry.c
2007-11-20 17:50:26 -05:00
Eamon Walsh 993595430b Revert "registry: Register XF86DRI extension protocol names."
This reverts commit b778672408.

Moving all the names into dix/registry.c
2007-11-20 17:48:46 -05:00
Eamon Walsh 6b73c215c9 Revert "registry: Register XF86VidMode extension protocol names."
This reverts commit 960677e876.

Moving all the names into dix/registry.c
2007-11-20 17:47:30 -05:00
Eamon Walsh 8e2cd7a804 Revert "registry: Register XF86Misc extension protocol names."
This reverts commit 2cd1b32b77.

Moving all the names into dix/registry.c
2007-11-20 17:45:30 -05:00
Eamon Walsh 0356153a58 Revert "registry: Register XF86DGA extension protocol names."
This reverts commit 3815284e89.

Moving all the names into dix/registry.c
2007-11-20 17:43:18 -05:00
Eamon Walsh de93c1e9df Revert "registry: Register DMX extension protocol names."
This reverts commit 32f3f5a1e7.

Moving all the names into dix/registry.c
2007-11-20 17:40:57 -05:00
Eamon Walsh 2d3e0cdf4b Revert "registry: Register APPLEDRI extension protocol names."
This reverts commit 3464b41923.

Moving all the names into dix/registry.c
2007-11-20 17:39:56 -05:00
Eamon Walsh 546d46224e Revert "registry: Register XINERAMA extension protocol names."
This reverts commit b9f5ab98c8.

Moving all the names into dix/registry.c
2007-11-20 17:37:48 -05:00
Eamon Walsh fd2d83d5bf Revert "registry: Register APPLEWM extension protocol names."
This reverts commit eee46b4681.

Moving all the names into dix/registry.c
2007-11-20 17:34:48 -05:00
Dodji Seketeli be0cbe5a33 kaa: update kaaCreatePixmap to support the new usage_int 2007-11-20 15:39:49 +01:00
Eamon Walsh 2d17f47cc7 Merge branch 'master' into XACE-SELINUX
Conflicts:

	hw/xnest/Pixmap.c
	include/dix.h
2007-11-19 18:10:46 -05:00
Eamon Walsh 60be452c2e xace: restore the old SaveScreens function and introduce new API, since the
old version is called from drivers...
2007-11-19 16:59:34 -05:00
Michel Dänzer ea9c63e93b DEFAULT_DPI was undefined here. 2007-11-19 15:53:49 +01:00
Adam Jackson db9ae86353 Bump DEFAULT_DPI to 96.
75 is just nonsense.
2007-11-18 11:57:01 -05:00
Tormod Volden ee2d4626dc Bug #12932: Use DEFAULT_DPI in randr1.2 instead of hardcoded 96. 2007-11-18 11:56:31 -05:00
Adam Jackson d15339a92c Bug #9725: Don't look in root's $HOME for config files, that's just confusing. 2007-11-17 22:12:10 -05:00
Aaron Plattner f797c96845 Save pixmap allocation hints into the PixmapRec. 2007-11-15 12:21:25 -08:00
Adam Jackson 6bc50de021 Simplify system resource range setup.
osRes only existed to get copied into Acc.  Waste of effort.
2007-11-15 15:03:58 -05:00
Adam Jackson e1ff14a924 Delete some dead code in X -configure. 2007-11-15 14:45:49 -05:00
Adam Jackson c67b9c5fc3 Clean up some garbage in driver enumeration. 2007-11-15 14:24:36 -05:00
Adam Jackson 0706e5e790 Eliminate some redundancy in autoconfiguration.
We already synthesize Monitor and Module sections for you, no need to
specify them explicitly in the fake config buffer.
2007-11-15 14:15:09 -05:00
Adam Jackson 2c01a49bf0 Don't sleep(1) at exit on any platform. 2007-11-15 13:32:59 -05:00
Tiago Vignatti 4c9cc82fc4 For some reason "-nozap" appeared twice. Weird. 2007-11-15 01:46:11 -02:00
Adam Jackson cecac79445 Don't sleep(1) at server exit. 2007-11-14 14:46:22 -05:00
Eamon Walsh 1603130236 Merge branch 'master' into XACE-SELINUX
Conflicts:

	Xext/xace.c
	Xext/xace.h
2007-11-14 13:35:50 -05:00
Ben Byer 338c1aedbd formatting fixes 2007-11-08 20:41:47 -08:00
Ben Byer bd269d0d78 Fix for off-by-one error in menu bar height calculation -- props to Nicholas Riley! 2007-11-08 20:39:08 -08:00
Ben Byer b4d1448405 Undo some last-minute breakage in xpr.h 2007-11-08 20:38:02 -08:00
Ben Byer 05d5b9baa0 removed debugging output 2007-11-08 20:37:38 -08:00
Ben Byer 9a8abcfa6d Fixed focus problem (clicking on an X11 window that sits behind
an Aqua window would not always bring it to the top of the stack.
2007-11-08 20:37:18 -08:00
Ben Byer b34d2ffc38 formatting changes. 2007-11-08 20:37:04 -08:00
Ben Byer 50dac9b2cb Fixed Spaces issue, correctly -- dragging an X window from one
Space to another in Expose mode now works.
2007-11-08 20:11:34 -08:00
Ben Byer a6ac900295 formatting cleanup 2007-11-08 20:06:05 -08:00
Ben Byer 67e96be13c Fixed logic error that prevent JIS (Japanese) keyboard layouts from
being detected.
2007-11-08 20:04:44 -08:00
Ben Byer 154fb6417e Initial support for Spaces -- if you use Expose to drag an X11
window to another Space, it will work correctly (as opposed
to just leaving a ghost window).  We accomplish this by listening
for the notification from Xplugin that our window has been moved,
and then we ask X11 to move the window to the new location.
2007-11-08 20:04:03 -08:00
Ben Byer 169f83e366 Disable deferred updates in xp_init to fix performance problems
-- thanks to Eric Gouriou for pointing out the issue
2007-11-08 20:00:55 -08:00
Dodji Seketeli e94ab0b502 sync with 'master' 2007-11-07 19:05:38 +01:00
Michel Dänzer 9bee1c6912 EXA: Disable problematic optimization of dest pixmap migration by default.
Also add some code comments about these optimizations.
2007-11-07 19:01:24 +01:00
Dodji Seketeli 26e1fc7b42 Xephyr: don't use Xv or GL when those are disabled. 2007-11-07 18:48:23 +01:00
Dodji Seketeli 950f9995d1 Xnest: fix lib dependancy to make libtool happy
This fixes an undefined symbol error happening when compiling
        the server with the --disable-xv configure switch.
        Basically, xnest was linking against
        @XSERVER_LIBS@ and @XNEST_LIBS@ and the order of the libraries
        given to the linker at the end of the process was bogus.

        * configure.ac: make XNEST_LIBS contain the $XSERVER_LIBS re-ordered
          in such a way that the linker finds the symbols of all the libs contained
          in $XNEST_LIBS.
        * hw/xnest/Makefile.am: don't link against @XSERVER_LIBS@ anymore because
          XNEST_LIBS contains the right thing.
2007-11-07 18:43:16 +01:00
Dodji Seketeli 868e303630 Xephyr: fix a crash when using xrandr twice
* hw/kdrive/ephyr/ephyr.c:
          (ephyrScreenFini): don't forget to
          free shadowfb data (if necessary) upon server is reset.
2007-11-06 16:24:46 +01:00
Eamon Walsh a52c9b2a59 Merge branch 'master' into XACE-SELINUX
Conflicts:

	dix/dispatch.c
	dix/property.c
	hw/xfree86/common/xf86VidMode.c
	include/xkbsrv.h
	render/glyph.c
	xkb/xkbActions.c
2007-11-05 19:08:36 -05:00
Dodji Seketeli 632c33c5c1 pull 'master' 2007-11-05 17:53:04 +01:00
Daniel Stone dda10c9066 Remove all traces of external RGB database (and Speedo)
Remove all references to an external RGB database (which hasn't been enabled
for a very long time).  Also get rid of some references to Speedo fonts.
2007-11-05 16:28:35 +00:00
Dodji Seketeli 6ff79ea5f7 Xephyr: fix some DRI build breakage 2007-11-05 16:46:49 +01:00
Daniel Stone 733d42065f XFree86: Remove usage of alloca
Replace with heap allocations.
2007-11-05 14:34:42 +00:00
Daniel Stone caf5450634 KDrive: Remove usage of alloca
Replace with heap allocations.
2007-11-05 14:34:42 +00:00
Daniel Stone d57060f167 DMX: Remove usage of alloca
Replace with heap allocations.
2007-11-05 14:34:42 +00:00
Daniel Stone def6f74f2d Xvfb: Remove usage of alloca
Replace with heap allocations
2007-11-05 14:34:42 +00:00
Daniel Stone 259f4c36d5 Xprint: Remove usage of alloca
Replace with heap-based allocations.
2007-11-05 14:34:42 +00:00
Daniel Stone 1c84337af0 Xwin: Remove usage of alloca
Replace with heap allocations.
2007-11-05 14:34:42 +00:00
Ben Byer b1764ddf13 pulling more patches over from xorg-xserver-1.2-apple branch 2007-11-05 05:45:21 -08:00
Ben Byer 10fde62fc8 more CVS tags 2007-11-05 05:45:21 -08:00
Ben Byer 27ecb89250 Removed CVS tags. 2007-11-05 05:45:21 -08:00
Aaron Plattner f2e310132f Add CreatePixmap allocation hints.
These hints allow an acceleration architecture to optimize allocation of certain
types of pixmaps, such as pixmaps that will serve as backing pixmaps for
redirected windows.
2007-11-04 16:11:28 -08:00
Mark Vytlacil 41c3069f7c XFree86: Input: Save/restore errno around SIGIO (bug #10683)
Make sure errno is saved and restored from the SIGIO handler, so errors
from system calls in input handlers don't break the interrupted code.
2007-11-04 16:46:21 +00:00
Ben Byer ff9929ed48 pulling in changes from xorg-server-1.2-apple branch 2007-11-04 05:13:19 -08:00
Matthias Hopf 4d0f35c81d Always duplicate mode name when duplicating a mode.
If the originating mode didn't have a name, we would end up with the name of
the original mode being setup correctly, but with the name of the copy still
being NULL.
2007-11-02 19:27:32 +01:00
Adam Jackson dfb1cce28a Restore build of xf8_16bpp.
It doesn't link against cfb, so don't conditionalize its build against cfb.
2007-11-02 12:51:56 -04:00
Kristian Høgsberg 7a0555e9bb Fix crash in xf86InitOrigins()
In a multihead setup, if only the first screen can be
initialized, but the second screen is mentioned first in the
ServerLayout section, the xf86InitOrigins() function will crash
because the screen referred to in the e.g. "RightOf" part is
non-existent.
2007-11-02 12:06:09 -04:00
Adam Jackson 5b41d4e60b Don't filter modes away during VBE mode list construction.
Pass all VBE modes back up to the driver, on the assumption that it
knows how to filter modes intelligently.
2007-11-02 12:05:58 -04:00
Adam Jackson c095da04fe Fix magic number in fbdevhw
The transformation between fbdev and xfree86 mode timings needs to be
invertible, otherwise Xen and other framebuffers that don't have real
pixel clocks won't initialize.
2007-11-02 12:05:41 -04:00
Adam Jackson f4fe66f676 Disable explicit commenting in Monitor section. 2007-11-02 12:05:22 -04:00
Adam Jackson 22f0e3a8b0 Avoid PS/2 protocol probing for /dev/input/mice
The kernel will always upconvert to ExplorerPS/2 for all readers of
/dev/input/mice, so don't waste time on startup trying to figure
that out.
2007-11-02 12:04:56 -04:00
Adam Jackson b97518666d Fix accidental ABI usage in RANDR 1.2 drivers.
Due to RANDR 1.2, xf86findOptionValue and xf86nameCompare are now ABI.
Make sure they're exported from the server.
2007-11-02 12:04:29 -04:00
Adam Jackson a2ee5fe0c4 Enable MIT-SHM in Xdmx.
The extension is entirely DIX-level, no new DDX changes needed.
2007-11-01 13:47:17 -04:00
Kristian Høgsberg 692654b430 Set up visuals for the existing X visuals.
This makes the root visual a GLX capable visual again and adds a GLX visual
for the COMPOSITE ARGB visual cleanly (as opposed to the hack we had before).
2007-10-29 18:14:18 -04:00
Kristian Høgsberg a5546a99ac Change the GLX module to initialize after COMPOSITE.
This changes the module initalization order so that the GLX module initializes
after COMPOSITE.  The reason for this change is to be able to initialize a
GLX visual config for the COMPOSITE ARGB visual.
2007-10-29 18:14:18 -04:00
Peter Hutterer 8ead41388e xfree86: wrap keyboard devices for XKB.
Call ProcessOtherEvents first, then for all keyboard devices let them be
wrapped by XKB. This way all XI events will go through XKB.

Note that the VCK is still not wrapped, so core events will bypass XKB.

(cherry picked from commit d627061b48)
2007-10-28 17:31:07 +02:00
Daniel Stone 493b83bd09 XFree86: Remove ridiculous SIGIO debugging
YOU PRESSED A KEY
AND AGAIN
YOU RELEASED A KEY
AND AGAIN
YOU PRESSED A KEY
AND AGAIN

... not so much.
2007-10-28 15:50:18 +02:00
Daniel Stone df57ae1639 configure.ac/XFree86: Only build XF86Misc and XF86VidMode when appropriate
Don't build XF86Misc or XF86Vidmode in hw/xfree86/dixmod when it's been
explicitly disabled in configure, or we don't have the proto modules
installed.
2007-10-28 15:46:26 +02:00
Matthias Hopf 27b13eeb56 Nuke superfluous ",", added missing include for xf86i2c.h. 2007-10-26 13:15:07 +02:00
Daniel Stone 6d59bb5709 XFree86 Misc/VidMode: Remove ridiculous debug ErrorFs
When we're building with --enable-debug, don't emit an ErrorF every time a
function gets called.
2007-10-26 09:12:38 +03:00
Eamon Walsh b633d54b94 Merge branch 'master' into XACE-SELINUX
Conflicts:

	GL/glx/glxscreens.c
	hw/xnest/Screen.c
	render/glyph.c
	render/glyphstr.h
	render/render.c
2007-10-25 12:19:30 -04:00
Matthias Hopf 48ca5961ca Prefer configured DisplaySize to probed DDC data, if available.
Based on patch by Hong Liu <hong.liu@intel.com>.
2007-10-24 20:31:51 +02:00
David Nusinow d808d653d1 Define PCI_TXT_IDS_DIR more cleanly 2007-10-22 21:30:04 -04:00
Keith Packard 29e0e18072 Leave hardware-specified preferred modes alone when user preference exists.
Instead of removing the preference bit marking the hardware declared mode
preference, leave it in place and just move the user preferred mode to the
front of the list while marking it with the USERPREF bit which will cause it
to be selected by the initial mode selection code.
2007-10-22 13:38:16 -07:00
David Nusinow be9b0e558d Add a note as to why the text file based PCI ID scheme is present at all 2007-10-21 23:49:14 -04:00
David Nusinow b79b965bd9 Fix compilation issue on FreeBSD (bug #12841)
Hide getline call by checking for glibc. If not, use fgetln instead. Even
though this section is now #ifdef'ed for linux only, this should help make
it more portable if non-linux folks end up wanting it.
2007-10-21 23:46:54 -04:00
David Nusinow 7f5e71fa73 Make PCI text file directory configurable 2007-10-21 23:41:49 -04:00
Eric Anholt 4b14c9a9cd Replace calls to Glyphs screen hook with CompositeGlyphs and remove dead code.
Not all of the DDX/miext Glyphs hook implementations have been removed, but
they should be.
2007-10-19 16:34:54 -07:00
Eric Anholt 7e1cada6c6 Disable debian pci-id-list autoconfig code on non-linux.
It contains static paths, fails to build on non-glibc, and apparently just
exists to support distributions managing binary drivers and open-source drivers
together.  Also restores previous code for fallback to vesa if nothing is
detected.
2007-10-19 15:16:19 -07:00
Matthias Hopf 74e84b8d89 Only issue XF86_APM_CAPABILITY_CHANGED for video change ACPI events (not e.g. brightness etc.). 2007-10-19 17:28:15 +02:00
Matthias Hopf 6fdf3ddfef Fix ids of ACPI events according to ACPI spec. 2007-10-19 17:20:21 +02:00
Kristian Høgsberg 8e3c1dfc48 Introduce a new "GlxVisuals" option that controls which visuals are added.
Right now we default to "all" which gives us a situation much like before,
but when the "typical" option is implemented, we can change the default and
reduce the number of visuals the GLX module bloats the X server with.
2007-10-18 21:03:43 -04:00
Kristian Høgsberg 0af8180683 Drop VisualConfigPriv support from the DRI module.
No DDX driver uses this, and this patch stops the DRI module from
poking around GLX module data structures.
2007-10-18 21:03:43 -04:00
Kristian Høgsberg 7d74690536 Simplify and clean up GLX visual initialization.
Instead of the fragile setup where we filter the modes common between the
DDX generated GLX visuals and the DRI driver generated fbconfigs, we now
just take the fbconfigs returned by the DRI driver to be our supported set.
2007-10-18 21:03:43 -04:00
Eric Anholt ab4bce02a9 Add a quirk for Philips 107P5 which lacks the preferred bit on detailed timing.
Also fix the prefer-large-75 quirk if the prefer-first-detailed bit was set,
though it's not the case for the existing prefer-large-75 consumer.
2007-10-18 15:22:42 -07:00
Eamon Walsh c3f7b86255 Merge branch 'master' into XACE-SELINUX
Conflicts:

	os/access.c
2007-10-17 15:00:54 -04:00
Eamon Walsh baabae623b xselinux: Started reworking extension using new XACE hooks. 2007-10-17 13:54:56 -04:00
Keith Packard feac075952 Make config file preferred mode override monitor preferred mode.
Add a new even-more-preferred bit to each mode which is used to make config
file preferences selected instead of the monitor preferred mode.
2007-10-17 11:42:28 +08:00
Keith Packard f2da10f7bc KDRIVE_LOCAL_LIBS includes some system libraries, not just internal x server libs 2007-10-17 10:51:02 +08:00
Eamon Walsh 4c3285c883 registry: Register WINDOWSWM extension protocol names. 2007-10-15 18:04:47 -04:00
Eamon Walsh 3815284e89 registry: Register XF86DGA extension protocol names. 2007-10-15 17:57:59 -04:00
Eamon Walsh 2cd1b32b77 registry: Register XF86Misc extension protocol names. 2007-10-15 17:37:58 -04:00
Eamon Walsh 960677e876 registry: Register XF86VidMode extension protocol names. 2007-10-15 17:30:00 -04:00
Eamon Walsh b778672408 registry: Register XF86DRI extension protocol names. 2007-10-15 17:15:34 -04:00
Eamon Walsh eee46b4681 registry: Register APPLEWM extension protocol names. 2007-10-15 17:06:22 -04:00
Eamon Walsh b9f5ab98c8 registry: Register XINERAMA extension protocol names. 2007-10-15 16:18:37 -04:00
Eamon Walsh 3464b41923 registry: Register APPLEDRI extension protocol names. 2007-10-15 15:45:12 -04:00
Eamon Walsh 32f3f5a1e7 registry: Register DMX extension protocol names. 2007-10-15 15:32:17 -04:00
Ben Byer 3d4eb17b38 mass change from #ifdef i386 to #ifdef __i386__ to conform to ANSI 2007-10-14 18:07:03 -07:00
Kristian Høgsberg 927757e102 Merge branch 'master' of git://git.freedesktop.org/git/xorg/xserver 2007-10-12 19:28:39 -04:00
Eamon Walsh 526f40434c NULL is not a valid argument to CreatePicture, please use serverClient
as the client argument if no real client is creating the object.
2007-10-12 18:19:44 -04:00
Kristian Høgsberg 781515bb63 Convert GLX module to use screen private indexes like everything else. 2007-10-12 16:18:19 -04:00
David Nusinow eaf0e2a21c Fix another compiler warning 2007-10-11 22:31:24 -04:00
David Nusinow a5089af726 Fix a warning about the control logic in xchomp() 2007-10-11 22:24:31 -04:00
David Nusinow cdf29ff45a Remove some unused variables 2007-10-11 22:23:34 -04:00
David Nusinow 3367091f7f Separate choosing driver from the file-based implementation
This clears the implementation out of the way to prepare for development
of a symbol-based resolution scheme
2007-10-11 22:21:38 -04:00
David Nusinow 3aa41bcb82 Remove obsolete error message define from parser 2007-10-11 21:29:13 -04:00
David Nusinow e3e1222111 Don't bother validating the Device section of the conf file
All the previous tests can now be recovered from if not specified.
2007-10-11 21:27:07 -04:00
David Nusinow 28ef7f5941 Re-enable validation of the screen section of xorg.conf
This also fixes a problem where the server can't find the device section
when it is specified in the screen section.
2007-10-11 20:56:46 -04:00
David Nusinow ea2d4dc468 When there's no xorg.conf, use the video driver autoloading function 2007-10-11 20:26:02 -04:00
Eric Anholt fc092334ac Bug #10304,12784,11603: Add quirks for several physical size issues.
A lot of EDID writers apparently end up stuffing centimeters (like the
maximum image size field) into the detailed timings, instead of millimeters.
Some of them only get it wrong in one direction.  Also, add a quirk to let
us mark the largest 75hz mode as preferred, which will often be used for
EDID 1.0 CRTs.
2007-10-11 16:55:44 -07:00
Eamon Walsh 6adeba1730 dix: Add a new "registry" mechanism for registering string names of things.
Supports protocol requests, events, and errors, and resource names.
Modify XRES extension to use it.
2007-10-11 14:18:59 -04:00
Matthias Hopf 45cc03726b Make mode checking more tolerant like in pre-RandR times. 2007-10-11 18:59:39 +02:00
Eamon Walsh 8f23d40068 xace: move the property deletion hook inside the DeleteProperty function. 2007-10-10 19:56:03 -04:00
Eamon Walsh 7e9e01a4a3 dix: pass a valid ClientPtr to SetFontPath in all cases. 2007-10-10 17:40:22 -04:00
David Nusinow 8825d36a38 Allow the user to not have a screen section
If none is present, a default one will be created. This will be attached
to either the first device section in the xorg.conf (allowing you to
specify something like using EXA without having a screen section) or a
default screen section if none is present in the file.
2007-10-09 22:49:07 -04:00
David Nusinow 8665cf3327 Don't require that the screen explicitly attach the device section
This will allow the screen to not explicitly have a device section. If
this is the case and there is a device section in the xorg.conf, the first
one will be used. If there is no device section at all, a default one will
be created that loads the automatically determined module.
2007-10-09 22:45:15 -04:00
David Nusinow 37898b824f Use the best guess heuristic as a fallback for autoloading
This prevents breaking the current behavior
2007-10-09 22:13:15 -04:00
David Nusinow 847fbbf4d2 Fix autoloading of drivers for pci-rework 2007-10-09 22:13:15 -04:00
David Nusinow 6033d8150b First pass at improved video driver autoloading
This is what we're currently shipping in Debian. Enables the ability for
drivers to ship a text file listing PCI ID's they support, and have the
server read them on startup when no driver is specified. This works, but
isn't the final solution.
2007-10-09 22:13:15 -04:00
David Nusinow 81d7b81146 Load intel instead of i810 when autoconfiguring 2007-10-09 22:13:15 -04:00
Dodji Seketeli ab11bad547 Xephyr: remove a potential crasher
* hw/kdrive/ephyr/hostx.c:
	  (hostx_has_dri): be more defensive.
2007-10-04 13:05:29 +02:00
Dodji Seketeli 06c8977966 Xephyr: better handling of the -nodri option
* hw/kdrive/ephyr/ephyr.c:
          (ephyrInitScreen): try and detect when the host has no
          DRI support. In that case, switch to the -nodri behaviour.
          When in the -nodri case, make sure not to skip glx visual
          initialisation.
2007-10-04 13:01:24 +02:00
Dodji Seketeli ea94f59e9b Xephyr: don't disable glx visual init by default
* hw/kdrive/ephyr/ephyrinit.c:
          (ddxProcessArgument): disabling visual init here
          is bad because it gets disabled even when we want
          to use software GL, leading to Xephyr :1 -nodri
          crashing in mesa.
2007-10-04 12:54:26 +02:00
Dodji Seketeli a7f210e6fc Xephyr: fix a compiler warning 2007-10-04 12:51:08 +02:00
Dodji Seketeli 5d6eac1251 Xephyr: remove an unused variable 2007-10-04 12:47:05 +02:00
Dodji Seketeli 8018733c39 Xephyr: better compilation without GLX
* hw/kdrive/ephyr/ephyrinit.c: protect GLX related code with GLXEXT
	  macro
2007-10-04 12:06:19 +02:00
Dodji Seketeli 4ba76a7e2b Xephyr: port XV/GL stuff of the new multiscreen architecture
We can now launch GL or XV apps in any of the
        Xephyr screens we want.

	* hw/kdrive/ephyr/hostx.c,h:
	 (hostx_get_window):
	 (hostx_create_window): make these functions be screen
	 number aware.
	* hw/kdrive/ephyr/XF86dri.c : fix some compiler warnings.
	* hw/kdrive/ephyr/ephyrdri.c:
	 (ephyrDRIQueryDirectRenderingCapable),
	 (ephyrDRIOpenConnection),
	 (ephyrDRIAuthConnection),
	 (ephyrDRICloseConnection),
	 (ephyrDRIGetClientDriverName),
	 (ephyrDRICreateContext),
	 (ephyrDRIDestroyContext),
	 (ephyrDRICreateDrawable),
	 (ephyrDRIGetDrawableInfo),
	 (ephyrDRIGetDeviceInfo): in all those functions, don't forward
	 the screen number we receive - from the client - to the host X.
	 We (Xephyr) are always targetting the same X display screen, which is
	 the one Xephyr got launched against. So we enforce that in the code.
	* hw/kdrive/ephyr/ephyrdriext.c:
	 (EphyrMirrorHostVisuals): make this duplicate the visuals of the host X
	  default screen into a given Xephyr screen. This way we have a chance
	  to update the visuals of all Xephyr screen to make them mirror those
	  of the host X.
	 (many other places): specify screen number where required by the api
	 change in hostx.h.
	* hw/kdrive/ephyr/ephyrglxext.c: specify screen number where required
	 by the api change in hostx.h
	* hw/kdrive/ephyr/ephyrhostglx.c: don't forward the screen number we
	  receive - from the client - to the host X.
	  We (Xephyr) are always targetting the same
	  X display screen, which is
	 the one Xephyr got launched against. So we enforce that in the code.
	* hw/kdrive/ephyr/ephyrhostvideo.c,h: take in account the screen number received
	  from the client app. This is useful to know on which Xephyr screen we
	  need to display video stuff.
	* hw/kdrive/ephyr/ephyrvideo.c: update this to reflect the API change
	  in hw/kdrive/ephyr/ephyrhostvideo.h.
	  (ephyrSetPortAttribute): when parameters are not valid
	   - they exceed their validity range - send them to the host anyway
	   and do not return an error to clients.
	  Some host expose buggy validity range, so rejecting client for that
	  is too harsh.
2007-10-03 13:03:34 +02:00
Dodji Seketeli dcb4db1bf5 Xephyr: glx fixlet
* hw/kdrive/ephyr/ephyrhostglx.c:
	  (ephyrHostGLXQueryVersion): properly query
	  the host for its gxl version.
2007-10-02 16:55:18 +02:00
Dodji Seketeli 6a435b0000 Xephyr: check presence of extensions in host X
* hw/kdrive/ephyr/hostx.c,h:
	  (hostx_has_xshape),
	  (hostx_has_glx),
	  (hostx_has_dri): added these new entry points
	* hw/kdrive/ephyr/ephyrdriext.c:
	  (ephyrDRIExtensionInit):
	  check presence of DRI and XShape extensions before
	  trying to use them.
	* hw/kdrive/ephyr/ephyrglxext.c:
	  (ephyrHijackGLXExtension):
	  check presence of glx extension before we use it.
2007-10-02 16:55:18 +02:00
Dodji Seketeli 2b217fc055 Xephyr: cleanup XF86dri.c a bit 2007-10-02 16:55:18 +02:00
Dodji Seketeli f731b9da7d Xephyr: add -nodri and -noxv switches.
* hw/kdrive/ephyr/ephyr.c,ephyrinit.c::
	  add -nodri and -noxv to disable either DRI or XV.
	  When -nodri, mesa GL (non acceleretated) works.
2007-10-02 16:55:18 +02:00
Dodji Seketeli 5067439138 Kdrive: use fbcmap_mi.c instead of fbcmap.c
* hw/kdrive/src/Makefile.am: use fb/fbcmap_mi.c
	  and not fb/fbcmap.c. This allows kdrive to take advantage of
	  extensions redefining the entry points of  micmap.c stuff.
	  For instance it allows Xephyr to have a working GL, which is not
	  possible otherwise, because GL redefines mInitVisualsProc
	  to initialise its visuals.
2007-10-02 16:55:17 +02:00
Dodji Seketeli ffe9ce6a84 Xephyr: fix a clipping issue xephyr-dri
* hw/kdrive/ephyr/ephyrdri.c:
	  (ephyrDRIGetDrawableInfo): force the back clipping rects
	  to equal the front clipping rects.
	* hw/kdrive/ephyr/ephyrdriext.c:
	  (ProcXF86DRIGetDrawableInfo): properly overclip the clipping rects we
	   got from the client. This bug fixes a clipping rect that was too
	   small in height, basically. Also fix a possible mem corruption.
	* hw/kdrive/ephyr/hostx.c:
	  (hostx_set_window_geometry): remove a useless XSync
2007-10-02 16:55:17 +02:00
Dodji Seketeli 7978272661 Xephyr: properly clip GL drawables in Xephyr 2007-10-02 16:55:17 +02:00
Dodji Seketeli 3816d64e50 Xephyr: oops, forgot to add ephyrdriext.h 2007-10-02 16:55:17 +02:00
Dodji Seketeli cf58781eee Xephyr: make accelerated glxgears work in Xephyr
* hw/kdrive/ephyr/ephyr.c:
	 (ephyrInitialize): cleanup ephyrDRI extension init.
	 remove functions that belongs in ephyrdriext.c .
	* hw/kdrive/ephyr/ephyrdri.c:
	 (ephyrDRICreateDrawable): create the drawable on the host X peer
	  window, not on the host xephyr main window.
	 (ephyrDRIGetDrawableInfo): get drawable info of the host X peer
	  window.
	* hw/kdrive/ephyr/ephyrdriext.c: make ephyr DRI extention wrap
	  a bunch of screen ops so that it can update the host X peer
	  window whenever DRI bound drawable are moved in Xephyr.
	  Also code the building blocks of the management of the
	  host X window peer.
	* hw/kdrive/ephyr/hostx.c,h:
	  (hostx_create_window): added this new entry point
	  (hostx_destroy_window): ditto
	  ()hostx_set_window_geometry): ditto
2007-10-02 16:55:16 +02:00
Dodji Seketeli 6d1e44d3d5 Xephyr: fix a host X hang.
* hw/kdrive/ephyr/ephyrdri.c:
	  (ephyrDRIGetDrawableInfo): quickly hook
	  this into getting the drawable info from the host
	  X server. For the time being, this only gets the drawable info
	  of the Xephyr main window in the host. It should really get
	  the info of a the peer drawable in the host X. So there should be a
	  peer drawable to begin with.
	* hw/kdrive/ephyr/ephyrdriext.c:
	  (ProcXF86DRIGetDrawableInfo): some cleanups. Properly get the
          the drawable info otherwise there is a host X hang.
	* hw/kdrive/ephyr/ephyrhostglx.c: do not
	  (ephyrHostGLXQueryVersion): do not use C bindings of the glx protocol
	   calls. Some of those actually access DRI context directly, resulting
	   in the context having three clients. Instead all XF86DRI proto
	   fowarding request should be coded by hand and only forward the
	   protocol requests
2007-10-02 16:55:16 +02:00
Dodji Seketeli a39b57d2f7 Xephyr: add more logging to GLX forwarding
* hw/kdrive/ephyr/ephyrhostglx.c: added more logging.
2007-10-02 16:55:16 +02:00
Dodji Seketeli 9e192d2118 Xephyr: better error handling in GLX forwarding
* hw/kdrive/ephyr/ephyrglxext.c:
	  fixed various logging functions
	  (ephyrGLXGetStringReal): make sure all the string is sent to clients
	  including the ending zero.
	* hw/kdrive/ephyr/ephyrhostglx.c:
	  (ephyrHostGLXGetStringFromServer): better error handling.
	  (ephyrHostGLXSendClientInfo): ditto.
	  (ephyrHostGLXMakeCurrent): ditto
2007-10-02 16:55:16 +02:00
Dodji Seketeli 4dd4be99df Xephyr: Make glxinfo work on the ATI R200 free driver.
* hw/kdrive/ephyr/ephyr.c:
	  (EphyrDuplicateVisual): when duplicating the
	  visual, copy the color component masks and the class
	  from the hostX
	  (EphyrMirrorHostVisuals): don't mix blue and green mask.
	* hw/kdrive/ephyr/ephyrdri.c: add more logs.
	  (ephyrDRICreateDrawable): actually implement this.
	  for the moment it creates a DRI drawable for the hostX window,
	  no matter what drawable this call was issued for.
	  (ephyrDRIGetDrawableInfo): actually implemented this.
	  for the moment the drawable info queried for its attrs is the
	  Xephyr main main window.
	* hw/kdrive/ephyr/ephyrdriext.c:
	  (ProcXF86DRIGetDrawableInfo): properly hook this dispatch
	  function to the ephyrDRIGetDrawableInfo() function.
	* hw/kdrive/ephyr/ephyrglxext.c: add a bunch of GLX implementation hooks
	  here. Hijack some of the xserver GLX hooks with them. Still need to
	  properly support byteswapped clients though.
	* hw/kdrive/ephyr/ephyrhostglx.c,h: actually implemented the protocol
	  level forwarding functions used by the GLX entr points in
	  ephyrglxext.c. Here as well, there are a bunch of them, but we are
	  far from having implemented all the GLX calls.
	* hw/kdrive/ephyr/hostx.c,h:
	  (hostx_get_window_attributes): added this new entry point
	  (hostx_allocate_resource_id_peer): added this to keep track of
	   resource IDs peers: one member of the peer is in Xephyr, the other
	   is in host X.
	  (hostx_get_resource_id_peer): ditto.
2007-10-02 16:55:16 +02:00
Dodji Seketeli 024abe825c Xephyr: add logging in the DRI extension 2007-10-02 16:55:15 +02:00
Dodji Seketeli 1dd589410c mirror the visuals of the host X at startup.
* hw/kdrive/ephyr/ephyr.c: make Xephyr mirror
	  the visuals of the host X upon startup. This
	  is important for GLX client apps.
	* hw/kdrive/ephyr/hostx.c,h: add a hostx_get_visuals_info()
	  to get the visuals of the host X.
2007-10-02 16:55:15 +02:00
Dodji Seketeli 26da625055 proxy the glXGetFBConfigSGIX call
* hw/kdrive/ephyr/ephyrglxext.c:
	  (ephyrGLXGetFBConfigsSGIX): proxy the GLXGetFBConfigsSGIX call.
	  It is a vendor extension to get the visual configs as a list of
	  name/value pairs.
	  (ephyrHijackGLXExtension): hijack the VendorPriv_dispatch_info
	  dispatch table to register our implementation of GLXGetFBConfigsSGIX
	  (ephyrGLXGetFBConfigsSGIXReal): added this where the real
	   implementation of GLXGetFBConfigsSGIX is. It support bytes swapping.
	  (ephyrGLXGetFBConfigsSGIX,ephyrGLXGetFBConfigsSGIXSwap): these are
	  the dispatch entry points. They just call
	  ephyrGLXGetFBConfigsSGIXReal.
	* hw/kdrive/ephyr/ephyrhostglx.c,h: reorganize the proxies to get
	  visual params from the host so that they clearly support the different
	  methods of doing so.
2007-10-02 16:55:15 +02:00
Dodji Seketeli 5af73f98c4 EPHYR: Add an experiment proto proxy extension.
* hw/kdrive/ephyr/Makefile.am: add the proxy extension to
	  ephyr. The proxy extension is an experimental extension that
	  forwards protocol packets targeted at a given extension to the
	  host X.
	* hw/kdrive/ephyr/ephyr.c: init proxy ext.
	* hw/kdrive/ephyr/ephyrhostproxy.c,h: added this new file as part of the
	  proxy extension.
	* hw/kdrive/ephyr/ephyrproxyext.c,h: ditto
	* hw/kdrive/ephyr/hostx.c: add the hostx_get_get_extension_info() entry
	  point.
2007-10-02 16:55:15 +02:00
Dodji Seketeli c06fa924b4 XEPHYR: more GLX/DRI proxying work.
* hw/kdrive/ephyr/XF86dri.c: re format this correctly.
	  Make function decls honour the Ansi-C standard.
	* hw/kdrive/ephyr/ephyr.c: protect glx/dri related
	  extension initialisation with the XEPHYR_DRI
	  macro. Initialize the GLX ext hijacking
	  at startup.
	* hw/kdrive/ephyr/ephyrdri.c: add more logging to ease debugging
	* hw/kdrive/ephyr/ephyrdriext.c: ditto. reformat.
	* hw/kdrive/ephyr/ephyrglxext.c,h: add this extension to
	  proxy GLX requests to the host X. started to proxy those nedded to
	  make glxinfo work with fglrx. Not yet finished.
	* hw/kdrive/ephyr/ephyrhostglx.c,h: put here the actual
	  Xlib code used to hit the host X server because Xlib stuff cannot be
	  mixed with xserver internal code, otherwise compilation erros due to
	  type clashes happen. So no Xlib type should be exported by the
	  entrypoints defined here.
2007-10-02 16:55:15 +02:00
Dodji Seketeli 0b85451449 Implement ReputImage and StopVideo
* hw/kdrive/ephyr/ephyrhostvideo.c/h:
	  (ephyrHostXVStopVideo): add this entry point.
	* hw/kdrive/ephyr/ephyrvideo.c:
	  Basically add ReputImage and StopVideo implementations.
	  Now, when other windows obscur the video window, the reclipping
	  seems to be well handled using StopVideo and ReputImage.
	  To do this, I was obliged to save the frame in PutImage, so
	  that I could resend it un ReputImage.
2007-10-02 16:55:14 +02:00
Dodji Seketeli 810dc55866 Ephyr-Xv: add a new line to a log
* hw/kdrive/ephyr/ephyrvideo.c:
	  (ephyrQueryImageAttributes): add newline to log.
2007-10-02 16:55:14 +02:00
Dodji Seketeli 47e6dff89e Xephyr-Xv: fix a crash when host X support several ports
* hw/kdrive/ephyr/ephyrvideo.c:
	  (ephyrXVPrivQueryHostAdaptors): properly set
	  port private luke. This fixes a crash when
	  the host Xv supports multiple ports.
	  Make sure number of ports cannot be zero.
2007-10-02 16:55:14 +02:00
Dodji Seketeli a38ad562a6 make xephyr talk DRI protocol with hostX
* configure.ac,include/dix-config.h.in: define the XEPHYR_DRI macro.
	  define it when --enable-xephyr and --enable-dri are both turned on.
	* hw/kdrive/ephyr/XF86dri.c: copy this from mesa source to enable
	  Xephyr to talk DRI protocol the host X. In mesa, this is used by libGL.so to
	  talk DRI protocol with the server.
	* hw/kdrive/ephyr/ephyr.c: finally initialise the DRI extension
	  in the ephyrInitScreen() function.
	* hw/kdrive/ephyr/ephyrdri.c,ephyrdriext.c: safeguard the compilation
	  using the XEPHYR_DRI macro.
2007-10-02 16:55:14 +02:00
Dodji Seketeli e4239a4807 Initial dri forwarding big bricks.
* hw/kdrive/ephyr/ephyrdriext.c: added this to implement a DRI extension
	  into Xephyr. Normally the DRI extension is only present in the
	  xfree86 server, but I have ported it to Xephyr. The extension calls
	  functions that declared/defined in ephyrdri.h ephyrdri.c that
	  forwards the DRI calls to the host X. It does not work yet, as this
	  entry is just to put the big bricks in place.
	* hw/kdrive/ephyr/ephyrdri.c,h: declaration & definition of the
	  DRI client API that would hit the hostX server.
	* hw/kdrive/ephyr/GL/internal/dri_interface.h: added this, otherwise
	  inclusion of /usr/include/X11/dri/xf86dri.h won't compile
2007-10-02 16:55:14 +02:00
Dodji Seketeli e01d3dd98d Support clipping region in PutImage.
* hw/kdrive/ephyr/ephyrhostvideo.c,h:
	  (ephyrHostXVPutImage): make this support clipping region.
	  The clipping region is propagated to host using XSetClipRectangles.
	  This changes the API of ephyrHostXVPutImage.
	* hw/kdrive/ephyr/ephyrvideo.c:
	  (ephyrPutImage): propagate the clipping region to the new
	  ephyrHostXVPutImage() entry point.
2007-10-02 16:55:14 +02:00
Dodji Seketeli 39d3895469 make EphyrXVPriv be a singleton
* hw/kdrive/ephyr/ephyrvideo.c:
	  (ephyrInitVideo) make the EphyrXVPriv object be a
	   singleton instance, otherwise a new object is created at each
	   generation.
2007-10-02 16:55:14 +02:00
Dodji Seketeli 4ed083095a add [Get/Put]Video and [Get/Put]Still support
* hw/kdrive/ephyr/ephyrhostvideo.c,h:
	  (ephyrHostXVAdaptorHasXXX): fix these.
	  (ephyrHostXVAdaptorHasGetVideo): added this
	  (ephyrHostXVAdaptorHasGetStill): ditto
	  (ephyrHostXVPutVideo): added this
	  (ephyrHostXVGetVideo): ditto
	  (ephyrHostXVPutStill): ditto
	  (ephyrHostXVGetStill): ditto
	* hw/kdrive/ephyr/ephyrvideo.c:
	  (ephyrPutVideo): implement this
	  (ephyrGetVideo): ditto
	  (ephyrPutStill): ditto
	  (ephyrGetStill): ditto
	  (ephyrXVPrivSetAdaptorsHooks): advertise GetVideo and GetStill
	  when the host X supports it.
2007-10-02 16:55:14 +02:00
Dodji Seketeli 6f7961bc21 advertise only the hooks implemented by host X
* hw/kdrive/ephyr/ephyrhostvideo.c,h:
          (ephyrHostXVAdaptorHasPutVideo): detect if
          host X has the PutVideo call.
          (ephyrHostXVAdaptorHasPutStill): detect if
          host X has the PutStill call
          (ephyrHostXVAdaptorHasPutImage): detect if
          host X has the PutImage call
        * hw/kdrive/ephyr/ephyrvideo.c:
          (ephyrXVPrivQueryHostAdaptors): make sure to create
          atoms for attribute names otherwise subsequent
          calls to get/set attribute from clients won't work.
          (ephyrXVPrivSetAdaptorsHooks): don't hardwire advertising
          of the PutImage call. Instead, advertise the calls advertised
          by the host.
2007-10-02 16:55:14 +02:00
Dodji Seketeli 1de89239bd don't crash when hostX reports an error.
* hw/kdrive/ephyr/ephyrhostvideo.c,h:
          (ephyrHostXVLogXErrorEvent): add this to
          log X error events. Heavily copied from libx11
          (ephyrHostXVErrorHandler): new x error handler that
          logs the error but does not exits.
          (ephyrHostXVInit): add this to be called at the beginning
          of xvideo lifetime. It sets an xerror handler that does not
          exit.
        * hw/kdrive/ephyr/ephyrvideo.c:
          (ephyrXVPrivIsAttrValueValid): this validates an attribute
          value.
          (ephyrSetPortAttribute): before setting an attribute,
          validate the new value so that we don't send a buggy
          request to host X.
        * hw/kdrive/ephyr/*.c: fix case in ephyrvideo code.
        * hw/kdrive/ephyr/ephyr.c: fix a typo
2007-10-02 16:55:13 +02:00
Dodji Seketeli 207714b60d first implementation of putimage
* hw/kdrive/ephyr/ephyrhostvideo.c,h:
          (EphyrHostXVPutImage): first implementation. does not
          support clipping regions yet.
        * hw/kdrive/ephyr/ephyrvideo.c:
          (DoSimpleClip): clip using a clipping box. Does not
           support regions yet.
          (EphyrPutImage): first implementation.
           Uses a simple clipping rectangle, no region yet.
        * hw/kdrive/ephyr/hostx.c:
          (hostx_get_window): added this to get the main
          window of the host x.
2007-10-02 16:55:13 +02:00
Dodji Seketeli aa478e09e2 make properties setting/query code work and hopefully complete.
* hw/kdrive/ephyr/ephyrhostvideo.c,h:
         (EphyrHostXVQueryImageAttributes): add this call. It calls
         XvQueryBestSize xserver entry point. It uses the protocol
         level machinery because Xvlib does not expose that entry point
         as a C function.
         (EphyrHostXVQueryBestSize): added this wrapper around XvQueryBestSize().
         (EphyrHostGetAtom, EphyrHostGetAtomName): added this to get
          an atom or atom name from the host server
        * hw/kdrive/ephyr/ephyrvideo.c:
          (EphyrSetPortAttribute): convert the atom into an host server
          server atom before attacking the host server with it, because in
          in its current form, the input atom is only valid in xephyr.
          This fix makes this call work.
          (EphyrGetPortAttribute): ditto.
          (EphyrQueryBestSize): implement this.
          (EphyrQueryImageAttributes): implement this.
2007-10-02 16:55:13 +02:00
Dodji Seketeli 24c837c0be implement setportattribute and getportattribute calls 2007-10-02 16:55:13 +02:00