summaryrefslogtreecommitdiff
path: root/hw/kdrive/ephyr/ephyr.c
AgeCommit message (Collapse)AuthorFilesLines
2008-05-12Delete all DDXes besides xprint.Adam Jackson1-1166/+0
2008-05-04Xephyr: Handle depth 30 and reject higher depths rather than crashing.Aaron Plattner1-1/+12
2008-04-23xephyr: XEPHYR_DRI is identical to XF86DRIGeorge Sapountzis1-9/+9
2008-03-18[Xephyr/DRI] correctly route motion events targeted at GL drawableDodji Seketeli1-6/+28
2008-02-27[Xephyr/GL] unbreak the buildDodji Seketeli1-0/+4
Don't touch Xephyr DRI stuff when not compiling in a DRI environment.
2008-02-21[Xephyr/GL] properly route expose event on GL drawablesDodji Seketeli1-3/+48
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-01-17Xephyr: One-time keyboard leak fixDaniel Stone1-0/+1
Don't leak the originally-allocated keysym map.
2008-01-15Fix Xephyr compilation without GLX.Tiago Vignatti1-0/+2
2007-12-28KDrive: Xephyr: Don't leak screen damage structureDaniel Stone1-0/+1
2007-11-14Merge branch 'master' into XACE-SELINUXEamon Walsh1-2/+4
Conflicts: Xext/xace.c Xext/xace.h
2007-11-07Xephyr: don't use Xv or GL when those are disabled.Dodji Seketeli1-2/+0
2007-11-06Xephyr: fix a crash when using xrandr twiceDodji Seketeli1-0/+4
* hw/kdrive/ephyr/ephyr.c: (ephyrScreenFini): don't forget to free shadowfb data (if necessary) upon server is reset.
2007-10-17Merge branch 'master' into XACE-SELINUXEamon Walsh1-58/+171
Conflicts: os/access.c
2007-10-04Xephyr: better handling of the -nodri optionDodji Seketeli1-0/+15
* 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-02Xephyr: add -nodri and -noxv switches.Dodji Seketeli1-6/+13
* 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-02Xephyr: make accelerated glxgears work in XephyrDodji Seketeli1-172/+2
* 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-02Xephyr: Make glxinfo work on the ATI R200 free driver.Dodji Seketeli1-1/+5
* 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-02mirror the visuals of the host X at startup.Dodji Seketeli1-0/+164
* 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-02EPHYR: Add an experiment proto proxy extension.Dodji Seketeli1-0/+5
* 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-02XEPHYR: more GLX/DRI proxying work.Dodji Seketeli1-0/+8
* 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-02make xephyr talk DRI protocol with hostXDodji Seketeli1-0/+5
* 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-02don't crash when hostX reports an error.Dodji Seketeli1-1/+1
* 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-02link and init xvDodji Seketeli1-19/+22
2007-10-02Xephyr: add "multiscreen" suportAndrew Christan1-46/+118
* This patch adds multiscreen support to Xephyr. For instance, the command line : "Xephyr :4 -ac -screen 320x240 -screen 640x480" will launch with two "screens" - namely two main windows. The first main window represents a screen that has the number :4.0, with a geometry of 320x240 pixels, and the second one represents a screen that has the number :4.1 with a geometry of 640x480. The command line: "DISPLAY=:4.1 xclock" will launch the xclock program on the second screen, for intance. * this patch was edited by Dodji Seketeli <dodji@openedhand.com> for: - better style compliance with the rest of the Xephyr code - make sure Xephyr could be launched with no -screen option. By default that creates a default screen of 640x480 pixel like before - display full titles on the windows - with insctructions to grab keyboard and mouse - like before.
2007-09-28xace: add hooks + new access codes: XKB extension.Eamon Walsh1-1/+1
Removes "LookupKeyboardDevice" and "LookupPointerDevice" in favor of inputInfo.keyboard and inputInfo.pointer, respectively; all use cases are non-XI compliant anyway.
2007-02-15kdrive/ephyr: free screen structDaniel Stone1-0/+2
Free screen->driver on screenFini, instead of just leaking it.
2007-02-02Fix bus error on startup in 64-bit XephyrAlan Coopersmith1-14/+9
hostx_get_visual_masks takes unsigned long * arguments, but was being passed pointers to CARD32's.
2006-08-07xephyr: aid input debuggingDaniel Stone1-0/+2
Add the 'ephyr' mouse and keyboard drivers to the driver list so we can re-add devices. Set the names properly in Ephyr{Keyboard,Mouse}Init, not in InitInput.
2006-08-07ephyr: cleanupDaniel Stone1-1/+0
Remove extraneous KdAddPointerDriver call.
2006-07-21xephyr: load keysyms at init, not enableDaniel Stone1-14/+11
Load keysyms at init time, not enable, so we don't get the wrong map width.
2006-07-21xephyr: fix keymap, pointer; dix: fix multiple axesDaniel Stone1-3/+2
Initialise our axes properly in the DIX, and make sure we don't unnecessarily clip maxval when it's not set. Fix keymap copying in Xephyr (to some degree: it's still broken), and set nAxes and nButtons properly.
2006-07-21new KDrive input world orderDaniel Stone1-34/+114
Convert KDrive to GPE/GKE interface. Add first-class drivers and enumerate every device separately through Xi, instead of lamely attempting to aggregate them. Add XKB support to the Linux keyboard driver. Add 'thumb button' support to the tslib driver. Rejig InitInput, so each DDX has to add a list of drivers it supports. Support NewInputDeviceRequest, et al.
2006-07-08Add support to Xephyr for simulating 8bit grayscale.Matthew Allum1-7/+15
2006-03-10If fakexa is enabled, create a larger buffer in the Ximage, but keep theEric Anholt1-4/+12
same width/height for front-buffer drawing. The fakexa code then uses this extra space for offscreen pixmaps. Note that this tones down the absurdity of fakexa's offscreen pixmap alignment requirements (odd alignment is too weird, so stick with "24", which is still strange but exists out there). It also fixes a couple of bugs in the fakexa implementation revealed by using offscreen pixmaps.
2005-12-27Build fixes: XSERVER_LIBS -> KDRIVE_LIBS, config.h -> kdrive-config.hAdam Jackson1-1/+1
2005-08-05Make Xephyr work without shadow fbMatthew Allum1-312/+406
2005-06-30Another Xephyr focus/modifier fixMatthew Allum1-5/+7
2005-06-23Fix issues with focus in and modifiers from host confusing XephrMatthew Allum1-2/+64
2005-06-09TSLib fixes. Add fullscreen support to ephyrMatthew Allum1-1/+2
2004-11-24XEphyr -parent switch fixesMatthew Allum1-1/+1
2004-11-09Xephyr improvementsMatthew Allum1-1/+0
2004-11-08Add support to Xephyr for lower depths than hostsMatthew Allum1-7/+49
2004-09-08cursor fixesMatthew Allum1-6/+2
2004-09-01'-dpi' fixes for XephyrMatthew Allum1-9/+11
2004-08-31Added ephyr server sourcesMatthew Allum1-0/+677