Commit Graph

613 Commits

Author SHA1 Message Date
David Nusinow f028e245a7 Bug #10016: Implement WM_CLASS hints in Xephyr. 2008-03-24 16:06:33 -04:00
Dodji Seketeli cdadd2ff9b [Xephyr/DRI] correctly route motion events targeted at GL drawable 2008-03-18 14:02:41 +01:00
Donnie Berkholz aa231f28d5 Xephyr: Build fix: Port across XF86dri.c changes from Mesa. 2008-03-14 18:43:41 -07:00
Donnie Berkholz a955c3b587 Xephyr: Distribute ephyrdriext.h in tarballs. 2008-03-14 18:43:40 -07:00
Dodji Seketeli d74b0327e8 [Xephyr/GL] unbreak the build
Don't touch Xephyr DRI stuff when not compiling in a DRI environment.
2008-02-27 09:48:53 +01:00
Adam Jackson 69f7826767 Match Xephyr DRI definitions to the ones in xf86dri.h 2008-02-22 16:04:35 -05:00
Adam Jackson 24bebdded4 fbFillRegionTiled() is now dead code.
Only ever called from the old PaintWindow* screen hooks, but those are
gone now.  As a pleasant side effect, fb loses its #ifdef PANORAMIX.
2008-02-22 15:22:38 -05:00
Dodji Seketeli c14fd2a5cb [Xephyr/GL] properly route expose event on GL drawables
When an expose event happens on an host GL window paired with an
internal drawable, route that expose event to the clients listening
to the expose event on the internal drawable.
2008-02-21 15:33:02 +01:00
Dodji Seketeli 437c78ef9f [Xephyr/GL] don't crash when the host returns a NULL server string 2008-02-21 15:29:27 +01:00
Adam Jackson f3b3b37ec6 Use strerror instead of errno values in user strings. 2008-02-14 07:52:02 +11:00
Daniel Stone e85130c85f Xephyr: One-time keyboard leak fix
Don't leak the originally-allocated keysym map.
2008-01-17 18:43:06 +11:00
Tiago Vignatti 7a0d16ef0a Removed some warnings. 2008-01-15 03:27:16 -02:00
Tiago Vignatti 315d6a2b1d Fix Xephyr compilation without GLX. 2008-01-15 02:59:56 -02:00
Richard Purdie c31aead0fe [Kdrive] make XCalibrate 'orientation aware' 2008-01-08 12:31:47 +01:00
Daniel Stone 941058f8da KDrive: Xephyr: Don't leak screen damage structure 2007-12-28 15:51:36 +02:00
Otavio Salvador 8673033700 kdrive/ati: use operating system input devices 2007-12-14 13:15:27 +02:00
Otavio Salvador e110255501 kdrive/vesa: use operating system input devices 2007-12-14 13:15:27 +02:00
Otavio Salvador 863ba390e9 kdrive/fbdev: use operating system input devices 2007-12-14 13:15:27 +02:00
Eamon Walsh 1c1a4bc970 devPrivates rework: more cleanup from previous merge operation. 2007-12-13 19:51:40 -05: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
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
Tiago Vignatti 4c9cc82fc4 For some reason "-nozap" appeared twice. Weird. 2007-11-15 01:46:11 -02: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
Dodji Seketeli 26e1fc7b42 Xephyr: don't use Xv or GL when those are disabled. 2007-11-07 18:48:23 +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
Dodji Seketeli 6ff79ea5f7 Xephyr: fix some DRI build breakage 2007-11-05 16:46:49 +01:00
Daniel Stone caf5450634 KDrive: Remove usage of alloca
Replace with heap allocations.
2007-11-05 14:34:42 +00: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
Eamon Walsh c3f7b86255 Merge branch 'master' into XACE-SELINUX
Conflicts:

	os/access.c
2007-10-17 15:00:54 -04: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
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