Commit Graph

2578 Commits

Author SHA1 Message Date
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
Dodji Seketeli b8cd313be4 make xvinfo work
* hw/kdrive/ephyr/ephyrhostvideo.c:
          (EphyrHostXVAdaptorGetVideoFormats): properly get visual class instead of
            returning the visual id.
          (EphyrHostXVQueryEncodings): properly copy the fields because simple casting does
            truncate some fields.
           (EphyrHostAttributesDelete): XFree the whole array instead of trying to free invidial members.
        * hw/kdrive/ephyr/ephyrvideo.c:
          (ephyrInitVideo): fix a typo
          (EphyrXVPrivQueryHostAdaptors): set XvWindowMask mask to adaptors type.
           use host adaptor name. Don't forget to set nImages field.
          (EphyrXVPrivRegisterAdaptors): report an error when KdXVScreenInit() fails.
2007-10-02 16:55:13 +02:00
Dodji Seketeli aa2fae7b75 misc fixes.
*(EphyrHostXVQueryAdaptors): return the queried adaptors list
        * (EphyrHostXVQueryPortAttributes): return port attributes number
2007-10-02 16:55:13 +02:00
Dodji Seketeli 2bf7f3c223 link and init xv 2007-10-02 16:55:13 +02:00